From 344816a5d82d1b27c46c2a3c9ef047dcd83ccf1b Mon Sep 17 00:00:00 2001 From: wehub-resource-sync Date: Mon, 13 Jul 2026 12:35:17 +0800 Subject: [PATCH] chore: import upstream snapshot with attribution --- .gitignore | 18 + LICENSE | 201 ++ README.md | 77 + README.wehub.md | 7 + augmentation/spec_stretch.py | 92 + basics/base_augmentation.py | 28 + basics/base_binarizer.py | 386 +++ basics/base_dataset.py | 58 + basics/base_exporter.py | 86 + basics/base_module.py | 18 + basics/base_pe.py | 7 + basics/base_svs_infer.py | 136 + basics/base_task.py | 514 ++++ basics/base_vocoder.py | 23 + checkpoints/.gitkeep | 0 configs/acoustic.yaml | 144 ++ configs/base.yaml | 94 + configs/templates/config_acoustic.yaml | 128 + configs/templates/config_duration.yaml | 139 + configs/templates/config_variance.yaml | 142 + configs/variance.yaml | 152 ++ data/.gitkeep | 0 deployment/.gitignore | 7 + deployment/__init__.py | 0 deployment/benchmarks/infer_acoustic.py | 32 + deployment/benchmarks/infer_nsf_hifigan.py | 16 + deployment/exporters/__init__.py | 3 + deployment/exporters/acoustic_exporter.py | 424 +++ deployment/exporters/nsf_hifigan_exporter.py | 127 + deployment/exporters/variance_exporter.py | 808 ++++++ deployment/modules/__init__.py | 0 deployment/modules/diffusion.py | 220 ++ deployment/modules/fastspeech2.py | 235 ++ deployment/modules/nsf_hifigan.py | 16 + deployment/modules/rectified_flow.py | 123 + deployment/modules/toplevel.py | 413 +++ dictionaries/.gitignore | 3 + dictionaries/opencpop-extension.txt | 601 +++++ docs/BestPractices.md | 651 +++++ docs/ConfigurationSchemas.md | 2274 +++++++++++++++++ docs/GettingStarted.md | 152 ++ docs/resources/arch-acoustic.drawio | 179 ++ docs/resources/arch-acoustic.jpg | Bin 0 -> 115087 bytes docs/resources/arch-overview.drawio | 123 + docs/resources/arch-overview.jpg | Bin 0 -> 74626 bytes docs/resources/arch-variance.drawio | 399 +++ docs/resources/arch-variance.jpg | Bin 0 -> 230944 bytes docs/resources/phoneme-distribution.jpg | Bin 0 -> 529805 bytes inference/dpm_solver_pytorch.py | 1305 ++++++++++ inference/ds_acoustic.py | 271 ++ inference/ds_variance.py | 468 ++++ inference/uni_pc.py | 731 ++++++ inference/val_nsf_hifigan.py | 78 + modules/__init__.py | 0 modules/aux_decoder/__init__.py | 70 + modules/aux_decoder/convnext.py | 89 + modules/backbones/__init__.py | 20 + modules/backbones/lynxnet.py | 147 ++ modules/backbones/lynxnet2.py | 115 + modules/backbones/wavenet.py | 104 + modules/commons/common_layers.py | 427 ++++ .../commons/espnet_positional_embedding.py | 113 + modules/commons/rotary_embedding_torch.py | 63 + modules/compat.py | 24 + modules/core/__init__.py | 2 + modules/core/ddpm.py | 509 ++++ modules/core/reflow.py | 262 ++ modules/fastspeech/acoustic_encoder.py | 185 ++ modules/fastspeech/param_adaptor.py | 95 + modules/fastspeech/tts_modules.py | 455 ++++ modules/fastspeech/variance_encoder.py | 158 ++ modules/hnsep/__init__.py | 0 modules/hnsep/vr/__init__.py | 35 + modules/hnsep/vr/layers.py | 166 ++ modules/hnsep/vr/nets.py | 202 ++ modules/losses/__init__.py | 3 + modules/losses/diff_loss.py | 34 + modules/losses/dur_loss.py | 56 + modules/losses/reflow_loss.py | 50 + modules/metrics/__init__.py | 2 + modules/metrics/curve.py | 73 + modules/metrics/duration.py | 97 + modules/nsf_hifigan/env.py | 32 + modules/nsf_hifigan/models.py | 303 +++ modules/nsf_hifigan/nvSTFT.py | 87 + modules/nsf_hifigan/utils.py | 13 + modules/optimizer/chained_optimizer.py | 132 + modules/optimizer/muon.py | 200 ++ modules/pe/__init__.py | 18 + modules/pe/pm.py | 15 + modules/pe/pw.py | 29 + modules/pe/rmvpe/__init__.py | 5 + modules/pe/rmvpe/constants.py | 9 + modules/pe/rmvpe/deepunet.py | 173 ++ modules/pe/rmvpe/inference.py | 78 + modules/pe/rmvpe/model.py | 32 + modules/pe/rmvpe/seq.py | 10 + modules/pe/rmvpe/spec.py | 68 + modules/pe/rmvpe/utils.py | 43 + modules/toplevel.py | 366 +++ modules/vocoders/__init__.py | 2 + modules/vocoders/ddsp.py | 120 + modules/vocoders/nsf_hifigan.py | 104 + modules/vocoders/registry.py | 21 + preprocessing/acoustic_binarizer.py | 355 +++ preprocessing/variance_binarizer.py | 529 ++++ requirements.txt | 23 + samples/00_我多想说再见啊.ds | 362 +++ samples/01_逍遥仙.ds | 146 ++ samples/02_一半一半.ds | 698 +++++ samples/03_撒娇八连.ds | 14 + samples/04_仙瑶.ds | 122 + samples/05_恋人心.ds | 14 + samples/06_不谓侠.ds | 418 +++ samples/07_春江花月夜.ds | 828 ++++++ samples/credits.txt | 42 + scripts/binarize.py | 25 + scripts/drop_spk.py | 72 + scripts/export.py | 294 +++ scripts/infer.py | 381 +++ scripts/train.py | 31 + scripts/vocode.py | 90 + training/acoustic_task.py | 242 ++ training/variance_task.py | 337 +++ utils/__init__.py | 360 +++ utils/binarizer_utils.py | 229 ++ utils/decomposed_waveform.py | 282 ++ utils/hparams.py | 146 ++ utils/indexed_datasets.py | 96 + utils/infer_utils.py | 104 + utils/multiprocess_utils.py | 52 + utils/onnx_helper.py | 421 +++ utils/phoneme_utils.py | 210 ++ utils/pitch_utils.py | 27 + utils/plot.py | 122 + utils/training_utils.py | 447 ++++ 136 files changed, 25044 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 README.wehub.md create mode 100644 augmentation/spec_stretch.py create mode 100644 basics/base_augmentation.py create mode 100644 basics/base_binarizer.py create mode 100644 basics/base_dataset.py create mode 100644 basics/base_exporter.py create mode 100644 basics/base_module.py create mode 100644 basics/base_pe.py create mode 100644 basics/base_svs_infer.py create mode 100644 basics/base_task.py create mode 100644 basics/base_vocoder.py create mode 100644 checkpoints/.gitkeep create mode 100644 configs/acoustic.yaml create mode 100644 configs/base.yaml create mode 100644 configs/templates/config_acoustic.yaml create mode 100644 configs/templates/config_duration.yaml create mode 100644 configs/templates/config_variance.yaml create mode 100644 configs/variance.yaml create mode 100644 data/.gitkeep create mode 100644 deployment/.gitignore create mode 100644 deployment/__init__.py create mode 100644 deployment/benchmarks/infer_acoustic.py create mode 100644 deployment/benchmarks/infer_nsf_hifigan.py create mode 100644 deployment/exporters/__init__.py create mode 100644 deployment/exporters/acoustic_exporter.py create mode 100644 deployment/exporters/nsf_hifigan_exporter.py create mode 100644 deployment/exporters/variance_exporter.py create mode 100644 deployment/modules/__init__.py create mode 100644 deployment/modules/diffusion.py create mode 100644 deployment/modules/fastspeech2.py create mode 100644 deployment/modules/nsf_hifigan.py create mode 100644 deployment/modules/rectified_flow.py create mode 100644 deployment/modules/toplevel.py create mode 100644 dictionaries/.gitignore create mode 100644 dictionaries/opencpop-extension.txt create mode 100644 docs/BestPractices.md create mode 100644 docs/ConfigurationSchemas.md create mode 100644 docs/GettingStarted.md create mode 100644 docs/resources/arch-acoustic.drawio create mode 100644 docs/resources/arch-acoustic.jpg create mode 100644 docs/resources/arch-overview.drawio create mode 100644 docs/resources/arch-overview.jpg create mode 100644 docs/resources/arch-variance.drawio create mode 100644 docs/resources/arch-variance.jpg create mode 100644 docs/resources/phoneme-distribution.jpg create mode 100644 inference/dpm_solver_pytorch.py create mode 100644 inference/ds_acoustic.py create mode 100644 inference/ds_variance.py create mode 100644 inference/uni_pc.py create mode 100644 inference/val_nsf_hifigan.py create mode 100644 modules/__init__.py create mode 100644 modules/aux_decoder/__init__.py create mode 100644 modules/aux_decoder/convnext.py create mode 100644 modules/backbones/__init__.py create mode 100644 modules/backbones/lynxnet.py create mode 100644 modules/backbones/lynxnet2.py create mode 100644 modules/backbones/wavenet.py create mode 100644 modules/commons/common_layers.py create mode 100644 modules/commons/espnet_positional_embedding.py create mode 100644 modules/commons/rotary_embedding_torch.py create mode 100644 modules/compat.py create mode 100644 modules/core/__init__.py create mode 100644 modules/core/ddpm.py create mode 100644 modules/core/reflow.py create mode 100644 modules/fastspeech/acoustic_encoder.py create mode 100644 modules/fastspeech/param_adaptor.py create mode 100644 modules/fastspeech/tts_modules.py create mode 100644 modules/fastspeech/variance_encoder.py create mode 100644 modules/hnsep/__init__.py create mode 100644 modules/hnsep/vr/__init__.py create mode 100644 modules/hnsep/vr/layers.py create mode 100644 modules/hnsep/vr/nets.py create mode 100644 modules/losses/__init__.py create mode 100644 modules/losses/diff_loss.py create mode 100644 modules/losses/dur_loss.py create mode 100644 modules/losses/reflow_loss.py create mode 100644 modules/metrics/__init__.py create mode 100644 modules/metrics/curve.py create mode 100644 modules/metrics/duration.py create mode 100644 modules/nsf_hifigan/env.py create mode 100644 modules/nsf_hifigan/models.py create mode 100644 modules/nsf_hifigan/nvSTFT.py create mode 100644 modules/nsf_hifigan/utils.py create mode 100644 modules/optimizer/chained_optimizer.py create mode 100644 modules/optimizer/muon.py create mode 100644 modules/pe/__init__.py create mode 100644 modules/pe/pm.py create mode 100644 modules/pe/pw.py create mode 100644 modules/pe/rmvpe/__init__.py create mode 100644 modules/pe/rmvpe/constants.py create mode 100644 modules/pe/rmvpe/deepunet.py create mode 100644 modules/pe/rmvpe/inference.py create mode 100644 modules/pe/rmvpe/model.py create mode 100644 modules/pe/rmvpe/seq.py create mode 100644 modules/pe/rmvpe/spec.py create mode 100644 modules/pe/rmvpe/utils.py create mode 100644 modules/toplevel.py create mode 100644 modules/vocoders/__init__.py create mode 100644 modules/vocoders/ddsp.py create mode 100644 modules/vocoders/nsf_hifigan.py create mode 100644 modules/vocoders/registry.py create mode 100644 preprocessing/acoustic_binarizer.py create mode 100644 preprocessing/variance_binarizer.py create mode 100644 requirements.txt create mode 100644 samples/00_我多想说再见啊.ds create mode 100644 samples/01_逍遥仙.ds create mode 100644 samples/02_一半一半.ds create mode 100644 samples/03_撒娇八连.ds create mode 100644 samples/04_仙瑶.ds create mode 100644 samples/05_恋人心.ds create mode 100644 samples/06_不谓侠.ds create mode 100644 samples/07_春江花月夜.ds create mode 100644 samples/credits.txt create mode 100644 scripts/binarize.py create mode 100644 scripts/drop_spk.py create mode 100644 scripts/export.py create mode 100644 scripts/infer.py create mode 100644 scripts/train.py create mode 100644 scripts/vocode.py create mode 100644 training/acoustic_task.py create mode 100644 training/variance_task.py create mode 100644 utils/__init__.py create mode 100644 utils/binarizer_utils.py create mode 100644 utils/decomposed_waveform.py create mode 100644 utils/hparams.py create mode 100644 utils/indexed_datasets.py create mode 100644 utils/infer_utils.py create mode 100644 utils/multiprocess_utils.py create mode 100644 utils/onnx_helper.py create mode 100644 utils/phoneme_utils.py create mode 100644 utils/pitch_utils.py create mode 100644 utils/plot.py create mode 100644 utils/training_utils.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..cfffba8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,18 @@ +.idea +*.pyc +__pycache__/ +*.sh +local_tools/ +*.ckpt +*.pth +infer_out/ +*.onnx +/data/* +!/data/.gitkeep +/checkpoints/* +!/checkpoints/.gitkeep +/venv/ +/artifacts/ + +.vscode +.ipynb_checkpoints/ diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..58b657f --- /dev/null +++ b/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2023 Team OpenVPI + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/README.md b/README.md new file mode 100644 index 0000000..624673a --- /dev/null +++ b/README.md @@ -0,0 +1,77 @@ +# DiffSinger (OpenVPI maintained version) + +[![arXiv](https://img.shields.io/badge/arXiv-Paper-.svg)](https://arxiv.org/abs/2105.02446) +[![downloads](https://img.shields.io/github/downloads/openvpi/DiffSinger/total.svg)](https://github.com/openvpi/DiffSinger/releases) +[![Bilibili](https://img.shields.io/badge/Bilibili-Demo-blue)](https://www.bilibili.com/video/BV1be411N7JA/) +[![license](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/openvpi/DiffSinger/blob/main/LICENSE) + +This is a refactored and enhanced version of _DiffSinger: Singing Voice Synthesis via Shallow Diffusion Mechanism_ based on the original [paper](https://arxiv.org/abs/2105.02446) and [implementation](https://github.com/MoonInTheRiver/DiffSinger), which provides: + +- Cleaner code structure: useless and redundant files are removed and the others are re-organized. +- Better sound quality: the sampling rate of synthesized audio are adapted to 44.1 kHz instead of the original 24 kHz. +- Higher fidelity: improved acoustic models and diffusion sampling acceleration algorithms are integrated. +- More controllability: introduced variance models and parameters for prediction and control of pitch, energy, breathiness, etc. +- Production compatibility: functionalities are designed to match the requirements of production deployment and the SVS communities. + +| Overview | Variance Model | Acoustic Model | +|:-------------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------:| +| arch-overview | arch-variance | arch-acoustic | + +## User Guidance + +> Navigation page including all tutorials and resources (Chinese): https://diffsinger.com + +- **Installation & basic usages**: See [Getting Started](docs/GettingStarted.md) +- **Dataset creation pipelines & tools**: See [MakeDiffSinger](https://github.com/openvpi/MakeDiffSinger) +- **Best practices & tutorials**: See [Best Practices](docs/BestPractices.md) +- **Editing configurations**: See [Configuration Schemas](docs/ConfigurationSchemas.md) +- **Deployment & production**: [OpenUTAU](https://github.com/stakira/OpenUtau), [DiffScope (under development)](https://github.com/diffscope/diffscope-project) +- **Communication groups**: [QQ Group](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=fibG_dxuPW5maUJwe9_ya5-zFcIwaoOR&authKey=ZgLCG5EqQVUGCID1nfKei8tCnlQHAmD9koxebFXv5WfUchhLwWxb52o1pimNai5A&noverify=0&group_code=907879266) (907879266), [Discord server](https://discord.gg/wwbu2JUMjj) + +## Progress & Roadmap + +- **Progress since we forked into this repository**: See [Releases](https://github.com/openvpi/DiffSinger/releases) +- **Roadmap for future releases**: See [Project Board](https://github.com/orgs/openvpi/projects/1) +- **Thoughts, proposals & ideas**: See [Discussions](https://github.com/openvpi/DiffSinger/discussions) + +## Architecture & Algorithms + +TBD + +## Development Resources + +TBD + +## References + +### Original Paper & Implementation + +- Paper: [DiffSinger: Singing Voice Synthesis via Shallow Diffusion Mechanism](https://arxiv.org/abs/2105.02446) +- Implementation: [MoonInTheRiver/DiffSinger](https://github.com/MoonInTheRiver/DiffSinger) + +### Generative Models & Algorithms + +- Denoising Diffusion Probabilistic Models (DDPM): [paper](https://arxiv.org/abs/2006.11239), [implementation](https://github.com/hojonathanho/diffusion) + - [DDIM](https://arxiv.org/abs/2010.02502) for diffusion sampling acceleration + - [PNDM](https://arxiv.org/abs/2202.09778) for diffusion sampling acceleration + - [DPM-Solver++](https://github.com/LuChengTHU/dpm-solver) for diffusion sampling acceleration + - [UniPC](https://github.com/wl-zhao/UniPC) for diffusion sampling acceleration +- Rectified Flow (RF): [paper](https://arxiv.org/abs/2209.03003), [implementation](https://github.com/gnobitab/RectifiedFlow) + +### Dependencies & Submodules + +- [RoPE](https://github.com/lucidrains/rotary-embedding-torch) for transformer encoder +- [Mix-LN](https://www.isca-archive.org/interspeech_2024/hwang24_interspeech.pdf) for cross-speaker/lingual learning +- [HiFi-GAN](https://github.com/jik876/hifi-gan) and [NSF](https://github.com/nii-yamagishilab/project-NN-Pytorch-scripts/tree/master/project/01-nsf) for waveform reconstruction +- [pc-ddsp](https://github.com/yxlllc/pc-ddsp) for waveform reconstruction +- [RMVPE](https://github.com/Dream-High/RMVPE) and yxlllc's [fork](https://github.com/yxlllc/RMVPE) for pitch extraction +- [Vocal Remover](https://github.com/tsurumeso/vocal-remover) and yxlllc's [fork](https://github.com/yxlllc/vocal-remover) for harmonic-noise separation + +## Disclaimer + +Any organization or individual is prohibited from using any functionalities included in this repository to generate someone's speech without his/her consent, including but not limited to government leaders, political figures, and celebrities. If you do not comply with this item, you could be in violation of copyright laws. + +## License + +This forked DiffSinger repository is licensed under the [Apache 2.0 License](LICENSE). + diff --git a/README.wehub.md b/README.wehub.md new file mode 100644 index 0000000..8cbd17a --- /dev/null +++ b/README.wehub.md @@ -0,0 +1,7 @@ +# WeHub 来源说明 + +- 原始项目:`openvpi/DiffSinger` +- 原始仓库:https://github.com/openvpi/DiffSinger +- 导入方式:上游默认分支的最新快照 +- 原作者、版权和许可证信息以原始仓库及本仓库 LICENSE 为准 +- 本文件仅用于记录来源,不代表 WeHub 是原项目作者 diff --git a/augmentation/spec_stretch.py b/augmentation/spec_stretch.py new file mode 100644 index 0000000..dd88758 --- /dev/null +++ b/augmentation/spec_stretch.py @@ -0,0 +1,92 @@ +from copy import deepcopy + +import librosa +import numpy as np +import torch + +from basics.base_augmentation import BaseAugmentation, require_same_keys +from basics.base_pe import BasePE +from modules.fastspeech.param_adaptor import VARIANCE_CHECKLIST +from modules.fastspeech.tts_modules import LengthRegulator +from utils.binarizer_utils import get_mel_torch, get_mel2ph_torch +from utils.hparams import hparams +from utils.infer_utils import resample_align_curve + + +class SpectrogramStretchAugmentation(BaseAugmentation): + """ + This class contains methods for frequency-domain and time-domain stretching augmentation. + """ + + def __init__(self, data_dirs: list, augmentation_args: dict, pe: BasePE = None): + super().__init__(data_dirs, augmentation_args) + self.device = 'cuda' if torch.cuda.is_available() else 'cpu' + self.lr = LengthRegulator().to(self.device) + self.pe = pe + + @require_same_keys + def process_item(self, item: dict, key_shift=0., speed=1., replace_spk_id=None) -> dict: + aug_item = deepcopy(item) + waveform, _ = librosa.load(aug_item['wav_fn'], sr=hparams['audio_sample_rate'], mono=True) + mel = get_mel_torch( + waveform, hparams['audio_sample_rate'], num_mel_bins=hparams['audio_num_mel_bins'], + hop_size=hparams['hop_size'], win_size=hparams['win_size'], fft_size=hparams['fft_size'], + fmin=hparams['fmin'], fmax=hparams['fmax'], + keyshift=key_shift, speed=speed, device=self.device + ) + + aug_item['mel'] = mel + + if speed != 1. or hparams['use_speed_embed']: + aug_item['length'] = mel.shape[0] + aug_item['speed'] = int(np.round(hparams['hop_size'] * speed)) / hparams['hop_size'] # real speed + aug_item['seconds'] /= aug_item['speed'] + aug_item['ph_dur'] /= aug_item['speed'] + aug_item['mel2ph'] = get_mel2ph_torch( + self.lr, torch.from_numpy(aug_item['ph_dur']), aug_item['length'], self.timestep, device=self.device + ).cpu().numpy() + + f0, _ = self.pe.get_pitch( + waveform, samplerate=hparams['audio_sample_rate'], length=aug_item['length'], + hop_size=hparams['hop_size'], f0_min=hparams['f0_min'], f0_max=hparams['f0_max'], + speed=speed, interp_uv=True + ) + aug_item['f0'] = f0.astype(np.float32) + + # NOTE: variance curves are directly resampled according to speed, + # despite how frequency-domain features change after the augmentation. + # For acoustic models, this can bring more (but not much) difficulty + # to learn how variance curves affect the mel spectrograms, since + # they must realize how the augmentation causes the mismatch. + # + # This is a simple way to combine augmentation and variances. However, + # dealing variance curves like this will decrease the accuracy of + # variance controls. In most situations, not being ~100% accurate + # will not ruin the user experience. For example, it does not matter + # if the energy does not exactly equal the RMS; it is just fine + # as long as higher energy can bring higher loudness and strength. + # The neural networks itself cannot be 100% accurate, though. + # + # There are yet other choices to simulate variance curves: + # 1. Re-extract the features from resampled waveforms; + # 2. Re-extract the features from re-constructed waveforms using + # the transformed mel spectrograms through the vocoder. + # But there are actually no perfect ways to make them all accurate + # and stable. + for v_name in VARIANCE_CHECKLIST: + if v_name in item: + aug_item[v_name] = resample_align_curve( + aug_item[v_name], + original_timestep=self.timestep, + target_timestep=self.timestep * aug_item['speed'], + align_length=aug_item['length'] + ) + + if key_shift != 0. or hparams['use_key_shift_embed']: + if replace_spk_id is None: + aug_item['key_shift'] = key_shift + else: + aug_item['spk_id'] = replace_spk_id + aug_item['f0'] *= 2 ** (key_shift / 12) + + return aug_item diff --git a/basics/base_augmentation.py b/basics/base_augmentation.py new file mode 100644 index 0000000..ac71f48 --- /dev/null +++ b/basics/base_augmentation.py @@ -0,0 +1,28 @@ +from utils.hparams import hparams + + +class BaseAugmentation: + """ + Base class for data augmentation. + All methods of this class should be thread-safe. + 1. *process_item*: + Apply augmentation to one piece of data. + """ + def __init__(self, data_dirs: list, augmentation_args: dict): + self.raw_data_dirs = data_dirs + self.augmentation_args = augmentation_args + self.timestep = hparams['hop_size'] / hparams['audio_sample_rate'] + + def process_item(self, item: dict, **kwargs) -> dict: + raise NotImplementedError() + + +def require_same_keys(func): + def run(*args, **kwargs): + item: dict = args[1] + res: dict = func(*args, **kwargs) + assert set(item.keys()) == set(res.keys()), 'Item keys mismatch after augmentation.\n' \ + f'Before: {sorted(item.keys())}\n' \ + f'After: {sorted(res.keys())}' + return res + return run diff --git a/basics/base_binarizer.py b/basics/base_binarizer.py new file mode 100644 index 0000000..397bd83 --- /dev/null +++ b/basics/base_binarizer.py @@ -0,0 +1,386 @@ +import json +import pathlib +import pickle +import random +import shutil +import warnings +from copy import deepcopy + +import numpy as np +import torch +from tqdm import tqdm + +from utils.hparams import hparams +from utils.indexed_datasets import IndexedDatasetBuilder +from utils.multiprocess_utils import chunked_multiprocess_run +from utils.phoneme_utils import load_phoneme_dictionary +from utils.plot import distribution_to_figure + + +class BinarizationError(Exception): + pass + + +class BaseBinarizer: + """ + Base class for data processing. + 1. *process* and *process_data_split*: + process entire data, generate the train-test split (support parallel processing); + 2. *process_item*: + process singe piece of data; + 3. *get_pitch*: + infer the pitch using some algorithm; + 4. *get_align*: + get the alignment using 'mel2ph' format (see https://arxiv.org/abs/1905.09263). + 5. phoneme encoder, voice encoder, etc. + + Subclasses should define: + 1. *load_metadata*: + how to read multiple datasets from files; + 2. *train_item_names*, *valid_item_names*, *test_item_names*: + how to split the dataset; + 3. load_ph_set: + the phoneme set. + """ + + def __init__(self, datasets=None, data_attrs=None): + if datasets is None: + datasets = hparams['datasets'] + self.datasets = datasets + self.raw_data_dirs = [pathlib.Path(ds['raw_data_dir']) for ds in self.datasets] + self.binary_data_dir = pathlib.Path(hparams['binary_data_dir']) + self.data_attrs = [] if data_attrs is None else data_attrs + + self.binarization_args = hparams['binarization_args'] + self.augmentation_args = hparams.get('augmentation_args', {}) + self.device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') + + self.spk_map = {} + self.spk_ids = None + self.build_spk_map() + + self.lang_map = {} + self.dictionaries = hparams['dictionaries'] + self.build_lang_map() + + self.items = {} + self.item_names: list = None + self._train_item_names: list = None + self._valid_item_names: list = None + + self.phoneme_dictionary = load_phoneme_dictionary() + self.timestep = hparams['hop_size'] / hparams['audio_sample_rate'] + + def build_spk_map(self): + spk_ids = [ds.get('spk_id') for ds in self.datasets] + assigned_spk_ids = {spk_id for spk_id in spk_ids if spk_id is not None} + idx = 0 + for i in range(len(spk_ids)): + if spk_ids[i] is not None: + continue + while idx in assigned_spk_ids: + idx += 1 + spk_ids[i] = idx + assigned_spk_ids.add(idx) + assert max(spk_ids) < hparams['num_spk'], \ + f'Index in spk_id sequence {spk_ids} is out of range. All values should be smaller than num_spk.' + + for spk_id, dataset in zip(spk_ids, self.datasets): + spk_name = dataset['speaker'] + if spk_name in self.spk_map and self.spk_map[spk_name] != spk_id: + raise ValueError(f'Invalid speaker ID assignment. Name \'{spk_name}\' is assigned ' + f'with different speaker IDs: {self.spk_map[spk_name]} and {spk_id}.') + self.spk_map[spk_name] = spk_id + self.spk_ids = spk_ids + + print("| spk_map: ", self.spk_map) + + def build_lang_map(self): + assert len(self.dictionaries.keys()) <= hparams['num_lang'], \ + 'Number of languages must not be greater than num_lang!' + for dataset in self.datasets: + assert dataset['language'] in self.dictionaries, f'Unrecognized language name: {dataset["language"]}' + + for lang_id, lang_name in enumerate(sorted(self.dictionaries.keys()), start=1): + self.lang_map[lang_name] = lang_id + + print("| lang_map: ", self.lang_map) + + def load_meta_data(self, raw_data_dir: pathlib.Path, ds_id, spk, lang) -> dict: + raise NotImplementedError() + + def split_train_valid_set(self, prefixes: list): + """ + Split the dataset into training set and validation set. + :return: train_item_names, valid_item_names + """ + prefixes = {str(pr): 1 for pr in prefixes} + valid_item_names = {} + # Add prefixes that specified speaker index and matches exactly item name to test set + for prefix in deepcopy(prefixes): + if prefix in self.item_names: + valid_item_names[prefix] = 1 + prefixes.pop(prefix) + # Add prefixes that exactly matches item name without speaker id to test set + for prefix in deepcopy(prefixes): + matched = False + for name in self.item_names: + if name.split(':')[-1] == prefix: + valid_item_names[name] = 1 + matched = True + if matched: + prefixes.pop(prefix) + # Add names with one of the remaining prefixes to test set + for prefix in deepcopy(prefixes): + matched = False + for name in self.item_names: + if name.startswith(prefix): + valid_item_names[name] = 1 + matched = True + if matched: + prefixes.pop(prefix) + for prefix in deepcopy(prefixes): + matched = False + for name in self.item_names: + if name.split(':')[-1].startswith(prefix): + valid_item_names[name] = 1 + matched = True + if matched: + prefixes.pop(prefix) + + if len(prefixes) != 0: + warnings.warn( + f'The following rules in test_prefixes have no matching names in the dataset: {", ".join(prefixes.keys())}', + category=UserWarning + ) + warnings.filterwarnings('default') + + valid_item_names = list(valid_item_names.keys()) + assert len(valid_item_names) > 0, 'Validation set is empty!' + train_item_names = [x for x in self.item_names if x not in set(valid_item_names)] + assert len(train_item_names) > 0, 'Training set is empty!' + + return train_item_names, valid_item_names + + @property + def train_item_names(self): + return self._train_item_names + + @property + def valid_item_names(self): + return self._valid_item_names + + def meta_data_iterator(self, prefix): + if prefix == 'train': + item_names = self.train_item_names + else: + item_names = self.valid_item_names + for item_name in item_names: + meta_data = self.items[item_name] + yield item_name, meta_data + + def process(self): + # load each dataset + test_prefixes = [] + for ds_id, dataset in enumerate(self.datasets): + items = self.load_meta_data( + pathlib.Path(dataset['raw_data_dir']), + ds_id=ds_id, spk=dataset['speaker'], lang=dataset['language'] + ) + self.items.update(items) + test_prefixes.extend( + f'{ds_id}:{prefix}' + for prefix in dataset.get('test_prefixes', []) + ) + self.item_names = sorted(list(self.items.keys())) + self._train_item_names, self._valid_item_names = self.split_train_valid_set(test_prefixes) + + if self.binarization_args['shuffle']: + random.shuffle(self.item_names) + + self.binary_data_dir.mkdir(parents=True, exist_ok=True) + + # Copy spk_map, lang_map and dictionary to binary data dir + spk_map_fn = self.binary_data_dir / 'spk_map.json' + with open(spk_map_fn, 'w', encoding='utf-8') as f: + json.dump(self.spk_map, f, ensure_ascii=False) + lang_map_fn = self.binary_data_dir / 'lang_map.json' + with open(lang_map_fn, 'w', encoding='utf-8') as f: + json.dump(self.lang_map, f, ensure_ascii=False) + for lang, dict_path in hparams['dictionaries'].items(): + shutil.copy(dict_path, self.binary_data_dir / f'dictionary-{lang}.txt') + self.check_coverage() + + # Process valid set and train set + try: + self.process_dataset('valid') + self.process_dataset( + 'train', + num_workers=int(self.binarization_args['num_workers']), + apply_augmentation=any(args['enabled'] for args in self.augmentation_args.values()) + ) + except KeyboardInterrupt: + exit(-1) + + def check_coverage(self): + # Group by phonemes in the dictionary. + ph_idx_required = set(range(1, len(self.phoneme_dictionary))) + ph_idx_occurred = set() + ph_idx_count_map = { + idx: 0 + for idx in ph_idx_required + } + + # Load and count those phones that appear in the actual data + for item_name in self.items: + ph_idx_occurred.update(self.items[item_name]['ph_seq']) + for idx in self.items[item_name]['ph_seq']: + ph_idx_count_map[idx] += 1 + ph_count_map = { + self.phoneme_dictionary.decode_one(idx, scalar=False): count + for idx, count in ph_idx_count_map.items() + } + + def display_phoneme(phoneme): + if isinstance(phoneme, tuple): + return f'({", ".join(phoneme)})' + return phoneme + + print('===== Phoneme Distribution Summary =====') + keys = sorted(ph_count_map.keys(), key=lambda v: v[0] if isinstance(v, tuple) else v) + for i, key in enumerate(keys): + if i == len(ph_count_map) - 1: + end = '\n' + elif i % 10 == 9: + end = ',\n' + else: + end = ', ' + key_disp = display_phoneme(key) + print(f'{key_disp}: {ph_count_map[key]}', end=end) + + # Draw graph. + xs = [display_phoneme(k) for k in keys] + ys = [ph_count_map[k] for k in keys] + plt = distribution_to_figure( + title='Phoneme Distribution Summary', + x_label='Phoneme', y_label='Number of occurrences', + items=xs, values=ys, rotate=len(self.dictionaries) > 1 + ) + filename = self.binary_data_dir / 'phoneme_distribution.jpg' + plt.savefig(fname=filename, + bbox_inches='tight', + pad_inches=0.25) + print(f'| save summary to \'{filename}\'') + + # Check unrecognizable or missing phonemes + if ph_idx_occurred != ph_idx_required: + missing_phones = sorted({ + self.phoneme_dictionary.decode_one(idx, scalar=False) + for idx in ph_idx_required.difference(ph_idx_occurred) + }, key=lambda v: v[0] if isinstance(v, tuple) else v) + raise BinarizationError( + f'The following phonemes are not covered in transcriptions: {missing_phones}' + ) + + def process_dataset(self, prefix, num_workers=0, apply_augmentation=False): + args = [] + builder = IndexedDatasetBuilder(self.binary_data_dir, prefix=prefix, allowed_attr=self.data_attrs) + total_sec = {k: 0.0 for k in self.spk_map} + total_raw_sec = {k: 0.0 for k in self.spk_map} + extra_info = {'names': {}, 'ph_texts': {}, 'spk_ids': {}, 'spk_names': {}, 'lengths': {}} + max_no = -1 + + for item_name, meta_data in self.meta_data_iterator(prefix): + args.append([item_name, meta_data, self.binarization_args]) + + aug_map = self.arrange_data_augmentation(self.meta_data_iterator(prefix)) if apply_augmentation else {} + + def postprocess(_item): + nonlocal total_sec, total_raw_sec, extra_info, max_no + if _item is None: + return + item_no = builder.add_item(_item) + max_no = max(max_no, item_no) + for k, v in _item.items(): + if isinstance(v, np.ndarray): + if k not in extra_info: + extra_info[k] = {} + extra_info[k][item_no] = v.shape[0] + extra_info['names'][item_no] = _item['name'].split(':', 1)[-1] + extra_info['ph_texts'][item_no] = _item['ph_text'] + extra_info['spk_ids'][item_no] = _item['spk_id'] + extra_info['spk_names'][item_no] = _item['spk_name'] + extra_info['lengths'][item_no] = _item['length'] + total_raw_sec[_item['spk_name']] += _item['seconds'] + total_sec[_item['spk_name']] += _item['seconds'] + + for task in aug_map.get(_item['name'], []): + aug_item = task['func'](_item, **task['kwargs']) + aug_item_no = builder.add_item(aug_item) + max_no = max(max_no, aug_item_no) + for k, v in aug_item.items(): + if isinstance(v, np.ndarray): + if k not in extra_info: + extra_info[k] = {} + extra_info[k][aug_item_no] = v.shape[0] + extra_info['names'][aug_item_no] = aug_item['name'].split(':', 1)[-1] + extra_info['ph_texts'][aug_item_no] = aug_item['ph_text'] + extra_info['spk_ids'][aug_item_no] = aug_item['spk_id'] + extra_info['spk_names'][aug_item_no] = aug_item['spk_name'] + extra_info['lengths'][aug_item_no] = aug_item['length'] + total_sec[aug_item['spk_name']] += aug_item['seconds'] + + try: + if num_workers > 0: + # code for parallel processing + for item in tqdm( + chunked_multiprocess_run(self.process_item, args, num_workers=num_workers), + total=len(list(self.meta_data_iterator(prefix))) + ): + postprocess(item) + else: + # code for single cpu processing + for a in tqdm(args): + item = self.process_item(*a) + postprocess(item) + for k in extra_info: + assert set(extra_info[k]) == set(range(max_no + 1)), f'Item numbering is not consecutive.' + extra_info[k] = list(map(lambda x: x[1], sorted(extra_info[k].items(), key=lambda x: x[0]))) + except KeyboardInterrupt: + builder.finalize() + raise + + builder.finalize() + if prefix == "train": + extra_info.pop("names") + extra_info.pop('ph_texts') + extra_info.pop("spk_names") + with open(self.binary_data_dir / f"{prefix}.meta", "wb") as f: + # noinspection PyTypeChecker + pickle.dump(extra_info, f) + if apply_augmentation: + print(f"| {prefix} total duration (before augmentation): {sum(total_raw_sec.values()):.2f}s") + print( + f"| {prefix} respective duration (before augmentation): " + + ', '.join(f'{k}={v:.2f}s' for k, v in total_raw_sec.items()) + ) + print( + f"| {prefix} total duration (after augmentation): " + f"{sum(total_sec.values()):.2f}s ({sum(total_sec.values()) / sum(total_raw_sec.values()):.2f}x)" + ) + print( + f"| {prefix} respective duration (after augmentation): " + + ', '.join(f'{k}={v:.2f}s' for k, v in total_sec.items()) + ) + else: + print(f"| {prefix} total duration: {sum(total_raw_sec.values()):.2f}s") + print(f"| {prefix} respective duration: " + ', '.join(f'{k}={v:.2f}s' for k, v in total_raw_sec.items())) + + def arrange_data_augmentation(self, data_iterator): + """ + Code for all types of data augmentation should be added here. + """ + raise NotImplementedError() + + def process_item(self, item_name, meta_data, binarization_args): + raise NotImplementedError() diff --git a/basics/base_dataset.py b/basics/base_dataset.py new file mode 100644 index 0000000..72c64d7 --- /dev/null +++ b/basics/base_dataset.py @@ -0,0 +1,58 @@ +import os +import pickle + +import torch +from torch.utils.data import Dataset + +from utils.hparams import hparams +from utils.indexed_datasets import IndexedDataset + + +class BaseDataset(Dataset): + """ + Base class for datasets. + 1. *sizes*: + clipped length if "max_frames" is set; + 2. *num_frames*: + unclipped length. + + Subclasses should define: + 1. *collate*: + take the longest data, pad other data to the same length; + 2. *__getitem__*: + the index function. + """ + + def __init__(self, prefix, size_key='lengths', preload=False): + super().__init__() + self.prefix = prefix + self.data_dir = hparams['binary_data_dir'] + with open(os.path.join(self.data_dir, f'{self.prefix}.meta'), 'rb') as f: + self.metadata = pickle.load(f) + self.sizes = self.metadata[size_key] + self._indexed_ds = IndexedDataset(self.data_dir, self.prefix) + if preload: + self.indexed_ds = [self._indexed_ds[i] for i in range(len(self._indexed_ds))] + del self._indexed_ds + else: + self.indexed_ds = self._indexed_ds + + def __getitem__(self, index): + return {'_idx': index, **self.indexed_ds[index]} + + def __len__(self): + return len(self.sizes) + + def num_frames(self, index): + return self.sizes[index] + + def size(self, index): + """Return an example's size as a float or tuple. This value is used when + filtering a dataset with ``--max-positions``.""" + return self.sizes[index] + + def collater(self, samples): + return { + 'size': len(samples), + 'indices': torch.LongTensor([s['_idx'] for s in samples]) + } diff --git a/basics/base_exporter.py b/basics/base_exporter.py new file mode 100644 index 0000000..77e5805 --- /dev/null +++ b/basics/base_exporter.py @@ -0,0 +1,86 @@ +import json +import pathlib +import shutil +from pathlib import Path +from typing import Union + +import torch +import torch.nn as nn + +from utils.hparams import hparams + + +class BaseExporter: + def __init__( + self, + device: Union[str, torch.device] = None, + cache_dir: Path = None, + **kwargs + ): + self.device = device if device is not None else torch.device('cuda' if torch.cuda.is_available() else 'cpu') + self.cache_dir: Path = cache_dir.resolve() if cache_dir is not None \ + else Path(__file__).parent.parent / 'deployment' / 'cache' + self.cache_dir.mkdir(parents=True, exist_ok=True) + + # noinspection PyMethodMayBeStatic + def build_spk_map(self) -> dict: + if hparams['use_spk_id']: + with open(Path(hparams['work_dir']) / 'spk_map.json', 'r', encoding='utf8') as f: + spk_map = json.load(f) + assert isinstance(spk_map, dict) and len(spk_map) > 0, 'Invalid or empty speaker map!' + assert len(spk_map) == len(set(spk_map.values())), 'Duplicate speaker id in speaker map!' + return spk_map + else: + return {} + + # noinspection PyMethodMayBeStatic + def build_lang_map(self) -> dict: + lang_map_fn = pathlib.Path(hparams['work_dir']) / 'lang_map.json' + if lang_map_fn.exists(): + with open(lang_map_fn, 'r', encoding='utf8') as f: + lang_map = json.load(f) + assert isinstance(lang_map, dict) and len(lang_map) > 0, 'Invalid or empty language map!' + assert len(lang_map) == len(set(lang_map.values())), 'Duplicate language id in language map!' + return lang_map + else: + return {} + + def build_model(self) -> nn.Module: + """ + Creates an instance of nn.Module and load its state dict on the target device. + """ + raise NotImplementedError() + + def export_model(self, path: Path): + """ + Exports the model to ONNX format. + :param path: the target model path + """ + raise NotImplementedError() + + # noinspection PyMethodMayBeStatic + def export_dictionaries(self, path: Path): + dicts = hparams.get('dictionaries') + if dicts is not None: + for lang in dicts.keys(): + fn = f'dictionary-{lang}.txt' + shutil.copy(pathlib.Path(hparams['work_dir']) / fn, path) + print(f'| export dictionary => {path / fn}') + else: + fn = 'dictionary.txt' + shutil.copy(pathlib.Path(hparams['work_dir']) / fn, path) + print(f'| export dictionary => {path / fn}') + + def export_attachments(self, path: Path): + """ + Exports related files and configs (e.g. the dictionary) to the target directory. + :param path: the target directory + """ + raise NotImplementedError() + + def export(self, path: Path): + """ + Exports all the artifacts to the target directory. + :param path: the target directory + """ + raise NotImplementedError() diff --git a/basics/base_module.py b/basics/base_module.py new file mode 100644 index 0000000..6256191 --- /dev/null +++ b/basics/base_module.py @@ -0,0 +1,18 @@ +from torch import nn + + +class CategorizedModule(nn.Module): + @property + def category(self): + raise NotImplementedError() + + def check_category(self, category): + if category is None: + raise RuntimeError('Category is not specified in this checkpoint.\n' + 'If this is a checkpoint in the old format, please consider ' + 'migrating it to the new format via the following command:\n' + 'python scripts/migrate.py ckpt ') + elif category != self.category: + raise RuntimeError('Category mismatches!\n' + f'This checkpoint is of the category \'{category}\', ' + f'but a checkpoint of category \'{self.category}\' is required.') diff --git a/basics/base_pe.py b/basics/base_pe.py new file mode 100644 index 0000000..78179a0 --- /dev/null +++ b/basics/base_pe.py @@ -0,0 +1,7 @@ +class BasePE: + def get_pitch( + self, waveform, samplerate, length, + *, hop_size, f0_min=65, f0_max=1100, + speed=1, interp_uv=False + ): + raise NotImplementedError() diff --git a/basics/base_svs_infer.py b/basics/base_svs_infer.py new file mode 100644 index 0000000..2b23d01 --- /dev/null +++ b/basics/base_svs_infer.py @@ -0,0 +1,136 @@ +# coding=utf8 +import numpy as np +import torch +from torch import Tensor +from typing import Tuple, Dict + +from utils.hparams import hparams +from utils.infer_utils import resample_align_curve + + +class BaseSVSInfer: + """ + Base class for SVS inference models. + Subclasses should define: + 1. *build_model*: + how to build the model; + 2. *run_model*: + how to run the model (typically, generate a mel-spectrogram and + pass it to the pre-built vocoder); + 3. *preprocess_input*: + how to preprocess user input. + 4. *infer_once* + infer from raw inputs to the final outputs + """ + + def __init__(self, device=None): + if device is None: + device = 'cuda' if torch.cuda.is_available() else 'cpu' + self.device = device + self.timestep = hparams['hop_size'] / hparams['audio_sample_rate'] + self.spk_map = {} + self.lang_map = {} + self.model: torch.nn.Module = None + + def build_model(self, ckpt_steps=None) -> torch.nn.Module: + raise NotImplementedError() + + def load_speaker_mix(self, param_src: dict, summary_dst: dict, + mix_mode: str = 'frame', mix_length: int = None) -> Tuple[Tensor, Tensor]: + """ + + :param param_src: param dict + :param summary_dst: summary dict + :param mix_mode: 'token' or 'frame' + :param mix_length: total tokens or frames to mix + :return: spk_mix_id [B=1, 1, N], spk_mix_value [B=1, T, N] + """ + assert mix_mode == 'token' or mix_mode == 'frame' + param_key = 'spk_mix' if mix_mode == 'frame' else 'ph_spk_mix' + summary_solo_key = 'spk' if mix_mode == 'frame' else 'ph_spk' + spk_mix_map = param_src.get(param_key) # { spk_name: value } or { spk_name: "value value value ..." } + dynamic = False + if spk_mix_map is None: + assert len(self.spk_map) == 1, ( + "This is a multi-speaker model. " + "Please specify a speaker or speaker mix by --spk option." + ) + # Get the only speaker + for name in self.spk_map.keys(): + spk_mix_map = {name: 1.0} + break + else: + for name in spk_mix_map: + assert name in self.spk_map, f'Speaker \'{name}\' not found.' + if len(spk_mix_map) == 1: + summary_dst[summary_solo_key] = list(spk_mix_map.keys())[0] + elif any([isinstance(val, str) for val in spk_mix_map.values()]): + print_mix = '|'.join(spk_mix_map.keys()) + summary_dst[param_key] = f'dynamic({print_mix})' + dynamic = True + else: + print_mix = '|'.join([f'{n}:{"%.3f" % spk_mix_map[n]}' for n in spk_mix_map]) + summary_dst[param_key] = f'static({print_mix})' + spk_mix_id_list = [] + spk_mix_value_list = [] + if dynamic: + for name, values in spk_mix_map.items(): + spk_mix_id_list.append(self.spk_map[name]) + if isinstance(values, str): + # this speaker has a variable proportion + if mix_mode == 'token': + cur_spk_mix_value = values.split() + assert len(cur_spk_mix_value) == mix_length, \ + 'Speaker mix checks failed. In dynamic token-level mix, ' \ + 'number of proportion values must equal number of tokens.' + cur_spk_mix_value = torch.from_numpy( + np.array(cur_spk_mix_value, 'float32') + ).to(self.device)[None] # => [B=1, T] + else: + cur_spk_mix_value = torch.from_numpy(resample_align_curve( + np.array(values.split(), 'float32'), + original_timestep=float(param_src['spk_mix_timestep']), + target_timestep=self.timestep, + align_length=mix_length + )).to(self.device)[None] # => [B=1, T] + assert torch.all(cur_spk_mix_value >= 0.), \ + f'Speaker mix checks failed.\n' \ + f'Proportions of speaker \'{name}\' on some {mix_mode}s are negative.' + else: + # this speaker has a constant proportion + assert values >= 0., f'Speaker mix checks failed.\n' \ + f'Proportion of speaker \'{name}\' is negative.' + cur_spk_mix_value = torch.full( + (1, mix_length), fill_value=values, + dtype=torch.float32, device=self.device + ) + spk_mix_value_list.append(cur_spk_mix_value) + spk_mix_id = torch.LongTensor(spk_mix_id_list).to(self.device)[None, None] # => [B=1, 1, N] + spk_mix_value = torch.stack(spk_mix_value_list, dim=2) # [B=1, T] => [B=1, T, N] + spk_mix_value_sum = torch.sum(spk_mix_value, dim=2, keepdim=True) # => [B=1, T, 1] + assert torch.all(spk_mix_value_sum > 0.), \ + f'Speaker mix checks failed.\n' \ + f'Proportions of speaker mix on some frames sum to zero.' + spk_mix_value /= spk_mix_value_sum # normalize + else: + for name, value in spk_mix_map.items(): + spk_mix_id_list.append(self.spk_map[name]) + assert value >= 0., f'Speaker mix checks failed.\n' \ + f'Proportion of speaker \'{name}\' is negative.' + spk_mix_value_list.append(value) + spk_mix_id = torch.LongTensor(spk_mix_id_list).to(self.device)[None, None] # => [B=1, 1, N] + spk_mix_value = torch.FloatTensor(spk_mix_value_list).to(self.device)[None, None] # => [B=1, 1, N] + spk_mix_value_sum = spk_mix_value.sum() + assert spk_mix_value_sum > 0., f'Speaker mix checks failed.\n' \ + f'Proportions of speaker mix sum to zero.' + spk_mix_value /= spk_mix_value_sum # normalize + return spk_mix_id, spk_mix_value + + def preprocess_input(self, param: dict, idx=0) -> Dict[str, torch.Tensor]: + raise NotImplementedError() + + def forward_model(self, sample: Dict[str, torch.Tensor]): + raise NotImplementedError() + + def run_inference(self, params, **kwargs): + raise NotImplementedError() diff --git a/basics/base_task.py b/basics/base_task.py new file mode 100644 index 0000000..656893d --- /dev/null +++ b/basics/base_task.py @@ -0,0 +1,514 @@ +import logging +import os +import pathlib +import shutil +import sys +from typing import Dict + +import matplotlib + +import utils + +matplotlib.use('Agg') + +import torch.utils.data +from torchmetrics import Metric, MeanMetric +import lightning.pytorch as pl +from lightning.pytorch.utilities.rank_zero import rank_zero_debug, rank_zero_info, rank_zero_only + +from basics.base_module import CategorizedModule +from utils.hparams import hparams +from utils.training_utils import ( + DsModelCheckpoint, DsTQDMProgressBar, + DsBatchSampler, DsTensorBoardLogger, + get_latest_checkpoint_path, get_strategy +) +from utils.phoneme_utils import load_phoneme_dictionary + +torch.multiprocessing.set_sharing_strategy(os.getenv('TORCH_SHARE_STRATEGY', 'file_system')) + +log_format = '%(asctime)s %(message)s' +logging.basicConfig(stream=sys.stdout, level=logging.INFO, + format=log_format, datefmt='%m/%d %I:%M:%S %p') + + +class BaseTask(pl.LightningModule): + """ + Base class for training tasks. + 1. *load_ckpt*: + load checkpoint; + 2. *training_step*: + record and log the loss; + 3. *optimizer_step*: + run backwards step; + 4. *start*: + load training configs, backup code, log to tensorboard, start training; + 5. *configure_ddp* and *init_ddp_connection*: + start parallel training. + + Subclasses should define: + 1. *build_model*, *build_optimizer*, *build_scheduler*: + how to build the model, the optimizer and the training scheduler; + 2. *_training_step*: + one training step of the model; + 3. *on_validation_end* and *_on_validation_end*: + postprocess the validation output. + """ + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.max_batch_frames = hparams['max_batch_frames'] + self.max_batch_size = hparams['max_batch_size'] + self.max_val_batch_frames = hparams['max_val_batch_frames'] + if self.max_val_batch_frames == -1: + hparams['max_val_batch_frames'] = self.max_val_batch_frames = self.max_batch_frames + self.max_val_batch_size = hparams['max_val_batch_size'] + if self.max_val_batch_size == -1: + hparams['max_val_batch_size'] = self.max_val_batch_size = self.max_batch_size + + self.training_sampler = None + self.skip_immediate_validation = False + self.skip_immediate_ckpt_save = False + + self.phoneme_dictionary = load_phoneme_dictionary() + self.build_model() + + self.valid_losses: Dict[str, Metric] = {} + self.valid_metrics: Dict[str, Metric] = {} + + def _finish_init(self): + self.register_validation_loss('total_loss') + self.build_losses_and_metrics() + assert len(self.valid_losses) > 0, "No validation loss registered. Please check your configuration file." + + ########### + # Training, validation and testing + ########### + def setup(self, stage): + self.train_dataset = self.dataset_cls('train') + self.valid_dataset = self.dataset_cls('valid') + self.num_replicas = (self.trainer.distributed_sampler_kwargs or {}).get('num_replicas', 1) + + def get_need_freeze_state_dict_key(self, model_state_dict) -> list: + key_list = [] + for i in hparams['frozen_params']: + for j in model_state_dict: + if j.startswith(i): + key_list.append(j) + return list(set(key_list)) + + def freeze_params(self) -> None: + model_state_dict = self.state_dict().keys() + freeze_key = self.get_need_freeze_state_dict_key(model_state_dict=model_state_dict) + + for i in freeze_key: + params=self.get_parameter(i) + + params.requires_grad = False + + def unfreeze_all_params(self) -> None: + for i in self.model.parameters(): + i.requires_grad = True + + def load_finetune_ckpt( + self, state_dict + ) -> None: + adapt_shapes = hparams['finetune_strict_shapes'] + if not adapt_shapes: + cur_model_state_dict = self.state_dict() + unmatched_keys = [] + for key, param in state_dict.items(): + if key in cur_model_state_dict: + new_param = cur_model_state_dict[key] + if new_param.shape != param.shape: + unmatched_keys.append(key) + print('| Unmatched keys: ', key, new_param.shape, param.shape) + for key in unmatched_keys: + del state_dict[key] + self.load_state_dict(state_dict, strict=False) + + def load_pre_train_model(self): + pre_train_ckpt_path = hparams['finetune_ckpt_path'] + blacklist = hparams['finetune_ignored_params'] + # whitelist=hparams['pre_train_whitelist'] + if blacklist is None: + blacklist = [] + # if whitelist is None: + # raise RuntimeError("") + + if pre_train_ckpt_path is not None: + ckpt = torch.load(pre_train_ckpt_path) + # if ckpt.get('category') is None: + # raise RuntimeError("") + + if isinstance(self.model, CategorizedModule): + self.model.check_category(ckpt.get('category')) + + state_dict = {} + for i in ckpt['state_dict']: + # if 'diffusion' in i: + # if i in rrrr: + # continue + skip = False + for b in blacklist: + if i.startswith(b): + skip = True + break + + if skip: + continue + + state_dict[i] = ckpt['state_dict'][i] + print(i) + return state_dict + else: + raise RuntimeError("") + + def _build_model(self): + raise NotImplementedError() + + def build_model(self): + self.model = self._build_model() + # utils.load_warp(self) + self.unfreeze_all_params() + if hparams['freezing_enabled']: + self.freeze_params() + if hparams['finetune_enabled'] and get_latest_checkpoint_path(pathlib.Path(hparams['work_dir'])) is None: + self.load_finetune_ckpt(self.load_pre_train_model()) + self.print_arch() + + @rank_zero_only + def print_arch(self): + utils.print_arch(self.model) + + def build_losses_and_metrics(self): + raise NotImplementedError() + + def register_validation_metric(self, name: str, metric: Metric): + assert isinstance(metric, Metric) + self.valid_metrics[name] = metric + + def register_validation_loss(self, name: str, Aggregator: Metric = MeanMetric): + assert issubclass(Aggregator, Metric) + self.valid_losses[name] = Aggregator() + + def run_model(self, sample, infer=False): + """ + steps: + 1. run the full model + 2. calculate losses if not infer + """ + raise NotImplementedError() + + def on_train_epoch_start(self): + if self.training_sampler is not None: + self.training_sampler.set_epoch(self.current_epoch) + + def _training_step(self, sample): + """ + :return: total loss: torch.Tensor, loss_log: dict, other_log: dict + """ + losses = self.run_model(sample) + total_loss = sum(losses.values()) + return total_loss, {**losses, 'batch_size': float(sample['size'])} + + def training_step(self, sample, batch_idx): + total_loss, log_outputs = self._training_step(sample) + + # logs to progress bar + self.log_dict(log_outputs, prog_bar=True, logger=False, on_step=True, on_epoch=False) + self.log('lr', self.lr_schedulers().get_last_lr()[0], prog_bar=True, logger=False, on_step=True, on_epoch=False) + # logs to tensorboard + if self.global_step % hparams['log_interval'] == 0: + tb_log = {f'training/{k}': v for k, v in log_outputs.items()} + tb_log['training/lr'] = self.lr_schedulers().get_last_lr()[0] + self.logger.log_metrics(tb_log, step=self.global_step) + + return total_loss + + # def on_before_optimizer_step(self, *args, **kwargs): + # self.log_dict(grad_norm(self, norm_type=2)) + + def _on_validation_start(self): + pass + + def on_validation_start(self): + if self.skip_immediate_validation: + rank_zero_debug("Skip validation") + return + self._on_validation_start() + for metric in self.valid_losses.values(): + metric.to(self.device) + metric.reset() + for metric in self.valid_metrics.values(): + metric.to(self.device) + metric.reset() + + def _validation_step(self, sample, batch_idx): + """ + + :param sample: + :param batch_idx: + :return: loss_log: dict, weight: int + """ + raise NotImplementedError() + + def validation_step(self, sample, batch_idx): + """ + + :param sample: + :param batch_idx: + """ + if self.skip_immediate_validation: + rank_zero_debug("Skip validation") + return + if sample['size'] > 0: + with torch.autocast(self.device.type, enabled=False): + losses, weight = self._validation_step(sample, batch_idx) + losses = { + 'total_loss': sum(losses.values()), + **losses + } + for k, v in losses.items(): + self.valid_losses[k].update(v, weight=weight) + + def _on_validation_epoch_end(self): + pass + + def on_validation_epoch_end(self): + if self.skip_immediate_validation: + self.skip_immediate_validation = False + self.skip_immediate_ckpt_save = True + return + self._on_validation_epoch_end() + loss_vals = {k: v.compute() for k, v in self.valid_losses.items()} + metric_vals = {k: v.compute() for k, v in self.valid_metrics.items()} + self.log('val_loss', loss_vals['total_loss'], on_epoch=True, prog_bar=True, logger=False, sync_dist=True) + self.logger.log_metrics({f'validation/{k}': v for k, v in loss_vals.items()}, step=self.global_step) + self.logger.log_metrics({f'metrics/{k}': v for k, v in metric_vals.items()}, step=self.global_step) + + # noinspection PyMethodMayBeStatic + def build_scheduler(self, optimizer): + from utils import build_lr_scheduler_from_config + + scheduler_args = hparams['lr_scheduler_args'] + assert scheduler_args['scheduler_cls'] != '' + scheduler = build_lr_scheduler_from_config(optimizer, scheduler_args) + return scheduler + + # noinspection PyMethodMayBeStatic + def build_optimizer(self, model): + from utils import build_object_from_class_name + + optimizer_args = hparams['optimizer_args'] + assert optimizer_args['optimizer_cls'] != '' + if 'beta1' in optimizer_args and 'beta2' in optimizer_args and 'betas' not in optimizer_args: + optimizer_args['betas'] = (optimizer_args['beta1'], optimizer_args['beta2']) + optimizer = build_object_from_class_name( + optimizer_args['optimizer_cls'], + torch.optim.Optimizer, + model if optimizer_args['optimizer_cls'] == 'modules.optimizer.muon.Muon_AdamW' else model.parameters(), + **optimizer_args + ) + return optimizer + + def configure_optimizers(self): + optm = self.build_optimizer(self.model) + scheduler = self.build_scheduler(optm) + if scheduler is None: + return optm + return { + "optimizer": optm, + "lr_scheduler": { + "scheduler": scheduler, + "interval": "step", + "frequency": 1 + } + } + + def train_dataloader(self): + self.training_sampler = DsBatchSampler( + self.train_dataset, + max_batch_frames=self.max_batch_frames, + max_batch_size=self.max_batch_size, + num_replicas=self.num_replicas, + rank=self.global_rank, + sort_by_similar_size=hparams['sort_by_len'], + size_reversed=True, + required_batch_count_multiple=hparams['accumulate_grad_batches'], + shuffle_sample=True, + shuffle_batch=True + ) + return torch.utils.data.DataLoader( + self.train_dataset, + collate_fn=self.train_dataset.collater, + batch_sampler=self.training_sampler, + num_workers=hparams['ds_workers'], + prefetch_factor=hparams['dataloader_prefetch_factor'], + pin_memory=True, + persistent_workers=True + ) + + def val_dataloader(self): + sampler = DsBatchSampler( + self.valid_dataset, + max_batch_frames=self.max_val_batch_frames, + max_batch_size=self.max_val_batch_size, + num_replicas=self.num_replicas, + rank=self.global_rank, + shuffle_sample=False, + shuffle_batch=False, + disallow_empty_batch=False, + pad_batch_assignment=False + ) + return torch.utils.data.DataLoader( + self.valid_dataset, + collate_fn=self.valid_dataset.collater, + batch_sampler=sampler, + num_workers=hparams['ds_workers'], + prefetch_factor=hparams['dataloader_prefetch_factor'], + persistent_workers=True + ) + + def test_dataloader(self): + return self.val_dataloader() + + def on_test_start(self): + self.on_validation_start() + + def test_step(self, sample, batch_idx): + return self.validation_step(sample, batch_idx) + + def on_test_end(self): + return self.on_validation_end() + + ########### + # Running configuration + ########### + + @classmethod + def start(cls): + task = cls() + + # if pre_train is not None: + # task.load_state_dict(pre_train,strict=False) + # print("load success-------------------------------------------------------------------") + + work_dir = pathlib.Path(hparams['work_dir']) + trainer = pl.Trainer( + accelerator=hparams['pl_trainer_accelerator'], + devices=hparams['pl_trainer_devices'], + num_nodes=hparams['pl_trainer_num_nodes'], + strategy=get_strategy( + hparams['pl_trainer_devices'], + hparams['pl_trainer_num_nodes'], + hparams['pl_trainer_accelerator'], + hparams['pl_trainer_strategy'], + hparams['pl_trainer_precision'], + ), + precision=hparams['pl_trainer_precision'], + callbacks=[ + DsModelCheckpoint( + dirpath=work_dir, + filename='model_ckpt_steps_{step}', + auto_insert_metric_name=False, + monitor='step', + mode='max', + save_last=False, + # every_n_train_steps=hparams['val_check_interval'], + save_top_k=hparams['num_ckpt_keep'], + permanent_ckpt_start=hparams['permanent_ckpt_start'], + permanent_ckpt_interval=hparams['permanent_ckpt_interval'], + verbose=True + ), + # LearningRateMonitor(logging_interval='step'), + DsTQDMProgressBar(), + ], + logger=DsTensorBoardLogger( + save_dir=str(work_dir), + name='lightning_logs', + version='latest' + ), + gradient_clip_val=hparams['clip_grad_norm'], + val_check_interval=hparams['val_check_interval'] * hparams['accumulate_grad_batches'], + # so this is global_steps + check_val_every_n_epoch=None, + log_every_n_steps=1, + max_steps=hparams['max_updates'], + use_distributed_sampler=False, + num_sanity_val_steps=hparams['num_sanity_val_steps'], + accumulate_grad_batches=hparams['accumulate_grad_batches'] + ) + if not hparams['infer']: # train + @rank_zero_only + def train_payload_copy(): + # Copy files to work_dir + binary_dir = pathlib.Path(hparams['binary_data_dir']) + spk_map_dst = work_dir / 'spk_map.json' + spk_map_src = binary_dir / 'spk_map.json' + shutil.copy(spk_map_src, spk_map_dst) + print(f'| Copied spk map to {spk_map_dst}.') + lang_map_dst = work_dir / 'lang_map.json' + lang_map_src = binary_dir / 'lang_map.json' + shutil.copy(lang_map_src, lang_map_dst) + print(f'| Copied lang map to {lang_map_dst}.') + for lang in hparams['dictionaries'].keys(): + dict_dst = work_dir / f'dictionary-{lang}.txt' + dict_src = binary_dir / f'dictionary-{lang}.txt' + shutil.copy(dict_src, dict_dst) + print(f'| Copied dictionary for language \'{lang}\' to {dict_dst}.') + + train_payload_copy() + trainer.fit(task, ckpt_path=get_latest_checkpoint_path(work_dir)) + else: + trainer.test(task) + + def on_save_checkpoint(self, checkpoint): + if isinstance(self.model, CategorizedModule): + checkpoint['category'] = self.model.category + checkpoint['trainer_stage'] = self.trainer.state.stage.value + + def on_load_checkpoint(self, checkpoint): + from lightning.pytorch.trainer.states import RunningStage + from utils import simulate_lr_scheduler + if checkpoint.get('trainer_stage', '') == RunningStage.VALIDATING.value: + self.skip_immediate_validation = True + + optimizer_args = hparams['optimizer_args'] + scheduler_args = hparams['lr_scheduler_args'] + + if 'beta1' in optimizer_args and 'beta2' in optimizer_args and 'betas' not in optimizer_args: + optimizer_args['betas'] = (optimizer_args['beta1'], optimizer_args['beta2']) + + if checkpoint.get('optimizer_states', None): + opt_states = checkpoint['optimizer_states'] + assert len(opt_states) == 1 # only support one optimizer + opt_state = opt_states[0] + for param_group in opt_state['param_groups']: + for k, v in optimizer_args.items(): + if k in param_group and param_group[k] != v: + if 'lr_schedulers' in checkpoint and checkpoint['lr_schedulers'] and k == 'lr': + continue + rank_zero_info(f'| Overriding optimizer parameter {k} from checkpoint: {param_group[k]} -> {v}') + param_group[k] = v + if 'initial_lr' in param_group and param_group['initial_lr'] != optimizer_args['lr']: + rank_zero_info( + f'| Overriding optimizer parameter initial_lr from checkpoint: {param_group["initial_lr"]} -> {optimizer_args["lr"]}' + ) + param_group['initial_lr'] = optimizer_args['lr'] + + if checkpoint.get('lr_schedulers', None): + assert checkpoint.get('optimizer_states', False) + assert len(checkpoint['lr_schedulers']) == 1 # only support one scheduler + checkpoint['lr_schedulers'][0] = simulate_lr_scheduler( + optimizer_args, scheduler_args, + step_count=checkpoint['global_step'], + num_param_groups=len(checkpoint['optimizer_states'][0]['param_groups']) + ) + for param_group, new_lr in zip( + checkpoint['optimizer_states'][0]['param_groups'], + checkpoint['lr_schedulers'][0]['_last_lr'], + ): + if param_group['lr'] != new_lr: + rank_zero_info(f'| Overriding optimizer parameter lr from checkpoint: {param_group["lr"]} -> {new_lr}') + param_group['lr'] = new_lr diff --git a/basics/base_vocoder.py b/basics/base_vocoder.py new file mode 100644 index 0000000..7100e0b --- /dev/null +++ b/basics/base_vocoder.py @@ -0,0 +1,23 @@ +class BaseVocoder: + def to_device(self, device): + """ + + :param device: torch.device or str + """ + raise NotImplementedError() + + def get_device(self): + """ + + :return: device: torch.device or str + """ + raise NotImplementedError() + + def spec2wav(self, mel, **kwargs): + """ + + :param mel: [T, 80] + :return: wav: [T'] + """ + + raise NotImplementedError() diff --git a/checkpoints/.gitkeep b/checkpoints/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/configs/acoustic.yaml b/configs/acoustic.yaml new file mode 100644 index 0000000..fad7560 --- /dev/null +++ b/configs/acoustic.yaml @@ -0,0 +1,144 @@ +base_config: + - configs/base.yaml + +task_cls: training.acoustic_task.AcousticTask + +dictionaries: {} +extra_phonemes: [] +merged_phoneme_groups: [] +datasets: [] + +vocoder: NsfHifiGAN +vocoder_ckpt: checkpoints/pc_nsf_hifigan_44.1k_hop512_128bin_2025.02/model.ckpt +audio_sample_rate: 44100 +audio_num_mel_bins: 128 +hop_size: 512 # Hop size. +fft_size: 2048 # FFT size. +win_size: 2048 # FFT size. +fmin: 40 +fmax: 16000 + +binarization_args: + shuffle: true + num_workers: 0 +augmentation_args: + random_pitch_shifting: + enabled: false + range: [-5., 5.] + scale: 0.75 + fixed_pitch_shifting: + enabled: false + targets: [-5., 5.] + scale: 0.5 + random_time_stretching: + enabled: false + range: [0.5, 2.] + scale: 0.75 + +binary_data_dir: 'data/opencpop/binary' +binarizer_cls: preprocessing.acoustic_binarizer.AcousticBinarizer +spec_min: [-12] +spec_max: [0] +mel_vmin: -14. +mel_vmax: 4. +mel_base: 'e' +energy_smooth_width: 0.06 +breathiness_smooth_width: 0.06 +voicing_smooth_width: 0.06 +tension_smooth_width: 0.06 + +use_lang_id: false +num_lang: 1 +use_spk_id: false +num_spk: 1 +use_mix_ln: false +mix_ln_layer: [0, 2] +use_energy_embed: false +use_breathiness_embed: false +use_voicing_embed: false +use_tension_embed: false +use_key_shift_embed: false +use_speed_embed: false + +diffusion_type: reflow +time_scale_factor: 1000 +timesteps: 1000 +max_beta: 0.02 +enc_ffn_kernel_size: 3 +use_rope: true +rope_interleaved: false +use_stretch_embed: true +use_variance_scaling: true +rel_pos: true +sampling_algorithm: euler +sampling_steps: 20 +diff_accelerator: ddim +diff_speedup: 10 +hidden_size: 384 +backbone_type: 'lynxnet2' +backbone_args: + num_channels: 1024 + num_layers: 6 + kernel_size: 31 + dropout_rate: 0.0 + use_conditioner_cache: true + glu_type: 'atanglu' +main_loss_type: l2 +main_loss_log_norm: false +schedule_type: 'linear' + +# shallow diffusion +use_shallow_diffusion: true +T_start: 0.4 +T_start_infer: 0.4 +K_step: 400 +K_step_infer: 400 + +shallow_diffusion_args: + train_aux_decoder: true + train_diffusion: true + val_gt_start: false + aux_decoder_arch: convnext + aux_decoder_args: + num_channels: 512 + num_layers: 6 + kernel_size: 7 + dropout_rate: 0.1 + aux_decoder_grad: 0.1 + +lambda_aux_mel_loss: 0.2 + +# train and eval +num_sanity_val_steps: 1 +optimizer_args: + optimizer_cls: modules.optimizer.muon.Muon_AdamW + lr: 0.0006 + muon_args: + weight_decay: 0.1 + adamw_args: + weight_decay: 0.0 +lr_scheduler_args: + step_size: 5000 + gamma: 0.8 +max_batch_frames: 50000 +max_batch_size: 64 +dataset_size_key: 'lengths' +val_with_vocoder: true +val_check_interval: 4000 +num_valid_plots: 10 +max_updates: 100000 +num_ckpt_keep: 8 +permanent_ckpt_start: 60000 +permanent_ckpt_interval: 10000 + +finetune_enabled: false +finetune_ckpt_path: null + +finetune_ignored_params: + - model.fs2.encoder.embed_tokens + - model.fs2.txt_embed + - model.fs2.spk_embed +finetune_strict_shapes: true + +freezing_enabled: false +frozen_params: [] diff --git a/configs/base.yaml b/configs/base.yaml new file mode 100644 index 0000000..72def32 --- /dev/null +++ b/configs/base.yaml @@ -0,0 +1,94 @@ +# task +task_cls: null + +############# +# dataset +############# +sort_by_len: true +datasets: [] +binary_data_dir: null +binarizer_cls: null +binarization_args: + shuffle: false + num_workers: 0 + +audio_sample_rate: 44100 +hop_size: 512 +win_size: 2048 +fft_size: 2048 # Extra window size is filled with 0 paddings to match this parameter +sampler_frame_count_grid: 6 +ds_workers: 4 +dataloader_prefetch_factor: 2 + +######### +# model +######### +hidden_size: 384 +dropout: 0.1 +use_pos_embed: true +enc_layers: 4 +num_heads: 2 +enc_ffn_kernel_size: 3 +ffn_act: gelu +use_spk_id: false + +########### +# optimization +########### +optimizer_args: + optimizer_cls: modules.optimizer.muon.Muon_AdamW + lr: 0.0006 + beta1: 0.9 + beta2: 0.98 + weight_decay: 0 +lr_scheduler_args: + scheduler_cls: torch.optim.lr_scheduler.StepLR + step_size: 5000 + gamma: 0.8 +clip_grad_norm: 1 + +########### +# train and eval +########### +num_ckpt_keep: 5 +accumulate_grad_batches: 1 +log_interval: 100 +num_sanity_val_steps: 1 # steps of validation at the beginning +val_check_interval: 4000 +max_updates: 100000 +max_batch_frames: 50000 +max_batch_size: 100000 +max_val_batch_frames: 60000 +max_val_batch_size: 1 +pe: parselmouth +pe_ckpt: 'checkpoints/rmvpe/model.pt' +hnsep: vr +hnsep_ckpt: 'checkpoints/vr/model.pt' +f0_min: 65 +f0_max: 1100 +num_valid_plots: 10 + +########### +# pytorch lightning +# Read https://lightning.ai/docs/pytorch/stable/common/trainer.html#trainer-class-api for possible values +########### +pl_trainer_accelerator: 'auto' +pl_trainer_devices: 'auto' +pl_trainer_precision: '16-mixed' +pl_trainer_num_nodes: 1 +pl_trainer_strategy: + name: auto + process_group_backend: nccl + find_unused_parameters: false +nccl_p2p: true + +########### +# finetune +########### +finetune_enabled: false +finetune_ckpt_path: null +finetune_ignored_params: [] +finetune_strict_shapes: true + +freezing_enabled: false +frozen_params: [] diff --git a/configs/templates/config_acoustic.yaml b/configs/templates/config_acoustic.yaml new file mode 100644 index 0000000..e344fb4 --- /dev/null +++ b/configs/templates/config_acoustic.yaml @@ -0,0 +1,128 @@ +base_config: + - configs/acoustic.yaml + +dictionaries: + zh: dictionaries/opencpop-extension.txt +extra_phonemes: [] +merged_phoneme_groups: [] + +datasets: + - raw_data_dir: data/xxx1/raw + speaker: speaker1 + spk_id: 0 + language: zh + test_prefixes: + - wav1 + - wav2 + - wav3 + - wav4 + - wav5 + - raw_data_dir: data/xxx2/raw + speaker: speaker2 + spk_id: 1 + language: zh + test_prefixes: + - wav1 + - wav2 + - wav3 + - wav4 + - wav5 + +binary_data_dir: data/xxx/binary +binarization_args: + num_workers: 0 +pe: parselmouth +pe_ckpt: 'checkpoints/rmvpe/model.pt' +hnsep: vr +hnsep_ckpt: 'checkpoints/vr/model.pt' +vocoder: NsfHifiGAN +vocoder_ckpt: checkpoints/nsf_hifigan_44.1k_hop512_128bin_2024.02/model.ckpt + +use_lang_id: false +num_lang: 1 +use_spk_id: false +num_spk: 1 + +use_mix_ln: false +mix_ln_layer: [0, 2] + +# NOTICE: before enabling variance embeddings, please read the docs at +# https://github.com/openvpi/DiffSinger/tree/main/docs/BestPractices.md#choosing-variance-parameters +use_energy_embed: false +use_breathiness_embed: false +use_voicing_embed: false +use_tension_embed: false + +use_key_shift_embed: true +use_speed_embed: true + +augmentation_args: + random_pitch_shifting: + enabled: true + range: [-5., 5.] + scale: 0.75 + fixed_pitch_shifting: + enabled: false + targets: [-5., 5.] + scale: 0.5 + random_time_stretching: + enabled: true + range: [0.5, 2.] + scale: 0.75 + +# diffusion and shallow diffusion +diffusion_type: reflow +enc_ffn_kernel_size: 3 +use_rope: true +rope_interleaved: false +use_stretch_embed: true +use_variance_scaling: true +use_shallow_diffusion: true +T_start: 0.4 +T_start_infer: 0.4 +K_step: 300 +K_step_infer: 300 +hidden_size: 384 +backbone_type: 'lynxnet2' +backbone_args: + num_channels: 1024 + num_layers: 6 + kernel_size: 31 + dropout_rate: 0.0 + use_conditioner_cache: true + glu_type: 'atanglu' +shallow_diffusion_args: + train_aux_decoder: true + train_diffusion: true + val_gt_start: false + aux_decoder_arch: convnext + aux_decoder_args: + num_channels: 512 + num_layers: 6 + kernel_size: 7 + dropout_rate: 0.1 + aux_decoder_grad: 0.1 +lambda_aux_mel_loss: 0.2 + +optimizer_args: + optimizer_cls: modules.optimizer.muon.Muon_AdamW + lr: 0.0006 + muon_args: + weight_decay: 0.1 + adamw_args: + weight_decay: 0.0 +lr_scheduler_args: + step_size: 5000 + gamma: 0.8 +max_batch_frames: 50000 +max_batch_size: 64 +max_updates: 100000 + +num_valid_plots: 10 +val_with_vocoder: true +val_check_interval: 4000 +num_ckpt_keep: 8 +permanent_ckpt_start: 60000 +permanent_ckpt_interval: 10000 +pl_trainer_devices: 'auto' +pl_trainer_precision: '16-mixed' diff --git a/configs/templates/config_duration.yaml b/configs/templates/config_duration.yaml new file mode 100644 index 0000000..1753364 --- /dev/null +++ b/configs/templates/config_duration.yaml @@ -0,0 +1,139 @@ +base_config: + - configs/variance.yaml + +dictionaries: + zh: dictionaries/opencpop-extension.txt +extra_phonemes: [] +merged_phoneme_groups: [] + +datasets: + - raw_data_dir: data/xxx1/raw + speaker: speaker1 + spk_id: 0 + language: zh + test_prefixes: + - wav1 + - wav2 + - wav3 + - wav4 + - wav5 + - raw_data_dir: data/xxx2/raw + speaker: speaker2 + spk_id: 1 + language: zh + test_prefixes: + - wav1 + - wav2 + - wav3 + - wav4 + - wav5 + +binary_data_dir: data/xxx/binary +binarization_args: + num_workers: 0 +pe: parselmouth +pe_ckpt: 'checkpoints/rmvpe/model.pt' +hnsep: vr +hnsep_ckpt: 'checkpoints/vr/model.pt' + +use_lang_id: false +num_lang: 1 +use_spk_id: false +num_spk: 1 +# NOTICE: before enabling variance modules, please read the docs at +# https://github.com/openvpi/DiffSinger/tree/main/docs/BestPractices.md#mutual-influence-between-variance-modules +predict_dur: true +predict_pitch: false +# NOTICE: before enabling variance predictions, please read the docs at +# https://github.com/openvpi/DiffSinger/tree/main/docs/BestPractices.md#choosing-variance-parameters +predict_energy: false +predict_breathiness: true +predict_voicing: true +predict_tension: false + +energy_db_min: -96.0 +energy_db_max: -12.0 + +breathiness_db_min: -96.0 +breathiness_db_max: -20.0 + +voicing_db_min: -96.0 +voicing_db_max: -12.0 + +tension_logit_min: -10.0 +tension_logit_max: 10.0 + +enc_ffn_kernel_size: 3 +use_rope: true +rope_interleaved: false +use_stretch_embed: false +use_variance_scaling: true +hidden_size: 384 +dur_prediction_args: + arch: resnet + hidden_size: 256 + dropout: 0.1 + num_layers: 5 + kernel_size: 3 + log_offset: 1.0 + loss_type: mse + lambda_pdur_loss: 0.3 + lambda_wdur_loss: 1.0 + lambda_sdur_loss: 3.0 + +use_melody_encoder: true +melody_encoder_args: + hidden_size: 128 + enc_layers: 4 +use_glide_embed: false +glide_types: [up, down] +glide_embed_scale: 11.313708498984760 # sqrt(128) + +diffusion_type: reflow + +pitch_prediction_args: + pitd_norm_min: -8.0 + pitd_norm_max: 8.0 + pitd_clip_min: -12.0 + pitd_clip_max: 12.0 + repeat_bins: 64 + backbone_type: 'lynxnet2' + backbone_args: + num_layers: 6 + num_channels: 512 + dropout_rate: 0.0 + use_conditioner_cache: true + glu_type: 'atanglu' + +variances_prediction_args: + total_repeat_bins: 72 + backbone_type: 'lynxnet2' + backbone_args: + num_layers: 6 + num_channels: 384 + dropout_rate: 0.0 + use_conditioner_cache: true + glu_type: 'atanglu' + +lambda_dur_loss: 1.0 +lambda_pitch_loss: 1.0 +lambda_var_loss: 1.0 + +optimizer_args: + optimizer_cls: torch.optim.AdamW + lr: 0.0006 +lr_scheduler_args: + scheduler_cls: torch.optim.lr_scheduler.StepLR + step_size: 5000 + gamma: 0.75 +max_batch_frames: 80000 +max_batch_size: 48 +max_updates: 60000 + +num_valid_plots: 10 +val_check_interval: 4000 +num_ckpt_keep: 8 +permanent_ckpt_start: 30000 +permanent_ckpt_interval: 10000 +pl_trainer_devices: 'auto' +pl_trainer_precision: '16-mixed' diff --git a/configs/templates/config_variance.yaml b/configs/templates/config_variance.yaml new file mode 100644 index 0000000..116154a --- /dev/null +++ b/configs/templates/config_variance.yaml @@ -0,0 +1,142 @@ +base_config: + - configs/variance.yaml + +dictionaries: + zh: dictionaries/opencpop-extension.txt +extra_phonemes: [] +merged_phoneme_groups: [] + +datasets: + - raw_data_dir: data/xxx1/raw + speaker: speaker1 + spk_id: 0 + language: zh + test_prefixes: + - wav1 + - wav2 + - wav3 + - wav4 + - wav5 + - raw_data_dir: data/xxx2/raw + speaker: speaker2 + spk_id: 1 + language: zh + test_prefixes: + - wav1 + - wav2 + - wav3 + - wav4 + - wav5 + +binary_data_dir: data/xxx/binary +binarization_args: + num_workers: 0 +pe: parselmouth +pe_ckpt: 'checkpoints/rmvpe/model.pt' +hnsep: vr +hnsep_ckpt: 'checkpoints/vr/model.pt' + +use_lang_id: false +num_lang: 1 +use_spk_id: false +num_spk: 1 +# NOTICE: before enabling variance modules, please read the docs at +# https://github.com/openvpi/DiffSinger/tree/main/docs/BestPractices.md#mutual-influence-between-variance-modules +predict_dur: false +predict_pitch: false +# NOTICE: before enabling variance predictions, please read the docs at +# https://github.com/openvpi/DiffSinger/tree/main/docs/BestPractices.md#choosing-variance-parameters +predict_energy: false +predict_breathiness: false +predict_voicing: false +predict_tension: false + +energy_db_min: -96.0 +energy_db_max: -12.0 + +breathiness_db_min: -96.0 +breathiness_db_max: -20.0 + +voicing_db_min: -96.0 +voicing_db_max: -12.0 + +tension_logit_min: -10.0 +tension_logit_max: 10.0 + +enc_ffn_kernel_size: 3 +use_rope: true +rope_interleaved: false +use_stretch_embed: false +use_variance_scaling: true +hidden_size: 384 +dur_prediction_args: + arch: resnet + hidden_size: 256 + dropout: 0.1 + num_layers: 5 + kernel_size: 3 + log_offset: 1.0 + loss_type: mse + lambda_pdur_loss: 0.3 + lambda_wdur_loss: 1.0 + lambda_sdur_loss: 3.0 + +use_melody_encoder: true +melody_encoder_args: + hidden_size: 128 + enc_layers: 4 +use_glide_embed: false +glide_types: [up, down] +glide_embed_scale: 11.313708498984760 # sqrt(128) + +diffusion_type: reflow + +pitch_prediction_args: + pitd_norm_min: -8.0 + pitd_norm_max: 8.0 + pitd_clip_min: -12.0 + pitd_clip_max: 12.0 + repeat_bins: 64 + backbone_type: 'lynxnet2' + backbone_args: + num_layers: 6 + num_channels: 512 + dropout_rate: 0.0 + use_conditioner_cache: true + glu_type: 'atanglu' + +variances_prediction_args: + total_repeat_bins: 72 + backbone_type: 'lynxnet2' + backbone_args: + num_layers: 6 + num_channels: 384 + dropout_rate: 0.0 + use_conditioner_cache: true + glu_type: 'atanglu' + +lambda_dur_loss: 1.0 +lambda_pitch_loss: 1.0 +lambda_var_loss: 1.0 + +optimizer_args: + optimizer_cls: modules.optimizer.muon.Muon_AdamW + lr: 0.0006 + muon_args: + weight_decay: 0.1 + adamw_args: + weight_decay: 0.0 +lr_scheduler_args: + step_size: 5000 + gamma: 0.8 +max_batch_frames: 80000 +max_batch_size: 48 +max_updates: 80000 + +num_valid_plots: 10 +val_check_interval: 2000 +num_ckpt_keep: 8 +permanent_ckpt_start: 30000 +permanent_ckpt_interval: 10000 +pl_trainer_devices: 'auto' +pl_trainer_precision: '16-mixed' diff --git a/configs/variance.yaml b/configs/variance.yaml new file mode 100644 index 0000000..d4e2036 --- /dev/null +++ b/configs/variance.yaml @@ -0,0 +1,152 @@ +base_config: + - configs/base.yaml + +task_cls: training.variance_task.VarianceTask + +dictionaries: {} +extra_phonemes: [] +merged_phoneme_groups: [] +datasets: [] + +audio_sample_rate: 44100 +hop_size: 512 # Hop size. +fft_size: 2048 # FFT size. +win_size: 2048 # FFT size. +midi_smooth_width: 0.06 # in seconds + +binarization_args: + shuffle: true + num_workers: 0 + prefer_ds: false + +binary_data_dir: 'data/opencpop_variance/binary' +binarizer_cls: preprocessing.variance_binarizer.VarianceBinarizer + +use_lang_id: false +num_lang: 1 +use_spk_id: false +num_spk: 1 + +predict_dur: true +predict_pitch: true +predict_energy: false +predict_breathiness: false +predict_voicing: false +predict_tension: false + +enc_ffn_kernel_size: 3 +use_rope: true +rope_interleaved: false +use_stretch_embed: false +use_variance_scaling: true +rel_pos: true +hidden_size: 384 + +dur_prediction_args: + arch: resnet + hidden_size: 256 + dropout: 0.1 + num_layers: 5 + kernel_size: 3 + log_offset: 1.0 + loss_type: mse + lambda_pdur_loss: 0.3 + lambda_wdur_loss: 1.0 + lambda_sdur_loss: 3.0 + +use_melody_encoder: true +melody_encoder_args: + hidden_size: 128 + enc_layers: 4 +use_glide_embed: false +glide_types: [up, down] +glide_embed_scale: 11.313708498984760 # sqrt(128) + +pitch_prediction_args: + pitd_norm_min: -8.0 + pitd_norm_max: 8.0 + pitd_clip_min: -12.0 + pitd_clip_max: 12.0 + repeat_bins: 64 + backbone_type: 'lynxnet2' + backbone_args: + num_layers: 6 + num_channels: 512 + dropout_rate: 0.0 + use_conditioner_cache: true + glu_type: 'atanglu' + +energy_db_min: -96.0 +energy_db_max: -12.0 +energy_smooth_width: 0.06 + +breathiness_db_min: -96.0 +breathiness_db_max: -20.0 +breathiness_smooth_width: 0.06 +voicing_db_min: -96.0 +voicing_db_max: -12.0 +voicing_smooth_width: 0.06 + +tension_logit_min: -10.0 +tension_logit_max: 10.0 +tension_smooth_width: 0.06 + +variances_prediction_args: + total_repeat_bins: 72 + backbone_type: 'lynxnet2' + backbone_args: + num_layers: 6 + num_channels: 384 + dropout_rate: 0.0 + use_conditioner_cache: true + glu_type: 'atanglu' + +lambda_dur_loss: 1.0 +lambda_pitch_loss: 1.0 +lambda_var_loss: 1.0 + +diffusion_type: reflow # ddpm +time_scale_factor: 1000 +schedule_type: 'linear' +K_step: 1000 +timesteps: 1000 +max_beta: 0.02 +main_loss_type: l2 +main_loss_log_norm: true +sampling_algorithm: euler +sampling_steps: 20 +diff_accelerator: ddim +diff_speedup: 10 + +# train and eval +num_sanity_val_steps: 1 +optimizer_args: + optimizer_cls: modules.optimizer.muon.Muon_AdamW + lr: 0.0006 + muon_args: + weight_decay: 0.1 + adamw_args: + weight_decay: 0.0 +lr_scheduler_args: + step_size: 5000 + gamma: 0.8 +max_batch_frames: 80000 +max_batch_size: 48 +dataset_size_key: 'lengths' +val_check_interval: 4000 +num_valid_plots: 10 +max_updates: 80000 +num_ckpt_keep: 5 +permanent_ckpt_start: 30000 +permanent_ckpt_interval: 10000 + +finetune_enabled: false +finetune_ckpt_path: null +finetune_ignored_params: + - model.spk_embed + - model.fs2.txt_embed + - model.fs2.encoder.embed_tokens +finetune_strict_shapes: true + +freezing_enabled: false +frozen_params: [] diff --git a/data/.gitkeep b/data/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/deployment/.gitignore b/deployment/.gitignore new file mode 100644 index 0000000..bab8dba --- /dev/null +++ b/deployment/.gitignore @@ -0,0 +1,7 @@ +*.ds +*.onnx +*.npy +*.wav +temp/ +cache/ +assets/ diff --git a/deployment/__init__.py b/deployment/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/deployment/benchmarks/infer_acoustic.py b/deployment/benchmarks/infer_acoustic.py new file mode 100644 index 0000000..588462a --- /dev/null +++ b/deployment/benchmarks/infer_acoustic.py @@ -0,0 +1,32 @@ +import numpy as np +import onnxruntime as ort +import tqdm + +n_tokens = 10 +n_frames = 100 +n_runs = 20 +speedup = 20 +provider = 'DmlExecutionProvider' + +tokens = np.array([[1] * n_tokens], dtype=np.int64) +durations = np.array([[n_frames // n_tokens] * n_tokens], dtype=np.int64) +f0 = np.array([[440.] * n_frames], dtype=np.float32) +speedup = np.array(speedup, dtype=np.int64) + +session = ort.InferenceSession('model1.onnx', providers=[provider]) +for _ in tqdm.tqdm(range(n_runs)): + session.run(['mel'], { + 'tokens': tokens, + 'durations': durations, + 'f0': f0, + 'speedup': speedup + }) + +session = ort.InferenceSession('model2.onnx', providers=[provider]) +for _ in tqdm.tqdm(range(n_runs)): + session.run(['mel'], { + 'tokens': tokens, + 'durations': durations, + 'f0': f0, + 'speedup': speedup + }) diff --git a/deployment/benchmarks/infer_nsf_hifigan.py b/deployment/benchmarks/infer_nsf_hifigan.py new file mode 100644 index 0000000..da348c8 --- /dev/null +++ b/deployment/benchmarks/infer_nsf_hifigan.py @@ -0,0 +1,16 @@ +import numpy as np +import onnxruntime as ort +import tqdm + +n_frames = 1000 +n_runs = 20 +mel = np.random.randn(1, n_frames, 128).astype(np.float32) +f0 = np.random.randn(1, n_frames).astype(np.float32) + 440. +provider = 'DmlExecutionProvider' + +session = ort.InferenceSession('nsf_hifigan.onnx', providers=[provider]) +for _ in tqdm.tqdm(range(n_runs)): + session.run(['waveform'], { + 'mel': mel, + 'f0': f0 + }) diff --git a/deployment/exporters/__init__.py b/deployment/exporters/__init__.py new file mode 100644 index 0000000..910d3e0 --- /dev/null +++ b/deployment/exporters/__init__.py @@ -0,0 +1,3 @@ +from .acoustic_exporter import DiffSingerAcousticExporter +from .variance_exporter import DiffSingerVarianceExporter +from .nsf_hifigan_exporter import NSFHiFiGANExporter diff --git a/deployment/exporters/acoustic_exporter.py b/deployment/exporters/acoustic_exporter.py new file mode 100644 index 0000000..1645c83 --- /dev/null +++ b/deployment/exporters/acoustic_exporter.py @@ -0,0 +1,424 @@ +import json +from pathlib import Path +from typing import Union, List, Tuple, Dict + +import onnx +import onnxsim +import torch +import yaml + +from basics.base_exporter import BaseExporter +from deployment.modules.toplevel import DiffSingerAcousticONNX +from modules.fastspeech.param_adaptor import VARIANCE_CHECKLIST +from utils import load_ckpt, onnx_helper, remove_suffix +from utils.hparams import hparams +from utils.phoneme_utils import load_phoneme_dictionary + + +class DiffSingerAcousticExporter(BaseExporter): + def __init__( + self, + device: Union[str, torch.device] = 'cpu', + cache_dir: Path = None, + ckpt_steps: int = None, + freeze_gender: float = None, + freeze_velocity: bool = False, + export_spk: List[Tuple[str, Dict[str, float]]] = None, + freeze_spk: Tuple[str, Dict[str, float]] = None + ): + super().__init__(device=device, cache_dir=cache_dir) + # Basic attributes + self.model_name: str = hparams['exp_name'] + self.ckpt_steps: int = ckpt_steps + self.spk_map: dict = self.build_spk_map() + self.lang_map: dict = self.build_lang_map() + self.phoneme_dictionary = load_phoneme_dictionary() + self.use_lang_id = hparams.get('use_lang_id', False) and len(self.phoneme_dictionary.cross_lingual_phonemes) > 0 + self.model = self.build_model() + self.fs2_aux_cache_path = self.cache_dir / ( + 'fs2_aux.onnx' if self.model.use_shallow_diffusion else 'fs2.onnx' + ) + self.diffusion_cache_path = self.cache_dir / 'diffusion.onnx' + + # Attributes for logging + self.model_class_name = remove_suffix(self.model.__class__.__name__, 'ONNX') + fs2_aux_cls_logging = [remove_suffix(self.model.fs2.__class__.__name__, 'ONNX')] + if self.model.use_shallow_diffusion: + fs2_aux_cls_logging.append(remove_suffix( + self.model.aux_decoder.decoder.__class__.__name__, 'ONNX' + )) + self.fs2_aux_class_name = ', '.join(fs2_aux_cls_logging) + self.aux_decoder_class_name = remove_suffix( + self.model.aux_decoder.decoder.__class__.__name__, 'ONNX' + ) if self.model.use_shallow_diffusion else None + self.backbone_class_name = remove_suffix(self.model.diffusion.backbone.__class__.__name__, 'ONNX') + self.diffusion_class_name = remove_suffix(self.model.diffusion.__class__.__name__, 'ONNX') + + # Attributes for exporting + self.expose_gender = freeze_gender is None + self.expose_velocity = not freeze_velocity + self.freeze_spk: Tuple[str, Dict[str, float]] = freeze_spk \ + if hparams['use_spk_id'] else None + self.export_spk: List[Tuple[str, Dict[str, float]]] = export_spk \ + if hparams['use_spk_id'] and export_spk is not None else [] + if hparams['use_key_shift_embed'] and not self.expose_gender: + shift_min, shift_max = hparams['augmentation_args']['random_pitch_shifting']['range'] + key_shift = freeze_gender * shift_max if freeze_gender >= 0. else freeze_gender * abs(shift_min) + key_shift = max(min(key_shift, shift_max), shift_min) # clip key shift + self.model.fs2.register_buffer('frozen_key_shift', torch.FloatTensor([key_shift]).to(self.device)) + if hparams['use_spk_id']: + if not self.export_spk and self.freeze_spk is None: + # In case the user did not specify any speaker settings: + if len(self.spk_map) == 1: + # If there is only one speaker, freeze him/her. + first_spk = next(iter(self.spk_map.keys())) + self.freeze_spk = (first_spk, {first_spk: 1.0}) + else: + # If there are multiple speakers, export them all. + self.export_spk = [(name, {name: 1.0}) for name in self.spk_map.keys()] + if self.freeze_spk is not None: + self.model.fs2.register_buffer('frozen_spk_embed', self._perform_spk_mix(self.freeze_spk[1])) + + def build_model(self) -> DiffSingerAcousticONNX: + model = DiffSingerAcousticONNX( + vocab_size=len(self.phoneme_dictionary), + out_dims=hparams['audio_num_mel_bins'], + cross_lingual_token_idx=sorted({ + self.phoneme_dictionary.encode_one(p) + for p in self.phoneme_dictionary.cross_lingual_phonemes + }) + ).eval().to(self.device) + load_ckpt(model, hparams['work_dir'], ckpt_steps=self.ckpt_steps, + prefix_in_ckpt='model', strict=True, device=self.device) + return model + + def export(self, path: Path): + path.mkdir(parents=True, exist_ok=True) + model_name = self.model_name + if self.freeze_spk is not None: + model_name += '.' + self.freeze_spk[0] + self.export_model(path / f'{model_name}.onnx') + self.export_attachments(path) + + def export_model(self, path: Path): + self._torch_export_model() + fs2_aux_onnx = self._optimize_fs2_aux_graph(onnx.load(self.fs2_aux_cache_path)) + diffusion_onnx = self._optimize_diffusion_graph(onnx.load(self.diffusion_cache_path)) + model_onnx = self._merge_fs2_aux_diffusion_graphs(fs2_aux_onnx, diffusion_onnx) + onnx.save(model_onnx, path) + self.fs2_aux_cache_path.unlink() + self.diffusion_cache_path.unlink() + print(f'| export model => {path}') + + def export_attachments(self, path: Path): + for spk in self.export_spk: + self._export_spk_embed( + path / f'{self.model_name}.{spk[0]}.emb', + self._perform_spk_mix(spk[1]) + ) + self.export_dictionaries(path) + self._export_phonemes(path) + + model_name = self.model_name + if self.freeze_spk is not None: + model_name += '.' + self.freeze_spk[0] + dsconfig = { + # basic configs + 'phonemes': f'{self.model_name}.phonemes.json', + 'languages': f'{self.model_name}.languages.json', + 'use_lang_id': self.use_lang_id, + 'acoustic': f'{model_name}.onnx', + 'hidden_size': hparams['hidden_size'], + 'vocoder': 'pc_nsf_hifigan_44.1k_hop512_128bin_2025.02', + } + # multi-speaker + if len(self.export_spk) > 0: + dsconfig['speakers'] = [f'{self.model_name}.{spk[0]}' for spk in self.export_spk] + # parameters + if self.expose_gender: + dsconfig['augmentation_args'] = { + 'random_pitch_shifting': { + 'range': hparams['augmentation_args']['random_pitch_shifting']['range'] + } + } + dsconfig['use_key_shift_embed'] = self.expose_gender + dsconfig['use_speed_embed'] = self.expose_velocity + for variance in VARIANCE_CHECKLIST: + dsconfig[f'use_{variance}_embed'] = (variance in self.model.fs2.variance_embed_list) + # sampling acceleration and shallow diffusion + dsconfig['use_continuous_acceleration'] = True + dsconfig['use_variable_depth'] = self.model.use_shallow_diffusion + dsconfig['max_depth'] = 1 - self.model.diffusion.t_start + # mel specification + dsconfig['sample_rate'] = hparams['audio_sample_rate'] + dsconfig['hop_size'] = hparams['hop_size'] + dsconfig['win_size'] = hparams['win_size'] + dsconfig['fft_size'] = hparams['fft_size'] + dsconfig['num_mel_bins'] = hparams['audio_num_mel_bins'] + dsconfig['mel_fmin'] = hparams['fmin'] + dsconfig['mel_fmax'] = hparams['fmax'] if hparams['fmax'] is not None else hparams['audio_sample_rate'] / 2 + dsconfig['mel_base'] = 'e' + dsconfig['mel_scale'] = 'slaney' + config_path = path / 'dsconfig.yaml' + with open(config_path, 'w', encoding='utf8') as fw: + yaml.safe_dump(dsconfig, fw, sort_keys=False) + print(f'| export configs => {config_path} **PLEASE EDIT BEFORE USE**') + + @torch.no_grad() + def _torch_export_model(self): + # Prepare inputs for FastSpeech2 and aux decoder tracing + n_frames = 10 + tokens = torch.LongTensor([[1]]).to(self.device) + durations = torch.LongTensor([[n_frames]]).to(self.device) + f0 = torch.FloatTensor([[440.] * n_frames]).to(self.device) + variances = { + v_name: torch.zeros(1, n_frames, dtype=torch.float32, device=self.device) + for v_name in self.model.fs2.variance_embed_list + } + kwargs: Dict[str, torch.Tensor] = {} + arguments = (tokens, durations, f0, variances, kwargs) + input_names = ['tokens', 'durations', 'f0'] + self.model.fs2.variance_embed_list + dynamic_axes = { + 'tokens': { + 1: 'n_tokens' + }, + 'durations': { + 1: 'n_tokens' + }, + 'f0': { + 1: 'n_frames' + }, + **{ + v_name: { + 1: 'n_frames' + } + for v_name in self.model.fs2.variance_embed_list + } + } + if hparams['use_key_shift_embed']: + if self.expose_gender: + kwargs['gender'] = torch.rand((1, n_frames), dtype=torch.float32, device=self.device) + input_names.append('gender') + dynamic_axes['gender'] = { + 1: 'n_frames' + } + if hparams['use_speed_embed']: + if self.expose_velocity: + kwargs['velocity'] = torch.rand((1, n_frames), dtype=torch.float32, device=self.device) + input_names.append('velocity') + dynamic_axes['velocity'] = { + 1: 'n_frames' + } + if hparams['use_spk_id'] and not self.freeze_spk: + kwargs['spk_embed'] = torch.rand( + (1, n_frames, hparams['hidden_size']), + dtype=torch.float32, device=self.device + ) + input_names.append('spk_embed') + dynamic_axes['spk_embed'] = { + 1: 'n_frames' + } + if self.use_lang_id: + kwargs['languages'] = torch.zeros_like(tokens) + input_names.append('languages') + dynamic_axes['languages'] = { + 1: 'n_tokens' + } + dynamic_axes['condition'] = { + 1: 'n_frames' + } + + # PyTorch ONNX export for FastSpeech2 and aux decoder + output_names = ['condition'] + if self.model.use_shallow_diffusion: + output_names.append('aux_mel') + dynamic_axes['aux_mel'] = { + 1: 'n_frames' + } + print(f'Exporting {self.fs2_aux_class_name}...') + torch.onnx.export( + self.model.view_as_fs2_aux(), + arguments, + self.fs2_aux_cache_path, + input_names=input_names, + output_names=output_names, + dynamic_axes=dynamic_axes, + opset_version=17, + **onnx_helper.TORCHSCRIPT_EXPORT_KWARGS + ) + + condition = torch.rand((1, n_frames, hparams['hidden_size']), device=self.device) + + # Prepare inputs for backbone tracing and GaussianDiffusion scripting + shape = (1, 1, hparams['audio_num_mel_bins'], n_frames) + noise = torch.randn(shape, device=self.device) + x_aux = torch.randn((1, n_frames, hparams['audio_num_mel_bins']), device=self.device) + dummy_time = (torch.rand((1,), device=self.device) * self.model.diffusion.time_scale_factor).float() + dummy_depth = torch.tensor(0.1, device=self.device) + dummy_steps = 5 + + print(f'Tracing {self.backbone_class_name} backbone...') + if self.model.diffusion_type == 'ddpm': + major_mel_decoder = self.model.view_as_diffusion() + elif self.model.diffusion_type == 'reflow': + major_mel_decoder = self.model.view_as_reflow() + else: + raise ValueError(f'Invalid diffusion type: {self.model.diffusion_type}') + major_mel_decoder.diffusion.set_backbone( + torch.jit.trace( + major_mel_decoder.diffusion.backbone, + ( + noise, + dummy_time, + condition.transpose(1, 2) + ) + ) + ) + + print(f'Scripting {self.diffusion_class_name}...') + diffusion_inputs = [ + condition, + *([x_aux, dummy_depth] if self.model.use_shallow_diffusion else []) + ] + major_mel_decoder = torch.jit.script( + major_mel_decoder, + example_inputs=[ + ( + *diffusion_inputs, + 1 # p_sample branch + ), + ( + *diffusion_inputs, + dummy_steps # p_sample_plms branch + ) + ] + ) + + # PyTorch ONNX export for GaussianDiffusion + print(f'Exporting {self.diffusion_class_name}...') + torch.onnx.export( + major_mel_decoder, + ( + *diffusion_inputs, + dummy_steps + ), + self.diffusion_cache_path, + input_names=[ + 'condition', + *(['x_aux', 'depth'] if self.model.use_shallow_diffusion else []), + 'steps' + ], + output_names=[ + 'mel' + ], + dynamic_axes={ + 'condition': { + 1: 'n_frames' + }, + **({'x_aux': {1: 'n_frames'}} if self.model.use_shallow_diffusion else {}), + 'mel': { + 1: 'n_frames' + } + }, + opset_version=17, + **onnx_helper.TORCHSCRIPT_EXPORT_KWARGS + ) + + @torch.no_grad() + def _perform_spk_mix(self, spk_mix: Dict[str, float]): + spk_mix_ids = [] + spk_mix_values = [] + for name, value in spk_mix.items(): + spk_mix_ids.append(self.spk_map[name]) + assert value >= 0., f'Speaker mix checks failed.\n' \ + f'Proportion of speaker \'{name}\' is negative.' + spk_mix_values.append(value) + spk_mix_id_N = torch.LongTensor(spk_mix_ids).to(self.device)[None] # => [1, N] + spk_mix_value_N = torch.FloatTensor(spk_mix_values).to(self.device)[None] # => [1, N] + spk_mix_value_sum = spk_mix_value_N.sum() + assert spk_mix_value_sum > 0., 'Speaker mix checks failed.\n' \ + 'Proportions of speaker mix sum to zero.' + spk_mix_value_N /= spk_mix_value_sum # normalize + spk_mix_embed = torch.sum( + self.model.fs2.spk_embed(spk_mix_id_N) * spk_mix_value_N.unsqueeze(2), # => [1, N, H] + dim=1, keepdim=True + ) # => [1, 1, H] + return spk_mix_embed + + def _optimize_fs2_aux_graph(self, fs2: onnx.ModelProto) -> onnx.ModelProto: + print(f'Running ONNX Simplifier on {self.fs2_aux_class_name}...') + fs2, check = onnxsim.simplify(fs2, include_subgraph=True) + assert check, 'Simplified ONNX model could not be validated' + onnx_helper.model_reorder_io_list( + fs2, 'input', + target_name='languages', insert_after_name='tokens' + ) + print(f'| optimize graph: {self.fs2_aux_class_name}') + return fs2 + + def _optimize_diffusion_graph(self, diffusion: onnx.ModelProto) -> onnx.ModelProto: + onnx_helper.model_override_io_shapes(diffusion, output_shapes={ + 'mel': (1, 'n_frames', hparams['audio_num_mel_bins']) + }) + print(f'Running ONNX Simplifier #1 on {self.diffusion_class_name}...') + diffusion, check = onnxsim.simplify(diffusion, include_subgraph=True) + assert check, 'Simplified ONNX model could not be validated' + onnx_helper.graph_fold_back_to_squeeze(diffusion.graph) + onnx_helper.graph_extract_conditioner_projections( + graph=diffusion.graph, op_type='Conv', + weight_pattern=r'diffusion\..*\.conditioner_projection\.weight', + alias_prefix='/diffusion/backbone/cache' + ) + onnx_helper.graph_remove_unused_values(diffusion.graph) + print(f'Running ONNX Simplifier #2 on {self.diffusion_class_name}...') + diffusion, check = onnxsim.simplify( + diffusion, + include_subgraph=True + ) + assert check, 'Simplified ONNX model could not be validated' + print(f'| optimize graph: {self.diffusion_class_name}') + return diffusion + + def _merge_fs2_aux_diffusion_graphs(self, fs2: onnx.ModelProto, diffusion: onnx.ModelProto) -> onnx.ModelProto: + onnx_helper.model_add_prefixes( + fs2, dim_prefix=('fs2aux.' if self.model.use_shallow_diffusion else 'fs2.'), + ignored_pattern=r'(n_tokens)|(n_frames)' + ) + onnx_helper.model_add_prefixes(diffusion, dim_prefix='diffusion.', ignored_pattern='n_frames') + print(f'Merging {self.fs2_aux_class_name} and {self.diffusion_class_name} ' + f'back into {self.model_class_name}...') + merged = onnx.compose.merge_models( + fs2, diffusion, io_map=[ + ('condition', 'condition'), + *([('aux_mel', 'x_aux')] if self.model.use_shallow_diffusion else []), + ], + prefix1='', prefix2='', doc_string='', + producer_name=fs2.producer_name, producer_version=fs2.producer_version, + domain=fs2.domain, model_version=fs2.model_version + ) + merged.graph.name = fs2.graph.name + + print(f'Running ONNX Simplifier on {self.model_class_name}...') + merged, check = onnxsim.simplify( + merged, + include_subgraph=True + ) + assert check, 'Simplified ONNX model could not be validated' + print(f'| optimize graph: {self.model_class_name}') + + return merged + + # noinspection PyMethodMayBeStatic + def _export_spk_embed(self, path: Path, spk_embed: torch.Tensor): + with open(path, 'wb') as f: + f.write(spk_embed.cpu().numpy().tobytes()) + print(f'| export spk embed => {path}') + + def _export_phonemes(self, path: Path): + ph_path = path / f'{self.model_name}.phonemes.json' + self.phoneme_dictionary.dump(ph_path) + print(f'| export phonemes => {ph_path}') + lang_path = path / f'{self.model_name}.languages.json' + with open(lang_path, 'w', encoding='utf8') as f: + json.dump(self.lang_map, f, ensure_ascii=False, indent=2) + print(f'| export languages => {lang_path}') diff --git a/deployment/exporters/nsf_hifigan_exporter.py b/deployment/exporters/nsf_hifigan_exporter.py new file mode 100644 index 0000000..26f2aa4 --- /dev/null +++ b/deployment/exporters/nsf_hifigan_exporter.py @@ -0,0 +1,127 @@ +import json +from pathlib import Path +from typing import Union + +import onnx +import onnxsim +import torch +import yaml +from torch import nn + +from basics.base_exporter import BaseExporter +from deployment.modules.nsf_hifigan import NSFHiFiGANONNX +from utils import load_ckpt, onnx_helper, remove_suffix +from utils.hparams import hparams + + +class NSFHiFiGANExporter(BaseExporter): + def __init__( + self, + device: Union[str, torch.device] = 'cpu', + cache_dir: Path = None, + model_path: Path = None, + model_name: str = 'nsf_hifigan' + ): + super().__init__(device=device, cache_dir=cache_dir) + self.model_path = model_path + self.model_name = model_name + self.vocoder_pitch_controllable = False + self.model = self.build_model() + self.model_class_name = remove_suffix(self.model.__class__.__name__, 'ONNX') + self.model_cache_path = (self.cache_dir / self.model_name).with_suffix('.onnx') + + def build_model(self) -> nn.Module: + config_path = self.model_path.with_name('config.json') + with open(config_path, 'r', encoding='utf8') as f: + config = json.load(f) + assert hparams.get('mel_base') == 'e', ( + "Mel base must be set to \'e\' according to 2nd stage of the migration plan. " + "See https://github.com/openvpi/DiffSinger/releases/tag/v2.3.0 for more details." + ) + model = NSFHiFiGANONNX(config).eval().to(self.device) + self.vocoder_pitch_controllable = config.get("pc_aug", False) + load_ckpt(model.generator, str(self.model_path), + prefix_in_ckpt=None, key_in_ckpt='generator', + strict=True, device=self.device) + model.generator.remove_weight_norm() + return model + + def export(self, path: Path): + path.mkdir(parents=True, exist_ok=True) + self.export_model(path / self.model_cache_path.name) + self.export_attachments(path) + + def export_model(self, path: Path): + self._torch_export_model() + model_onnx = self._optimize_model_graph(onnx.load(self.model_cache_path)) + onnx.save(model_onnx, path) + self.model_cache_path.unlink() + print(f'| export model => {path}') + + def export_attachments(self, path: Path): + config_path = path / 'vocoder.yaml' + with open(config_path, 'w', encoding='utf8') as fw: + yaml.safe_dump({ + # basic configs + 'name': self.model_name, + 'model': self.model_cache_path.name, + # mel specifications + 'sample_rate': hparams['audio_sample_rate'], + 'hop_size': hparams['hop_size'], + 'win_size': hparams['win_size'], + 'fft_size': hparams['fft_size'], + 'num_mel_bins': hparams['audio_num_mel_bins'], + 'mel_fmin': hparams['fmin'], + 'mel_fmax': hparams['fmax'] if hparams['fmax'] is not None else hparams['audio_sample_rate'] / 2, + 'mel_base': 'e', + 'mel_scale': 'slaney', + 'pitch_controllable': self.vocoder_pitch_controllable, + # Some old vocoder versions may have severe performance issues on CUDA; + # the issues were fixed in newer versions, and this flag is to distinguish them + 'force_on_cpu': False, + }, fw, sort_keys=False) + print(f'| export configs => {config_path} **PLEASE EDIT BEFORE USE**') + + @torch.no_grad() + def _torch_export_model(self): + # Prepare inputs for NSFHiFiGAN + n_frames = 10 + mel = torch.randn((1, n_frames, hparams['audio_num_mel_bins']), dtype=torch.float32, device=self.device) + f0 = torch.randn((1, n_frames), dtype=torch.float32, device=self.device) + 440. + + # PyTorch ONNX export for NSFHiFiGAN + print(f'Exporting {self.model_class_name}...') + torch.onnx.export( + self.model, + ( + mel, + f0 + ), + self.model_cache_path, + input_names=[ + 'mel', + 'f0' + ], + output_names=[ + 'waveform' + ], + dynamic_axes={ + 'mel': { + 1: 'n_frames' + }, + 'f0': { + 1: 'n_frames' + }, + 'waveform': { + 1: 'n_samples' + } + }, + opset_version=17, + **onnx_helper.TORCHSCRIPT_EXPORT_KWARGS + ) + + def _optimize_model_graph(self, model: onnx.ModelProto) -> onnx.ModelProto: + print(f'Running ONNX simplifier for {self.model_class_name}...') + model, check = onnxsim.simplify(model, include_subgraph=True) + assert check, 'Simplified ONNX model could not be validated' + return model diff --git a/deployment/exporters/variance_exporter.py b/deployment/exporters/variance_exporter.py new file mode 100644 index 0000000..e8832ff --- /dev/null +++ b/deployment/exporters/variance_exporter.py @@ -0,0 +1,808 @@ +import json +from pathlib import Path +from typing import Union, List, Tuple, Dict + +import onnx +import onnxsim +import torch +import yaml + +from basics.base_exporter import BaseExporter +from deployment.modules.toplevel import DiffSingerVarianceONNX +from modules.fastspeech.param_adaptor import VARIANCE_CHECKLIST +from utils import load_ckpt, onnx_helper, remove_suffix +from utils.hparams import hparams +from utils.phoneme_utils import load_phoneme_dictionary + + +class DiffSingerVarianceExporter(BaseExporter): + def __init__( + self, + device: Union[str, torch.device] = 'cpu', + cache_dir: Path = None, + ckpt_steps: int = None, + freeze_glide: bool = False, + freeze_expr: bool = False, + export_spk: List[Tuple[str, Dict[str, float]]] = None, + freeze_spk: Tuple[str, Dict[str, float]] = None + ): + super().__init__(device=device, cache_dir=cache_dir) + # Basic attributes + self.model_name: str = hparams['exp_name'] + self.ckpt_steps: int = ckpt_steps + self.spk_map: dict = self.build_spk_map() + self.lang_map: dict = self.build_lang_map() + self.phoneme_dictionary = load_phoneme_dictionary() + self.use_lang_id = hparams.get('use_lang_id', False) and len(self.phoneme_dictionary.cross_lingual_phonemes) > 0 + self.model = self.build_model() + self.linguistic_encoder_cache_path = self.cache_dir / 'linguistic.onnx' + self.dur_predictor_cache_path = self.cache_dir / 'dur.onnx' + self.pitch_preprocess_cache_path = self.cache_dir / 'pitch_pre.onnx' + self.pitch_predictor_cache_path = self.cache_dir / 'pitch.onnx' + self.pitch_postprocess_cache_path = self.cache_dir / 'pitch_post.onnx' + self.variance_preprocess_cache_path = self.cache_dir / 'variance_pre.onnx' + self.multi_var_predictor_cache_path = self.cache_dir / 'variance.onnx' + self.variance_postprocess_cache_path = self.cache_dir / 'variance_post.onnx' + + # Attributes for logging + self.fs2_class_name = remove_suffix(self.model.fs2.__class__.__name__, 'ONNX') + self.dur_predictor_class_name = \ + remove_suffix(self.model.fs2.dur_predictor.__class__.__name__, 'ONNX') \ + if self.model.predict_dur else None + self.pitch_backbone_class_name = \ + remove_suffix(self.model.pitch_predictor.backbone.__class__.__name__, 'ONNX') \ + if self.model.predict_pitch else None + self.pitch_predictor_class_name = \ + remove_suffix(self.model.pitch_predictor.__class__.__name__, 'ONNX') \ + if self.model.predict_pitch else None + self.variance_backbone_class_name = \ + remove_suffix(self.model.variance_predictor.backbone.__class__.__name__, 'ONNX') \ + if self.model.predict_variances else None + self.multi_var_predictor_class_name = \ + remove_suffix(self.model.variance_predictor.__class__.__name__, 'ONNX') \ + if self.model.predict_variances else None + + # Attributes for exporting + self.expose_expr = not freeze_expr + self.freeze_glide = freeze_glide + self.freeze_spk: Tuple[str, Dict[str, float]] = freeze_spk \ + if hparams['use_spk_id'] else None + self.export_spk: List[Tuple[str, Dict[str, float]]] = export_spk \ + if hparams['use_spk_id'] and export_spk is not None else [] + if hparams['use_spk_id']: + if not self.export_spk and self.freeze_spk is None: + # In case the user did not specify any speaker settings: + if len(self.spk_map) == 1: + # If there is only one speaker, freeze him/her. + first_spk = next(iter(self.spk_map.keys())) + self.freeze_spk = (first_spk, {first_spk: 1.0}) + else: + # If there are multiple speakers, export them all. + self.export_spk = [(name, {name: 1.0}) for name in self.spk_map.keys()] + if self.freeze_spk is not None: + self.model.register_buffer('frozen_spk_embed', self._perform_spk_mix(self.freeze_spk[1])) + + def build_model(self) -> DiffSingerVarianceONNX: + model = DiffSingerVarianceONNX( + vocab_size=len(self.phoneme_dictionary), + cross_lingual_token_idx=sorted({ + self.phoneme_dictionary.encode_one(p) + for p in self.phoneme_dictionary.cross_lingual_phonemes + }) + ).eval().to(self.device) + load_ckpt(model, hparams['work_dir'], ckpt_steps=self.ckpt_steps, + prefix_in_ckpt='model', strict=True, device=self.device) + model.build_smooth_op(self.device) + return model + + def export(self, path: Path): + path.mkdir(parents=True, exist_ok=True) + model_name = self.model_name + if self.freeze_spk is not None: + model_name += '.' + self.freeze_spk[0] + self.export_model(path, model_name) + self.export_attachments(path) + + def export_model(self, path: Path, model_name: str = None): + self._torch_export_model() + linguistic_onnx = self._optimize_linguistic_graph(onnx.load(self.linguistic_encoder_cache_path)) + linguistic_path = path / f'{model_name}.linguistic.onnx' + onnx.save(linguistic_onnx, linguistic_path) + print(f'| export linguistic encoder => {linguistic_path}') + self.linguistic_encoder_cache_path.unlink() + if self.model.predict_dur: + dur_predictor_onnx = self._optimize_dur_predictor_graph(onnx.load(self.dur_predictor_cache_path)) + dur_predictor_path = path / f'{model_name}.dur.onnx' + onnx.save(dur_predictor_onnx, dur_predictor_path) + self.dur_predictor_cache_path.unlink() + print(f'| export dur predictor => {dur_predictor_path}') + if self.model.predict_pitch: + pitch_predictor_onnx = self._optimize_merge_pitch_predictor_graph( + onnx.load(self.pitch_preprocess_cache_path), + onnx.load(self.pitch_predictor_cache_path), + onnx.load(self.pitch_postprocess_cache_path) + ) + pitch_predictor_path = path / f'{model_name}.pitch.onnx' + onnx.save(pitch_predictor_onnx, pitch_predictor_path) + self.pitch_preprocess_cache_path.unlink() + self.pitch_predictor_cache_path.unlink() + self.pitch_postprocess_cache_path.unlink() + print(f'| export pitch predictor => {pitch_predictor_path}') + if self.model.predict_variances: + variance_predictor_onnx = self._optimize_merge_variance_predictor_graph( + onnx.load(self.variance_preprocess_cache_path), + onnx.load(self.multi_var_predictor_cache_path), + onnx.load(self.variance_postprocess_cache_path) + ) + variance_predictor_path = path / f'{model_name}.variance.onnx' + onnx.save(variance_predictor_onnx, variance_predictor_path) + self.variance_preprocess_cache_path.unlink() + self.multi_var_predictor_cache_path.unlink() + self.variance_postprocess_cache_path.unlink() + print(f'| export variance predictor => {variance_predictor_path}') + + def export_attachments(self, path: Path): + for spk in self.export_spk: + self._export_spk_embed( + path / f'{self.model_name}.{spk[0]}.emb', + self._perform_spk_mix(spk[1]) + ) + self.export_dictionaries(path) + self._export_phonemes(path) + + model_name = self.model_name + if self.freeze_spk is not None: + model_name += '.' + self.freeze_spk[0] + dsconfig = { + # basic configs + 'phonemes': f'{self.model_name}.phonemes.json', + 'languages': f'{self.model_name}.languages.json', + 'use_lang_id': self.use_lang_id, + 'linguistic': f'{model_name}.linguistic.onnx', + 'hidden_size': self.model.hidden_size, + 'predict_dur': self.model.predict_dur, + } + # multi-speaker + if len(self.export_spk) > 0: + dsconfig['speakers'] = [f'{self.model_name}.{spk[0]}' for spk in self.export_spk] + # functionalities + if self.model.predict_dur: + dsconfig['dur'] = f'{model_name}.dur.onnx' + if self.model.predict_pitch: + dsconfig['pitch'] = f'{model_name}.pitch.onnx' + dsconfig['use_expr'] = self.expose_expr + dsconfig['use_note_rest'] = self.model.use_melody_encoder + if self.model.predict_variances: + dsconfig['variance'] = f'{model_name}.variance.onnx' + for variance in VARIANCE_CHECKLIST: + dsconfig[f'predict_{variance}'] = (variance in self.model.variance_prediction_list) + # sampling acceleration + dsconfig['use_continuous_acceleration'] = True + # frame specifications + dsconfig['sample_rate'] = hparams['audio_sample_rate'] + dsconfig['hop_size'] = hparams['hop_size'] + config_path = path / 'dsconfig.yaml' + with open(config_path, 'w', encoding='utf8') as fw: + yaml.safe_dump(dsconfig, fw, sort_keys=False) + print(f'| export configs => {config_path} **PLEASE EDIT BEFORE USE**') + + @torch.no_grad() + def _torch_export_model(self): + # Prepare inputs for FastSpeech2 and dur predictor tracing + tokens = torch.LongTensor([[1] * 5]).to(self.device) + ph_dur = torch.LongTensor([[3, 5, 2, 1, 4]]).to(self.device) + word_div = torch.LongTensor([[2, 2, 1]]).to(self.device) + word_dur = torch.LongTensor([[8, 3, 4]]).to(self.device) + languages = torch.LongTensor([[0] * 5]).to(self.device) + encoder_out = torch.rand(1, 5, hparams['hidden_size'], dtype=torch.float32, device=self.device) + x_masks = tokens == 0 + ph_midi = torch.LongTensor([[60] * 5]).to(self.device) + encoder_output_names = ['encoder_out', 'x_masks'] + encoder_common_axes = { + 'encoder_out': { + 1: 'n_tokens' + }, + 'x_masks': { + 1: 'n_tokens' + } + } + input_lang_id = self.use_lang_id + input_spk_embed = hparams['use_spk_id'] and not self.freeze_spk + + print(f'Exporting {self.fs2_class_name}...') + if self.model.predict_dur: + torch.onnx.export( + self.model.view_as_linguistic_encoder(), + ( + tokens, + word_div, + word_dur, + *([languages] if input_lang_id else []) + ), + self.linguistic_encoder_cache_path, + input_names=[ + 'tokens', + 'word_div', + 'word_dur', + *(['languages'] if input_lang_id else []) + ], + output_names=encoder_output_names, + dynamic_axes={ + 'tokens': { + 1: 'n_tokens' + }, + 'word_div': { + 1: 'n_words' + }, + 'word_dur': { + 1: 'n_words' + }, + **encoder_common_axes, + **({'languages': {1: 'n_tokens'}} if input_lang_id else {}) + }, + opset_version=17, + **onnx_helper.TORCHSCRIPT_EXPORT_KWARGS + ) + + print(f'Exporting {self.dur_predictor_class_name}...') + torch.onnx.export( + self.model.view_as_dur_predictor(), + ( + encoder_out, + x_masks, + ph_midi, + *([torch.rand( + 1, 5, hparams['hidden_size'], + dtype=torch.float32, device=self.device + )] if input_spk_embed else []) + ), + self.dur_predictor_cache_path, + input_names=[ + 'encoder_out', + 'x_masks', + 'ph_midi', + *(['spk_embed'] if input_spk_embed else []) + ], + output_names=[ + 'ph_dur_pred' + ], + dynamic_axes={ + 'ph_midi': { + 1: 'n_tokens' + }, + 'ph_dur_pred': { + 1: 'n_tokens' + }, + **({'spk_embed': {1: 'n_tokens'}} if input_spk_embed else {}), + **encoder_common_axes + }, + opset_version=17, + **onnx_helper.TORCHSCRIPT_EXPORT_KWARGS + ) + else: + torch.onnx.export( + self.model.view_as_linguistic_encoder(), + ( + tokens, + ph_dur, + *([languages] if input_lang_id else []) + ), + self.linguistic_encoder_cache_path, + input_names=[ + 'tokens', + 'ph_dur', + *(['languages'] if input_lang_id else []) + ], + output_names=encoder_output_names, + dynamic_axes={ + 'tokens': { + 1: 'n_tokens' + }, + 'ph_dur': { + 1: 'n_tokens' + }, + **encoder_common_axes, + **({'languages': {1: 'n_tokens'}} if input_lang_id else {}) + }, + opset_version=17, + **onnx_helper.TORCHSCRIPT_EXPORT_KWARGS + ) + + # Common dummy inputs + dummy_time = (torch.rand((1,), device=self.device) * hparams.get('time_scale_factor', 1.0)).float() + dummy_steps = 5 + + if self.model.predict_pitch: + use_melody_encoder = hparams.get('use_melody_encoder', False) + use_glide_embed = use_melody_encoder and hparams['use_glide_embed'] and not self.freeze_glide + # Prepare inputs for preprocessor of the pitch predictor + note_midi = torch.FloatTensor([[60.] * 4]).to(self.device) + note_dur = torch.LongTensor([[2, 6, 3, 4]]).to(self.device) + pitch = torch.FloatTensor([[60.] * 15]).to(self.device) + retake = torch.ones_like(pitch, dtype=torch.bool) + pitch_input_args = ( + encoder_out, + ph_dur, + { + 'note_midi': note_midi, + **({'note_rest': note_midi >= 0} if use_melody_encoder else {}), + 'note_dur': note_dur, + **({'note_glide': torch.zeros_like(note_midi, dtype=torch.long)} if use_glide_embed else {}), + 'pitch': pitch, + **({'expr': torch.ones_like(pitch)} if self.expose_expr else {}), + 'retake': retake, + **({'spk_embed': torch.rand( + 1, 15, hparams['hidden_size'], dtype=torch.float32, device=self.device + )} if input_spk_embed else {}) + } + ) + torch.onnx.export( + self.model.view_as_pitch_preprocess(), + pitch_input_args, + self.pitch_preprocess_cache_path, + input_names=[ + 'encoder_out', 'ph_dur', 'note_midi', + *(['note_rest'] if use_melody_encoder else []), + 'note_dur', + *(['note_glide'] if use_glide_embed else []), + 'pitch', + *(['expr'] if self.expose_expr else []), + 'retake', + *(['spk_embed'] if input_spk_embed else []) + ], + output_names=[ + 'pitch_cond', 'base_pitch' + ], + dynamic_axes={ + 'encoder_out': { + 1: 'n_tokens' + }, + 'ph_dur': { + 1: 'n_tokens' + }, + 'note_midi': { + 1: 'n_notes' + }, + **({'note_rest': {1: 'n_notes'}} if use_melody_encoder else {}), + 'note_dur': { + 1: 'n_notes' + }, + **({'note_glide': {1: 'n_notes'}} if use_glide_embed else {}), + 'pitch': { + 1: 'n_frames' + }, + **({'expr': {1: 'n_frames'}} if self.expose_expr else {}), + 'retake': { + 1: 'n_frames' + }, + 'pitch_cond': { + 1: 'n_frames' + }, + 'base_pitch': { + 1: 'n_frames' + }, + **({'spk_embed': {1: 'n_frames'}} if input_spk_embed else {}) + }, + opset_version=17, + **onnx_helper.TORCHSCRIPT_EXPORT_KWARGS + ) + + # Prepare inputs for backbone tracing and pitch predictor scripting + shape = (1, 1, hparams['pitch_prediction_args']['repeat_bins'], 15) + noise = torch.randn(shape, device=self.device) + condition = torch.rand((1, hparams['hidden_size'], 15), device=self.device) + + print(f'Tracing {self.pitch_backbone_class_name} backbone...') + pitch_predictor = self.model.view_as_pitch_predictor() + pitch_predictor.pitch_predictor.set_backbone( + torch.jit.trace( + pitch_predictor.pitch_predictor.backbone, + ( + noise, + dummy_time, + condition + ) + ) + ) + + print(f'Scripting {self.pitch_predictor_class_name}...') + pitch_predictor = torch.jit.script( + pitch_predictor, + example_inputs=[ + ( + condition.transpose(1, 2), + 1 # p_sample branch + ), + ( + condition.transpose(1, 2), + dummy_steps # p_sample_plms branch + ) + ] + ) + + print(f'Exporting {self.pitch_predictor_class_name}...') + torch.onnx.export( + pitch_predictor, + ( + condition.transpose(1, 2), + dummy_steps + ), + self.pitch_predictor_cache_path, + input_names=[ + 'pitch_cond', + 'steps' + ], + output_names=[ + 'x_pred' + ], + dynamic_axes={ + 'pitch_cond': { + 1: 'n_frames' + }, + 'x_pred': { + 1: 'n_frames' + } + }, + opset_version=17, + **onnx_helper.TORCHSCRIPT_EXPORT_KWARGS + ) + + # Prepare inputs for postprocessor of the multi-variance predictor + torch.onnx.export( + self.model.view_as_pitch_postprocess(), + ( + pitch, + pitch + ), + self.pitch_postprocess_cache_path, + input_names=[ + 'x_pred', + 'base_pitch' + ], + output_names=[ + 'pitch_pred' + ], + dynamic_axes={ + 'x_pred': { + 1: 'n_frames' + }, + 'base_pitch': { + 1: 'n_frames' + }, + 'pitch_pred': { + 1: 'n_frames' + } + }, + opset_version=17, + **onnx_helper.TORCHSCRIPT_EXPORT_KWARGS + ) + + if self.model.predict_variances: + total_repeat_bins = hparams['variances_prediction_args']['total_repeat_bins'] + repeat_bins = total_repeat_bins // len(self.model.variance_prediction_list) + + # Prepare inputs for preprocessor of the multi-variance predictor + pitch = torch.FloatTensor([[60.] * 15]).to(self.device) + variances = { + v_name: torch.FloatTensor([[0.] * 15]).to(self.device) + for v_name in self.model.variance_prediction_list + } + retake = torch.ones_like(pitch, dtype=torch.bool)[..., None].tile(len(self.model.variance_prediction_list)) + torch.onnx.export( + self.model.view_as_variance_preprocess(), + ( + encoder_out, + ph_dur, + pitch, + variances, + retake, + *([torch.rand( + 1, 15, hparams['hidden_size'], + dtype=torch.float32, device=self.device + )] if input_spk_embed else []) + ), + self.variance_preprocess_cache_path, + input_names=[ + 'encoder_out', 'ph_dur', 'pitch', + *self.model.variance_prediction_list, + 'retake', + *(['spk_embed'] if input_spk_embed else []) + ], + output_names=[ + 'variance_cond' + ], + dynamic_axes={ + 'encoder_out': { + 1: 'n_tokens' + }, + 'ph_dur': { + 1: 'n_tokens' + }, + 'pitch': { + 1: 'n_frames' + }, + **{ + v_name: { + 1: 'n_frames' + } + for v_name in self.model.variance_prediction_list + }, + 'retake': { + 1: 'n_frames' + }, + **({'spk_embed': {1: 'n_frames'}} if input_spk_embed else {}) + }, + opset_version=17, + **onnx_helper.TORCHSCRIPT_EXPORT_KWARGS + ) + + # Prepare inputs for backbone tracing and multi-variance predictor scripting + shape = (1, len(self.model.variance_prediction_list), repeat_bins, 15) + noise = torch.randn(shape, device=self.device) + condition = torch.rand((1, hparams['hidden_size'], 15), device=self.device) + step = (torch.rand((1,), device=self.device) * hparams.get('time_scale_factor', hparams['K_step'])) + + print(f'Tracing {self.variance_backbone_class_name} backbone...') + multi_var_predictor = self.model.view_as_variance_predictor() + multi_var_predictor.variance_predictor.set_backbone( + torch.jit.trace( + multi_var_predictor.variance_predictor.backbone, + ( + noise, + step, + condition + ) + ) + ) + + print(f'Scripting {self.multi_var_predictor_class_name}...') + multi_var_predictor = torch.jit.script( + multi_var_predictor, + example_inputs=[ + ( + condition.transpose(1, 2), + 1 # p_sample branch + ), + ( + condition.transpose(1, 2), + dummy_steps # p_sample_plms branch + ) + ] + ) + + print(f'Exporting {self.multi_var_predictor_class_name}...') + torch.onnx.export( + multi_var_predictor, + ( + condition.transpose(1, 2), + dummy_steps + ), + self.multi_var_predictor_cache_path, + input_names=[ + 'variance_cond', + 'steps' + ], + output_names=[ + 'xs_pred' + ], + dynamic_axes={ + 'variance_cond': { + 1: 'n_frames' + }, + 'xs_pred': { + (1 if len(self.model.variance_prediction_list) == 1 else 2): 'n_frames' + } + }, + opset_version=17, + **onnx_helper.TORCHSCRIPT_EXPORT_KWARGS + ) + + # Prepare inputs for postprocessor of the multi-variance predictor + xs_shape = (1, 15) \ + if len(self.model.variance_prediction_list) == 1 \ + else (1, len(self.model.variance_prediction_list), 15) + xs_pred = torch.randn(xs_shape, dtype=torch.float32, device=self.device) + torch.onnx.export( + self.model.view_as_variance_postprocess(), + ( + xs_pred + ), + self.variance_postprocess_cache_path, + input_names=[ + 'xs_pred' + ], + output_names=[ + f'{v_name}_pred' + for v_name in self.model.variance_prediction_list + ], + dynamic_axes={ + 'xs_pred': { + (1 if len(self.model.variance_prediction_list) == 1 else 2): 'n_frames' + }, + **{ + f'{v_name}_pred': { + 1: 'n_frames' + } + for v_name in self.model.variance_prediction_list + } + }, + opset_version=17, + **onnx_helper.TORCHSCRIPT_EXPORT_KWARGS + ) + + @torch.no_grad() + def _perform_spk_mix(self, spk_mix: Dict[str, float]): + spk_mix_ids = [] + spk_mix_values = [] + for name, value in spk_mix.items(): + spk_mix_ids.append(self.spk_map[name]) + assert value >= 0., f'Speaker mix checks failed.\n' \ + f'Proportion of speaker \'{name}\' is negative.' + spk_mix_values.append(value) + spk_mix_id_N = torch.LongTensor(spk_mix_ids).to(self.device)[None] # => [1, N] + spk_mix_value_N = torch.FloatTensor(spk_mix_values).to(self.device)[None] # => [1, N] + spk_mix_value_sum = spk_mix_value_N.sum() + assert spk_mix_value_sum > 0., 'Speaker mix checks failed.\n' \ + 'Proportions of speaker mix sum to zero.' + spk_mix_value_N /= spk_mix_value_sum # normalize + spk_mix_embed = torch.sum( + self.model.spk_embed(spk_mix_id_N) * spk_mix_value_N.unsqueeze(2), # => [1, N, H] + dim=1, keepdim=True + ) # => [1, 1, H] + return spk_mix_embed + + def _optimize_linguistic_graph(self, linguistic: onnx.ModelProto) -> onnx.ModelProto: + onnx_helper.model_override_io_shapes( + linguistic, + output_shapes={ + 'encoder_out': (1, 'n_tokens', hparams['hidden_size']) + } + ) + print(f'Running ONNX Simplifier on {self.fs2_class_name}...') + linguistic, check = onnxsim.simplify(linguistic, include_subgraph=True) + assert check, 'Simplified ONNX model could not be validated' + onnx_helper.model_reorder_io_list( + linguistic, 'input', + target_name='languages', insert_after_name='tokens' + ) + print(f'| optimize graph: {self.fs2_class_name}') + return linguistic + + def _optimize_dur_predictor_graph(self, dur_predictor: onnx.ModelProto) -> onnx.ModelProto: + onnx_helper.model_override_io_shapes( + dur_predictor, + output_shapes={ + 'ph_dur_pred': (1, 'n_tokens') + } + ) + print(f'Running ONNX Simplifier on {self.dur_predictor_class_name}...') + dur_predictor, check = onnxsim.simplify(dur_predictor, include_subgraph=True) + assert check, 'Simplified ONNX model could not be validated' + print(f'| optimize graph: {self.dur_predictor_class_name}') + return dur_predictor + + def _optimize_merge_pitch_predictor_graph( + self, pitch_pre: onnx.ModelProto, pitch_predictor: onnx.ModelProto, pitch_post: onnx.ModelProto + ) -> onnx.ModelProto: + onnx_helper.model_override_io_shapes( + pitch_pre, output_shapes={'pitch_cond': (1, 'n_frames', hparams['hidden_size'])} + ) + pitch_pre, check = onnxsim.simplify(pitch_pre, include_subgraph=True) + assert check, 'Simplified ONNX model could not be validated' + + onnx_helper.model_override_io_shapes( + pitch_predictor, output_shapes={'pitch_pred': (1, 'n_frames')} + ) + print(f'Running ONNX Simplifier #1 on {self.pitch_predictor_class_name}...') + pitch_predictor, check = onnxsim.simplify(pitch_predictor, include_subgraph=True) + assert check, 'Simplified ONNX model could not be validated' + onnx_helper.graph_fold_back_to_squeeze(pitch_predictor.graph) + onnx_helper.graph_extract_conditioner_projections( + graph=pitch_predictor.graph, op_type='Conv', + weight_pattern=r'pitch_predictor\..*\.conditioner_projection\.weight', + alias_prefix='/pitch_predictor/backbone/cache' + ) + onnx_helper.graph_remove_unused_values(pitch_predictor.graph) + print(f'Running ONNX Simplifier #2 on {self.pitch_predictor_class_name}...') + pitch_predictor, check = onnxsim.simplify(pitch_predictor, include_subgraph=True) + assert check, 'Simplified ONNX model could not be validated' + + onnx_helper.model_add_prefixes(pitch_pre, node_prefix='/pre', ignored_pattern=r'.*embed.*') + onnx_helper.model_add_prefixes(pitch_pre, dim_prefix='pre.', ignored_pattern='(n_tokens)|(n_notes)|(n_frames)') + onnx_helper.model_add_prefixes(pitch_post, node_prefix='/post', ignored_pattern=None) + onnx_helper.model_add_prefixes(pitch_post, dim_prefix='post.', ignored_pattern='n_frames') + pitch_pre_diffusion = onnx.compose.merge_models( + pitch_pre, pitch_predictor, io_map=[('pitch_cond', 'pitch_cond')], + prefix1='', prefix2='', doc_string='', + producer_name=pitch_pre.producer_name, producer_version=pitch_pre.producer_version, + domain=pitch_pre.domain, model_version=pitch_pre.model_version + ) + pitch_pre_diffusion.graph.name = pitch_pre.graph.name + pitch_predictor = onnx.compose.merge_models( + pitch_pre_diffusion, pitch_post, io_map=[ + ('x_pred', 'x_pred'), ('base_pitch', 'base_pitch') + ], prefix1='', prefix2='', doc_string='', + producer_name=pitch_pre.producer_name, producer_version=pitch_pre.producer_version, + domain=pitch_pre.domain, model_version=pitch_pre.model_version + ) + pitch_predictor.graph.name = pitch_pre.graph.name + + print(f'| optimize graph: {self.pitch_predictor_class_name}') + return pitch_predictor + + def _optimize_merge_variance_predictor_graph( + self, var_pre: onnx.ModelProto, var_diffusion: onnx.ModelProto, var_post: onnx.ModelProto + ): + onnx_helper.model_override_io_shapes( + var_pre, output_shapes={'variance_cond': (1, 'n_frames', hparams['hidden_size'])} + ) + var_pre, check = onnxsim.simplify(var_pre, include_subgraph=True) + assert check, 'Simplified ONNX model could not be validated' + + onnx_helper.model_override_io_shapes( + var_diffusion, output_shapes={ + 'xs_pred': (1, 'n_frames') + if len(self.model.variance_prediction_list) == 1 + else (1, len(self.model.variance_prediction_list), 'n_frames') + } + ) + print(f'Running ONNX Simplifier #1 on {self.multi_var_predictor_class_name}...') + var_diffusion, check = onnxsim.simplify(var_diffusion, include_subgraph=True) + assert check, 'Simplified ONNX model could not be validated' + onnx_helper.graph_fold_back_to_squeeze(var_diffusion.graph) + onnx_helper.graph_extract_conditioner_projections( + graph=var_diffusion.graph, op_type='Conv', + weight_pattern=r'variance_predictor\..*\.conditioner_projection\.weight', + alias_prefix='/variance_predictor/backbone/cache' + ) + onnx_helper.graph_remove_unused_values(var_diffusion.graph) + print(f'Running ONNX Simplifier #2 on {self.multi_var_predictor_class_name}...') + var_diffusion, check = onnxsim.simplify(var_diffusion, include_subgraph=True) + assert check, 'Simplified ONNX model could not be validated' + + var_post, check = onnxsim.simplify(var_post, include_subgraph=True) + assert check, 'Simplified ONNX model could not be validated' + + ignored_variance_names = '|'.join([f'({v_name})' for v_name in self.model.variance_prediction_list]) + onnx_helper.model_add_prefixes( + var_pre, node_prefix='/pre', value_info_prefix='/pre', initializer_prefix='/pre', + ignored_pattern=fr'.*((embed)|{ignored_variance_names}).*' + ) + onnx_helper.model_add_prefixes(var_pre, dim_prefix='pre.', ignored_pattern='(n_tokens)|(n_frames)') + onnx_helper.model_add_prefixes( + var_post, node_prefix='/post', value_info_prefix='/post', initializer_prefix='/post', + ignored_pattern=None + ) + onnx_helper.model_add_prefixes(var_post, dim_prefix='post.', ignored_pattern='n_frames') + + print(f'Merging {self.multi_var_predictor_class_name} subroutines...') + var_pre_diffusion = onnx.compose.merge_models( + var_pre, var_diffusion, io_map=[('variance_cond', 'variance_cond')], + prefix1='', prefix2='', doc_string='', + producer_name=var_pre.producer_name, producer_version=var_pre.producer_version, + domain=var_pre.domain, model_version=var_pre.model_version + ) + var_pre_diffusion.graph.name = var_pre.graph.name + var_predictor = onnx.compose.merge_models( + var_pre_diffusion, var_post, io_map=[('xs_pred', 'xs_pred')], + prefix1='', prefix2='', doc_string='', + producer_name=var_pre.producer_name, producer_version=var_pre.producer_version, + domain=var_pre.domain, model_version=var_pre.model_version + ) + var_predictor.graph.name = var_pre.graph.name + return var_predictor + + # noinspection PyMethodMayBeStatic + def _export_spk_embed(self, path: Path, spk_embed: torch.Tensor): + with open(path, 'wb') as f: + f.write(spk_embed.cpu().numpy().tobytes()) + print(f'| export spk embed => {path}') + + def _export_phonemes(self, path: Path): + ph_path = path / f'{self.model_name}.phonemes.json' + self.phoneme_dictionary.dump(ph_path) + print(f'| export phonemes => {ph_path}') + lang_path = path / f'{self.model_name}.languages.json' + with open(lang_path, 'w', encoding='utf8') as fw: + json.dump(self.lang_map, fw, ensure_ascii=False, indent=2) + print(f'| export languages => {lang_path}') diff --git a/deployment/modules/__init__.py b/deployment/modules/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/deployment/modules/diffusion.py b/deployment/modules/diffusion.py new file mode 100644 index 0000000..9c4198f --- /dev/null +++ b/deployment/modules/diffusion.py @@ -0,0 +1,220 @@ +from __future__ import annotations + +from typing import List, Tuple + +import torch +from torch import Tensor + +from modules.core import ( + GaussianDiffusion, PitchDiffusion, MultiVarianceDiffusion +) + + +def extract(a, t): + return a[t].reshape((1, 1, 1, 1)) + + +# noinspection PyMethodOverriding +class GaussianDiffusionONNX(GaussianDiffusion): + @property + def backbone(self): + return self.denoise_fn + + # We give up the setter for the property `backbone` because this will cause TorchScript to fail + # @backbone.setter + @torch.jit.unused + def set_backbone(self, value): + self.denoise_fn = value + + def q_sample(self, x_start, t, noise): + return ( + extract(self.sqrt_alphas_cumprod, t) * x_start + + extract(self.sqrt_one_minus_alphas_cumprod, t) * noise + ) + + def p_sample(self, x, t, cond): + x_pred = self.denoise_fn(x, t, cond) + x_recon = ( + extract(self.sqrt_recip_alphas_cumprod, t) * x - + extract(self.sqrt_recipm1_alphas_cumprod, t) * x_pred + ) + # This is previously inherited from original DiffSinger repository + # and disabled due to some loudness issues when speedup = 1. + # x_recon = torch.clamp(x_recon, min=-1., max=1.) + + model_mean = ( + extract(self.posterior_mean_coef1, t) * x_recon + + extract(self.posterior_mean_coef2, t) * x + ) + model_log_variance = extract(self.posterior_log_variance_clipped, t) + noise = torch.randn_like(x) + # no noise when t == 0 + nonzero_mask = ((t > 0).float()).reshape(1, 1, 1, 1) + return model_mean + nonzero_mask * (0.5 * model_log_variance).exp() * noise + + def p_sample_ddim(self, x, t, interval: int, cond): + a_t = extract(self.alphas_cumprod, t) + t_prev = t - interval + a_prev = extract(self.alphas_cumprod, t_prev * (t_prev > 0)) + + noise_pred = self.denoise_fn(x, t, cond=cond) + x_prev = a_prev.sqrt() * ( + x / a_t.sqrt() + (((1 - a_prev) / a_prev).sqrt() - ((1 - a_t) / a_t).sqrt()) * noise_pred + ) + return x_prev + + def plms_get_x_pred(self, x, noise_t, t, t_prev): + a_t = extract(self.alphas_cumprod, t) + a_prev = extract(self.alphas_cumprod, t_prev) + a_t_sq, a_prev_sq = a_t.sqrt(), a_prev.sqrt() + + x_delta = (a_prev - a_t) * ((1 / (a_t_sq * (a_t_sq + a_prev_sq))) * x - 1 / ( + a_t_sq * (((1 - a_prev) * a_t).sqrt() + ((1 - a_t) * a_prev).sqrt())) * noise_t) + x_pred = x + x_delta + + return x_pred + + def p_sample_plms(self, x_prev, t, interval: int, cond, noise_list: List[Tensor], stage: int): + noise_pred = self.denoise_fn(x_prev, t, cond) + t_prev = t - interval + t_prev = t_prev * (t_prev > 0) + if stage == 0: + x_pred = self.plms_get_x_pred(x_prev, noise_pred, t, t_prev) + noise_pred_prev = self.denoise_fn(x_pred, t_prev, cond) + noise_pred_prime = (noise_pred + noise_pred_prev) / 2. + elif stage == 1: + noise_pred_prime = (3. * noise_pred - noise_list[-1]) / 2. + elif stage == 2: + noise_pred_prime = (23. * noise_pred - 16. * noise_list[-1] + 5. * noise_list[-2]) / 12. + else: + noise_pred_prime = (55. * noise_pred - 59. * noise_list[-1] + 37. + * noise_list[-2] - 9. * noise_list[-3]) / 24. + x_prev = self.plms_get_x_pred(x_prev, noise_pred_prime, t, t_prev) + return noise_pred, x_prev + + def norm_spec(self, x): + k = (self.spec_max - self.spec_min) / 2. + b = (self.spec_max + self.spec_min) / 2. + return (x - b) / k + + def denorm_spec(self, x): + k = (self.spec_max - self.spec_min) / 2. + b = (self.spec_max + self.spec_min) / 2. + return x * k + b + + def forward(self, condition, x_start=None, depth=None, steps: int = 10): + condition = condition.transpose(1, 2) # [1, T, H] => [1, H, T] + device = condition.device + n_frames = condition.shape[2] + + noise = torch.randn((1, self.num_feats, self.out_dims, n_frames), device=device) + if x_start is None: + speedup = max(1, self.timesteps // steps) + speedup = self.timestep_factors[torch.sum(self.timestep_factors <= speedup) - 1] + step_range = torch.arange(0, self.k_step, speedup, dtype=torch.long, device=device).flip(0)[:, None] + x = noise + else: + depth_int64 = min(torch.round(depth * self.timesteps).long(), self.k_step) + speedup = max(1, depth_int64 // steps) + depth_int64 = depth_int64 // speedup * speedup # make depth_int64 a multiple of speedup + step_range = torch.arange(0, depth_int64, speedup, dtype=torch.long, device=device).flip(0)[:, None] + x_start = self.norm_spec(x_start).transpose(-2, -1) + if self.num_feats == 1: + x_start = x_start[:, None, :, :] + if depth_int64 >= self.timesteps: + x = noise + elif depth_int64 > 0: + x = self.q_sample( + x_start, torch.full((1,), depth_int64 - 1, device=device, dtype=torch.long), noise + ) + else: + x = x_start + + if speedup > 1: + for t in step_range: + x = self.p_sample_ddim(x, t, interval=speedup, cond=condition) + # plms_noise_stage: int = 0 + # noise_list: List[Tensor] = [] + # for t in step_range: + # noise_pred, x = self.p_sample_plms( + # x, t, interval=speedup, cond=condition, + # noise_list=noise_list, stage=plms_noise_stage + # ) + # if plms_noise_stage == 0: + # noise_list = [noise_pred] + # plms_noise_stage = plms_noise_stage + 1 + # else: + # if plms_noise_stage >= 3: + # noise_list.pop(0) + # else: + # plms_noise_stage = plms_noise_stage + 1 + # noise_list.append(noise_pred) + else: + for t in step_range: + x = self.p_sample(x, t, cond=condition) + + if self.num_feats == 1: + x = x.squeeze(1).permute(0, 2, 1) # [B, 1, M, T] => [B, T, M] + else: + x = x.permute(0, 1, 3, 2) # [B, F, M, T] => [B, F, T, M] + x = self.denorm_spec(x) + return x + + +class PitchDiffusionONNX(GaussianDiffusionONNX, PitchDiffusion): + def __init__(self, vmin: float, vmax: float, + cmin: float, cmax: float, repeat_bins, + timesteps=1000, k_step=1000, + backbone_type=None, backbone_args=None, + betas=None): + self.vmin = vmin + self.vmax = vmax + self.cmin = cmin + self.cmax = cmax + super(PitchDiffusion, self).__init__( + vmin=vmin, vmax=vmax, repeat_bins=repeat_bins, + timesteps=timesteps, k_step=k_step, + backbone_type=backbone_type, backbone_args=backbone_args, + betas=betas + ) + + def clamp_spec(self, x): + return x.clamp(min=self.cmin, max=self.cmax) + + def denorm_spec(self, x): + d = (self.spec_max - self.spec_min) / 2. + m = (self.spec_max + self.spec_min) / 2. + x = x * d + m + x = x.mean(dim=-1) + return x + + +class MultiVarianceDiffusionONNX(GaussianDiffusionONNX, MultiVarianceDiffusion): + def __init__( + self, ranges: List[Tuple[float, float]], + clamps: List[Tuple[float | None, float | None] | None], + repeat_bins, timesteps=1000, k_step=1000, + backbone_type=None, backbone_args=None, + betas=None + ): + assert len(ranges) == len(clamps) + self.clamps = clamps + vmin = [r[0] for r in ranges] + vmax = [r[1] for r in ranges] + if len(vmin) == 1: + vmin = vmin[0] + if len(vmax) == 1: + vmax = vmax[0] + super(MultiVarianceDiffusion, self).__init__( + vmin=vmin, vmax=vmax, repeat_bins=repeat_bins, + timesteps=timesteps, k_step=k_step, + backbone_type=backbone_type, backbone_args=backbone_args, + betas=betas + ) + + def denorm_spec(self, x): + d = (self.spec_max - self.spec_min) / 2. + m = (self.spec_max + self.spec_min) / 2. + x = x * d + m + x = x.mean(dim=-1) + return x diff --git a/deployment/modules/fastspeech2.py b/deployment/modules/fastspeech2.py new file mode 100644 index 0000000..55f4b28 --- /dev/null +++ b/deployment/modules/fastspeech2.py @@ -0,0 +1,235 @@ +import copy + +import numpy as np +import torch +import torch.nn as nn +import torch.nn.functional as F + +from modules.commons.common_layers import NormalInitEmbedding as Embedding +from modules.fastspeech.acoustic_encoder import FastSpeech2Acoustic +from modules.fastspeech.variance_encoder import FastSpeech2Variance +from utils.hparams import hparams +from utils.phoneme_utils import PAD_INDEX + +f0_bin = 256 +f0_max = 1100.0 +f0_min = 50.0 +f0_mel_min = 1127 * np.log(1 + f0_min / 700) +f0_mel_max = 1127 * np.log(1 + f0_max / 700) + + +def uniform_attention_pooling(spk_embed, durations): + _, T_mel, _ = spk_embed.shape + ph_starts = torch.cumsum(torch.cat([torch.zeros_like(durations[:, :1]), durations[:, :-1]], dim=1), dim=1) + ph_ends = ph_starts + durations + mel_indices = torch.arange(T_mel, device=spk_embed.device).view(1, 1, T_mel) + phoneme_to_mel_mask = (mel_indices >= ph_starts.unsqueeze(-1)) & (mel_indices < ph_ends.unsqueeze(-1)) + uniform_scores = phoneme_to_mel_mask.float() + sum_scores = uniform_scores.sum(dim=2, keepdim=True) + attn_weights = uniform_scores / (sum_scores + (sum_scores == 0).float()) # [B, T_ph, T_mel] + ph_spk_embed = torch.bmm(attn_weights, spk_embed) + + return ph_spk_embed + + +def f0_to_coarse(f0): + f0_mel = 1127 * (1 + f0 / 700).log() + a = (f0_bin - 2) / (f0_mel_max - f0_mel_min) + b = f0_mel_min * a - 1. + f0_mel = torch.where(f0_mel > 0, f0_mel * a - b, f0_mel) + torch.clip_(f0_mel, min=1., max=float(f0_bin - 1)) + f0_coarse = torch.round(f0_mel).long() + return f0_coarse + + +class LengthRegulator(nn.Module): + # noinspection PyMethodMayBeStatic + def forward(self, dur): + token_idx = torch.arange(1, dur.shape[1] + 1, device=dur.device)[None, :, None] + dur_cumsum = torch.cumsum(dur, dim=1) + dur_cumsum_prev = F.pad(dur_cumsum, (1, -1), mode='constant', value=0) + pos_idx = torch.arange(dur.sum(dim=1).max(), device=dur.device)[None, None] + token_mask = (pos_idx >= dur_cumsum_prev[:, :, None]) & (pos_idx < dur_cumsum[:, :, None]) + mel2ph = (token_idx * token_mask).sum(dim=1) + return mel2ph + + +class FastSpeech2AcousticONNX(FastSpeech2Acoustic): + def __init__(self, vocab_size, cross_lingual_token_idx=None): + super().__init__(vocab_size=vocab_size) + self.register_buffer( + 'cross_lingual_token_idx', + torch.LongTensor(cross_lingual_token_idx), + persistent=False + ) # [N,] + if len(cross_lingual_token_idx) == 0: + self.use_lang_id = False + + # for temporary compatibility; will be completely removed in the future + self.f0_embed_type = hparams.get('f0_embed_type', 'continuous') + if self.f0_embed_type == 'discrete': + self.pitch_embed = Embedding(300, hparams['hidden_size'], PAD_INDEX) + + self.lr = LengthRegulator() + if hparams['use_key_shift_embed']: + self.shift_min, self.shift_max = hparams['augmentation_args']['random_pitch_shifting']['range'] + if hparams['use_speed_embed']: + self.speed_min, self.speed_max = hparams['augmentation_args']['random_time_stretching']['range'] + + # noinspection PyMethodOverriding + def forward( + self, tokens, durations, + f0, variances: dict, + gender=None, velocity=None, + spk_embed=None, + languages=None + ): + txt_embed = self.txt_embed(tokens) + durations = durations * (tokens > 0) + mel2ph = self.lr(durations) + _mel2ph = mel2ph + f0 = f0 * (mel2ph > 0) + mel2ph = mel2ph[..., None].repeat((1, 1, hparams['hidden_size'])) + if self.use_variance_scaling: + dur_embed = self.dur_embed(torch.log(1 + durations.float())[:, :, None]) + else: + dur_embed = self.dur_embed(durations.float()[:, :, None]) + if self.use_lang_id: + lang_mask = torch.any( + tokens[..., None] == self.cross_lingual_token_idx[None, None], + dim=-1 + ) + lang_embed = self.lang_embed(languages * lang_mask) + extra_embed = dur_embed + lang_embed + else: + extra_embed = dur_embed + if hparams.get('use_mix_ln', False): + if hasattr(self, 'frozen_spk_embed'): + ph_spk_embed = self.frozen_spk_embed.repeat(1, tokens.shape[1], 1) + else: + ph_spk_embed = uniform_attention_pooling(spk_embed, durations) + else: + ph_spk_embed = None + encoded = self.encoder(txt_embed, extra_embed, tokens == PAD_INDEX, spk_embed=ph_spk_embed) + encoded = F.pad(encoded, (0, 0, 1, 0)) + condition = torch.gather(encoded, 1, mel2ph) + + if self.use_stretch_embed: + stretch = torch.round(1000 * self.sr(_mel2ph, durations)) + table = self.stretch_embed(torch.arange(0, 1001, device=stretch.device)) + stretch_embed = torch.index_select(table, 0, stretch.view(-1).long()).view_as(condition) + condition += stretch_embed + stretch_embed_rnn_out, _ = self.stretch_embed_rnn(condition) + condition += stretch_embed_rnn_out + + if self.f0_embed_type == 'discrete': + pitch = f0_to_coarse(f0) + pitch_embed = self.pitch_embed(pitch) + else: + f0_mel = (1 + f0 / 700).log() + pitch_embed = self.pitch_embed(f0_mel[:, :, None]) + condition += pitch_embed + + if self.use_variance_embeds: + variance_embeds = torch.stack([ + self.variance_embeds[v_name](variances[v_name][:, :, None] * self.variance_scaling_factor[v_name]) + for v_name in self.variance_embed_list + ], dim=-1).sum(-1) + condition += variance_embeds + + if hparams['use_key_shift_embed']: + if hasattr(self, 'frozen_key_shift'): + key_shift_embed = self.key_shift_embed(self.frozen_key_shift[:, None, None] * self.variance_scaling_factor['key_shift']) + else: + gender = torch.clip(gender, min=-1., max=1.) + gender_mask = (gender < 0.).float() + key_shift = gender * ((1. - gender_mask) * self.shift_max + gender_mask * abs(self.shift_min)) + key_shift_embed = self.key_shift_embed(key_shift[:, :, None] * self.variance_scaling_factor['key_shift']) + condition += key_shift_embed + + if hparams['use_speed_embed']: + if velocity is not None: + velocity = torch.clip(velocity, min=self.speed_min, max=self.speed_max) + speed_embed = self.speed_embed(velocity[:, :, None] * self.variance_scaling_factor['speed']) + else: + speed_embed = self.speed_embed(torch.FloatTensor([1.]).to(condition.device)[:, None, None] * self.variance_scaling_factor['speed']) + condition += speed_embed + + if hparams['use_spk_id']: + if hasattr(self, 'frozen_spk_embed'): + condition += self.frozen_spk_embed + else: + condition += spk_embed + return condition + + +class FastSpeech2VarianceONNX(FastSpeech2Variance): + def __init__(self, vocab_size, cross_lingual_token_idx=None): + super().__init__(vocab_size=vocab_size) + self.register_buffer( + 'cross_lingual_token_idx', + torch.LongTensor(cross_lingual_token_idx), + persistent=False + ) + if len(cross_lingual_token_idx) == 0: + self.use_lang_id = False + self.lr = LengthRegulator() + + def forward_encoder_word(self, tokens, word_div, word_dur, languages=None): + txt_embed = self.txt_embed(tokens) + ph2word = self.lr(word_div) + onset = ph2word > F.pad(ph2word, [1, -1]) + onset_embed = self.onset_embed(onset.long()) + ph_word_dur = torch.gather(F.pad(word_dur, [1, 0]), 1, ph2word) + word_dur_embed = self.word_dur_embed(ph_word_dur.float()[:, :, None]) + extra_embed = onset_embed + word_dur_embed + if self.use_lang_id: + lang_mask = torch.any( + tokens[..., None] == self.cross_lingual_token_idx[None, None], + dim=-1 + ) + lang_embed = self.lang_embed(languages * lang_mask) + extra_embed += lang_embed + x_masks = tokens == PAD_INDEX + return self.encoder(txt_embed, extra_embed, x_masks), x_masks + + def forward_encoder_phoneme(self, tokens, ph_dur, languages=None): + txt_embed = self.txt_embed(tokens) + if self.use_variance_scaling: + ph_dur_embed = self.ph_dur_embed(torch.log(1 + ph_dur.float())[:, :, None]) + else: + ph_dur_embed = self.ph_dur_embed(ph_dur.float()[:, :, None]) + if self.use_lang_id: + lang_mask = torch.any( + tokens[..., None] == self.cross_lingual_token_idx[None, None], + dim=-1 + ) + lang_embed = self.lang_embed(languages * lang_mask) + extra_embed = ph_dur_embed + lang_embed + else: + extra_embed = ph_dur_embed + x_masks = tokens == PAD_INDEX + return self.encoder(txt_embed, extra_embed, x_masks), x_masks + + def forward_dur_predictor(self, encoder_out, x_masks, ph_midi, spk_embed=None): + midi_embed = self.midi_embed(ph_midi) + dur_cond = encoder_out + midi_embed + if hparams['use_spk_id'] and spk_embed is not None: + dur_cond += spk_embed + ph_dur = self.dur_predictor(dur_cond, x_masks=x_masks) + return ph_dur + + def view_as_encoder(self): + model = copy.deepcopy(self) + if self.predict_dur: + del model.dur_predictor + model.forward = model.forward_encoder_word + else: + model.forward = model.forward_encoder_phoneme + return model + + def view_as_dur_predictor(self): + model = copy.deepcopy(self) + del model.encoder + model.forward = model.forward_dur_predictor + return model diff --git a/deployment/modules/nsf_hifigan.py b/deployment/modules/nsf_hifigan.py new file mode 100644 index 0000000..4e2f296 --- /dev/null +++ b/deployment/modules/nsf_hifigan.py @@ -0,0 +1,16 @@ +import torch + +from modules.nsf_hifigan.env import AttrDict +from modules.nsf_hifigan.models import Generator + + +# noinspection SpellCheckingInspection +class NSFHiFiGANONNX(torch.nn.Module): + def __init__(self, attrs: dict): + super().__init__() + self.generator = Generator(AttrDict(attrs)) + + def forward(self, mel: torch.Tensor, f0: torch.Tensor): + mel = mel.transpose(1, 2) + wav = self.generator(mel, f0) + return wav.squeeze(1) diff --git a/deployment/modules/rectified_flow.py b/deployment/modules/rectified_flow.py new file mode 100644 index 0000000..230ce54 --- /dev/null +++ b/deployment/modules/rectified_flow.py @@ -0,0 +1,123 @@ +from __future__ import annotations + +from typing import List, Tuple + +import torch + +from modules.core import ( + RectifiedFlow, PitchRectifiedFlow, MultiVarianceRectifiedFlow +) + + +class RectifiedFlowONNX(RectifiedFlow): + @property + def backbone(self): + return self.velocity_fn + + # We give up the setter for the property `backbone` because this will cause TorchScript to fail + # @backbone.setter + @torch.jit.unused + def set_backbone(self, value): + self.velocity_fn = value + + def sample_euler(self, x, t, dt: float, cond): + x += self.velocity_fn(x, t * self.time_scale_factor, cond) * dt + return x + + def norm_spec(self, x): + k = (self.spec_max - self.spec_min) / 2. + b = (self.spec_max + self.spec_min) / 2. + return (x - b) / k + + def denorm_spec(self, x): + k = (self.spec_max - self.spec_min) / 2. + b = (self.spec_max + self.spec_min) / 2. + return x * k + b + + def forward(self, condition, x_end=None, depth=None, steps: int = 10): + condition = condition.transpose(1, 2) # [1, T, H] => [1, H, T] + device = condition.device + n_frames = condition.shape[2] + noise = torch.randn((1, self.num_feats, self.out_dims, n_frames), device=device) + if x_end is None: + t_start = 0. + x = noise + else: + t_start = torch.max(1 - depth, torch.tensor(self.t_start, dtype=torch.float32, device=device)) + x_end = self.norm_spec(x_end).transpose(-2, -1) + if self.num_feats == 1: + x_end = x_end[:, None, :, :] + if t_start <= 0.: + x = noise + elif t_start >= 1.: + x = x_end + else: + x = t_start * x_end + (1 - t_start) * noise + + t_width = 1. - t_start + if t_width >= 0.: + dt = t_width / max(1, steps) + for t in torch.arange(steps, dtype=torch.long, device=device)[:, None].float() * dt + t_start: + x = self.sample_euler(x, t, dt, condition) + + if self.num_feats == 1: + x = x.squeeze(1).permute(0, 2, 1) # [B, 1, M, T] => [B, T, M] + else: + x = x.permute(0, 1, 3, 2) # [B, F, M, T] => [B, F, T, M] + x = self.denorm_spec(x) + return x + + +class PitchRectifiedFlowONNX(RectifiedFlowONNX, PitchRectifiedFlow): + def __init__(self, vmin: float, vmax: float, + cmin: float, cmax: float, repeat_bins, + time_scale_factor=1000, + backbone_type=None, backbone_args=None): + self.vmin = vmin + self.vmax = vmax + self.cmin = cmin + self.cmax = cmax + super(PitchRectifiedFlow, self).__init__( + vmin=vmin, vmax=vmax, repeat_bins=repeat_bins, + time_scale_factor=time_scale_factor, + backbone_type=backbone_type, backbone_args=backbone_args + ) + + def clamp_spec(self, x): + return x.clamp(min=self.cmin, max=self.cmax) + + def denorm_spec(self, x): + d = (self.spec_max - self.spec_min) / 2. + m = (self.spec_max + self.spec_min) / 2. + x = x * d + m + x = x.mean(dim=-1) + return x + + +class MultiVarianceRectifiedFlowONNX(RectifiedFlowONNX, MultiVarianceRectifiedFlow): + def __init__( + self, ranges: List[Tuple[float, float]], + clamps: List[Tuple[float | None, float | None] | None], + repeat_bins, time_scale_factor=1000, + backbone_type=None, backbone_args=None + ): + assert len(ranges) == len(clamps) + self.clamps = clamps + vmin = [r[0] for r in ranges] + vmax = [r[1] for r in ranges] + if len(vmin) == 1: + vmin = vmin[0] + if len(vmax) == 1: + vmax = vmax[0] + super(MultiVarianceRectifiedFlow, self).__init__( + vmin=vmin, vmax=vmax, repeat_bins=repeat_bins, + time_scale_factor=time_scale_factor, + backbone_type=backbone_type, backbone_args=backbone_args + ) + + def denorm_spec(self, x): + d = (self.spec_max - self.spec_min) / 2. + m = (self.spec_max + self.spec_min) / 2. + x = x * d + m + x = x.mean(dim=-1) + return x diff --git a/deployment/modules/toplevel.py b/deployment/modules/toplevel.py new file mode 100644 index 0000000..3043168 --- /dev/null +++ b/deployment/modules/toplevel.py @@ -0,0 +1,413 @@ +import copy + +import numpy as np +import torch +import torch.nn as nn +import torch.nn.functional as F +from torch import Tensor + +from deployment.modules.diffusion import ( + GaussianDiffusionONNX, PitchDiffusionONNX, MultiVarianceDiffusionONNX +) +from deployment.modules.rectified_flow import ( + RectifiedFlowONNX, PitchRectifiedFlowONNX, MultiVarianceRectifiedFlowONNX +) +from deployment.modules.fastspeech2 import FastSpeech2AcousticONNX, FastSpeech2VarianceONNX +from modules.toplevel import DiffSingerAcoustic, DiffSingerVariance +from utils.hparams import hparams + + +class DiffSingerAcousticONNX(DiffSingerAcoustic): + def __init__(self, vocab_size, out_dims, cross_lingual_token_idx=None): + super().__init__(vocab_size, out_dims) + del self.fs2 + del self.diffusion + self.fs2 = FastSpeech2AcousticONNX( + vocab_size=vocab_size, + cross_lingual_token_idx=cross_lingual_token_idx + ) + if self.diffusion_type == 'ddpm': + self.diffusion = GaussianDiffusionONNX( + out_dims=out_dims, + num_feats=1, + timesteps=hparams['timesteps'], + k_step=hparams['K_step'], + backbone_type=self.backbone_type, + backbone_args=self.backbone_args, + spec_min=hparams['spec_min'], + spec_max=hparams['spec_max'] + ) + elif self.diffusion_type == 'reflow': + self.diffusion = RectifiedFlowONNX( + out_dims=out_dims, + num_feats=1, + t_start=hparams['T_start'], + time_scale_factor=hparams['time_scale_factor'], + backbone_type=self.backbone_type, + backbone_args=self.backbone_args, + spec_min=hparams['spec_min'], + spec_max=hparams['spec_max'] + ) + else: + raise ValueError(f"Invalid diffusion type: {self.diffusion_type}") + self.mel_base = hparams.get('mel_base', '10') + + def ensure_mel_base(self, mel): + if self.mel_base != 'e': + # log10 mel to log mel + mel = mel * 2.30259 + return mel + + def forward_fs2_aux( + self, + tokens: Tensor, + durations: Tensor, + f0: Tensor, + variances: dict, + gender: Tensor = None, + velocity: Tensor = None, + spk_embed: Tensor = None, + languages: Tensor = None + ): + condition = self.fs2( + tokens, durations, f0, variances=variances, + gender=gender, velocity=velocity, spk_embed=spk_embed, + languages=languages + ) + if self.use_shallow_diffusion: + aux_mel_pred = self.aux_decoder(condition, infer=True) + return condition, aux_mel_pred + else: + return condition + + def forward_shallow_diffusion( + self, condition: Tensor, x_start: Tensor, + depth, steps: int + ) -> Tensor: + mel_pred = self.diffusion(condition, x_start=x_start, depth=depth, steps=steps) + return self.ensure_mel_base(mel_pred) + + def forward_diffusion(self, condition: Tensor, steps: int): + mel_pred = self.diffusion(condition, steps=steps) + return self.ensure_mel_base(mel_pred) + + def forward_shallow_reflow( + self, condition: Tensor, x_end: Tensor, + depth, steps: int + ): + mel_pred = self.diffusion(condition, x_end=x_end, depth=depth, steps=steps) + return self.ensure_mel_base(mel_pred) + + def forward_reflow(self, condition: Tensor, steps: int): + mel_pred = self.diffusion(condition, steps=steps) + return self.ensure_mel_base(mel_pred) + + def view_as_fs2_aux(self) -> nn.Module: + model = copy.deepcopy(self) + del model.diffusion + model.forward = model.forward_fs2_aux + return model + + def view_as_diffusion(self) -> nn.Module: + model = copy.deepcopy(self) + del model.fs2 + if self.use_shallow_diffusion: + del model.aux_decoder + model.forward = model.forward_shallow_diffusion + else: + model.forward = model.forward_diffusion + return model + + def view_as_reflow(self) -> nn.Module: + model = copy.deepcopy(self) + del model.fs2 + if self.use_shallow_diffusion: + del model.aux_decoder + model.forward = model.forward_shallow_reflow + else: + model.forward = model.forward_reflow + return model + + +class DiffSingerVarianceONNX(DiffSingerVariance): + def __init__(self, vocab_size, cross_lingual_token_idx=None): + super().__init__(vocab_size=vocab_size) + del self.fs2 + self.fs2 = FastSpeech2VarianceONNX( + vocab_size=vocab_size, + cross_lingual_token_idx=cross_lingual_token_idx + ) + self.hidden_size = hparams['hidden_size'] + if self.predict_pitch: + del self.pitch_predictor + self.smooth: nn.Conv1d = None + pitch_hparams = hparams['pitch_prediction_args'] + if self.diffusion_type == 'ddpm': + self.pitch_predictor = PitchDiffusionONNX( + vmin=pitch_hparams['pitd_norm_min'], + vmax=pitch_hparams['pitd_norm_max'], + cmin=pitch_hparams['pitd_clip_min'], + cmax=pitch_hparams['pitd_clip_max'], + repeat_bins=pitch_hparams['repeat_bins'], + timesteps=hparams['timesteps'], + k_step=hparams['K_step'], + backbone_type=self.pitch_backbone_type, + backbone_args=self.pitch_backbone_args + ) + elif self.diffusion_type == 'reflow': + self.pitch_predictor = PitchRectifiedFlowONNX( + vmin=pitch_hparams['pitd_norm_min'], + vmax=pitch_hparams['pitd_norm_max'], + cmin=pitch_hparams['pitd_clip_min'], + cmax=pitch_hparams['pitd_clip_max'], + repeat_bins=pitch_hparams['repeat_bins'], + time_scale_factor=hparams['time_scale_factor'], + backbone_type=self.pitch_backbone_type, + backbone_args=self.pitch_backbone_args + ) + else: + raise ValueError(f"Invalid diffusion type: {self.diffusion_type}") + if self.predict_variances: + del self.variance_predictor + if self.diffusion_type == 'ddpm': + self.variance_predictor = self.build_adaptor(cls=MultiVarianceDiffusionONNX) + elif self.diffusion_type == 'reflow': + self.variance_predictor = self.build_adaptor(cls=MultiVarianceRectifiedFlowONNX) + else: + raise NotImplementedError(self.diffusion_type) + + def build_smooth_op(self, device): + smooth_kernel_size = round(hparams['midi_smooth_width'] * hparams['audio_sample_rate'] / hparams['hop_size']) + smooth = nn.Conv1d( + in_channels=1, + out_channels=1, + kernel_size=smooth_kernel_size, + bias=False, + padding='same', + padding_mode='replicate' + ).eval() + smooth_kernel = torch.sin(torch.from_numpy( + np.linspace(0, 1, smooth_kernel_size).astype(np.float32) * np.pi + )) + smooth_kernel /= smooth_kernel.sum() + smooth.weight.data = smooth_kernel[None, None] + self.smooth = smooth.to(device) + + def embed_frozen_spk(self, encoder_out): + if hparams['use_spk_id'] and hasattr(self, 'frozen_spk_embed'): + encoder_out += self.frozen_spk_embed + return encoder_out + + def forward_linguistic_encoder_word(self, tokens, word_div, word_dur, languages=None): + encoder_out, x_masks = self.fs2.forward_encoder_word(tokens, word_div, word_dur, languages=languages) + encoder_out = self.embed_frozen_spk(encoder_out) + return encoder_out, x_masks + + def forward_linguistic_encoder_phoneme(self, tokens, ph_dur, languages=None): + encoder_out, x_masks = self.fs2.forward_encoder_phoneme(tokens, ph_dur, languages=languages) + encoder_out = self.embed_frozen_spk(encoder_out) + return encoder_out, x_masks + + def forward_dur_predictor(self, encoder_out, x_masks, ph_midi, spk_embed=None): + return self.fs2.forward_dur_predictor(encoder_out, x_masks, ph_midi, spk_embed=spk_embed) + + def forward_mel2x_gather(self, x_src, x_dur, x_dim=None, check_stretch_embed=False): + mel2x = self.lr(x_dur) + _mel2x = mel2x + if x_dim is not None: + x_src = F.pad(x_src, [0, 0, 1, 0]) + mel2x = mel2x[..., None].repeat([1, 1, x_dim]) + else: + x_src = F.pad(x_src, [1, 0]) + x_cond = torch.gather(x_src, 1, mel2x) + if self.use_stretch_embed and check_stretch_embed: + stretch = torch.round(1000 * self.sr(_mel2x, x_dur)) + table = self.stretch_embed(torch.arange(0, 1001, device=stretch.device)) + stretch_embed = torch.index_select(table, 0, stretch.view(-1).long()).view_as(x_cond) + x_cond += stretch_embed + stretch_embed_rnn_out, _ = self.stretch_embed_rnn(x_cond) + x_cond += stretch_embed_rnn_out + return x_cond + + def forward_pitch_preprocess( + self, encoder_out, ph_dur, + note_midi=None, note_rest=None, note_dur=None, note_glide=None, + pitch=None, expr=None, retake=None, spk_embed=None + ): + condition = self.forward_mel2x_gather(encoder_out, ph_dur, x_dim=self.hidden_size, check_stretch_embed=True) + if self.use_melody_encoder: + if self.melody_encoder.use_glide_embed and note_glide is None: + note_glide = torch.LongTensor([[0]]).to(encoder_out.device) + melody_encoder_out = self.melody_encoder( + note_midi, note_rest, note_dur, + glide=note_glide + ) + melody_encoder_out = self.forward_mel2x_gather(melody_encoder_out, note_dur, x_dim=self.hidden_size) + condition += melody_encoder_out + if expr is None: + retake_embed = self.pitch_retake_embed(retake.long()) + else: + retake_true_embed = self.pitch_retake_embed( + torch.ones(1, 1, dtype=torch.long, device=encoder_out.device) + ) # [B=1, T=1] => [B=1, T=1, H] + retake_false_embed = self.pitch_retake_embed( + torch.zeros(1, 1, dtype=torch.long, device=encoder_out.device) + ) # [B=1, T=1] => [B=1, T=1, H] + expr = (expr * retake)[:, :, None] # [B, T, 1] + retake_embed = expr * retake_true_embed + (1. - expr) * retake_false_embed + pitch_cond = condition + retake_embed + frame_midi_pitch = self.forward_mel2x_gather(note_midi, note_dur, x_dim=None) + base_pitch = self.smooth(frame_midi_pitch) + if self.use_melody_encoder: + delta_pitch = (pitch - base_pitch) * ~retake + if self.use_variance_scaling: + pitch_cond += self.delta_pitch_embed(delta_pitch[:, :, None] / 12) + else: + pitch_cond += self.delta_pitch_embed(delta_pitch[:, :, None]) + else: + base_pitch = base_pitch * retake + pitch * ~retake + if self.use_variance_scaling: + pitch_cond += self.base_pitch_embed(base_pitch[:, :, None] / 128) + else: + pitch_cond += self.base_pitch_embed(base_pitch[:, :, None]) + if hparams['use_spk_id'] and spk_embed is not None: + pitch_cond += spk_embed + return pitch_cond, base_pitch + + def forward_pitch_reflow( + self, pitch_cond, steps: int = 10 + ): + x_pred = self.pitch_predictor(pitch_cond, steps=steps) + return x_pred + + def forward_pitch_postprocess(self, x_pred, base_pitch): + pitch_pred = self.pitch_predictor.clamp_spec(x_pred) + base_pitch + return pitch_pred + + def forward_variance_preprocess( + self, encoder_out, ph_dur, pitch, + variances: dict = None, retake=None, spk_embed=None + ): + condition = self.forward_mel2x_gather(encoder_out, ph_dur, x_dim=self.hidden_size, check_stretch_embed=True) + if self.use_variance_scaling: + variance_cond = condition + self.pitch_embed(pitch[:, :, None] / 12) + else: + variance_cond = condition + self.pitch_embed(pitch[:, :, None]) + non_retake_masks = [ + v_retake.float() # [B, T, 1] + for v_retake in (~retake).split(1, dim=2) + ] + variance_embeds = [ + self.variance_embeds[v_name](variances[v_name][:, :, None] * self.variance_retake_scaling[v_name]) * v_masks + for v_name, v_masks in zip(self.variance_prediction_list, non_retake_masks) + ] + variance_cond += torch.stack(variance_embeds, dim=-1).sum(-1) + if hparams['use_spk_id'] and spk_embed is not None: + variance_cond += spk_embed + return variance_cond + + def forward_variance_reflow(self, variance_cond, steps: int = 10): + xs_pred = self.variance_predictor(variance_cond, steps=steps) + return xs_pred + + def forward_variance_postprocess(self, xs_pred): + if self.variance_predictor.num_feats == 1: + xs_pred = [xs_pred] + else: + xs_pred = xs_pred.unbind(dim=1) + variance_pred = self.variance_predictor.clamp_spec(xs_pred) + return tuple(variance_pred) + + def view_as_linguistic_encoder(self): + model = copy.deepcopy(self) + if self.predict_pitch: + del model.pitch_predictor + if self.use_melody_encoder: + del model.melody_encoder + if self.predict_variances: + del model.variance_predictor + model.fs2 = model.fs2.view_as_encoder() + if self.predict_dur: + model.forward = model.forward_linguistic_encoder_word + else: + model.forward = model.forward_linguistic_encoder_phoneme + return model + + def view_as_dur_predictor(self): + assert self.predict_dur + model = copy.deepcopy(self) + if self.predict_pitch: + del model.pitch_predictor + if self.use_melody_encoder: + del model.melody_encoder + if self.predict_variances: + del model.variance_predictor + model.fs2 = model.fs2.view_as_dur_predictor() + model.forward = model.forward_dur_predictor + return model + + def view_as_pitch_preprocess(self): + model = copy.deepcopy(self) + del model.fs2 + if self.predict_pitch: + del model.pitch_predictor + if self.predict_variances: + del model.variance_predictor + model.forward = model.forward_pitch_preprocess + return model + + def view_as_pitch_predictor(self): + assert self.predict_pitch + model = copy.deepcopy(self) + del model.fs2 + del model.lr + if self.use_melody_encoder: + del model.melody_encoder + if self.predict_variances: + del model.variance_predictor + model.forward = model.forward_pitch_reflow + return model + + def view_as_pitch_postprocess(self): + model = copy.deepcopy(self) + del model.fs2 + if self.use_melody_encoder: + del model.melody_encoder + if self.predict_variances: + del model.variance_predictor + model.forward = model.forward_pitch_postprocess + return model + + def view_as_variance_preprocess(self): + model = copy.deepcopy(self) + del model.fs2 + if self.predict_pitch: + del model.pitch_predictor + if self.use_melody_encoder: + del model.melody_encoder + if self.predict_variances: + del model.variance_predictor + model.forward = model.forward_variance_preprocess + return model + + def view_as_variance_predictor(self): + assert self.predict_variances + model = copy.deepcopy(self) + del model.fs2 + del model.lr + if self.predict_pitch: + del model.pitch_predictor + if self.use_melody_encoder: + del model.melody_encoder + model.forward = model.forward_variance_reflow + return model + + def view_as_variance_postprocess(self): + model = copy.deepcopy(self) + del model.fs2 + if self.predict_pitch: + del model.pitch_predictor + if self.use_melody_encoder: + del model.melody_encoder + model.forward = model.forward_variance_postprocess + return model diff --git a/dictionaries/.gitignore b/dictionaries/.gitignore new file mode 100644 index 0000000..307afed --- /dev/null +++ b/dictionaries/.gitignore @@ -0,0 +1,3 @@ +*.py +*.txt +!opencpop* diff --git a/dictionaries/opencpop-extension.txt b/dictionaries/opencpop-extension.txt new file mode 100644 index 0000000..32785f7 --- /dev/null +++ b/dictionaries/opencpop-extension.txt @@ -0,0 +1,601 @@ +a a +ai ai +an an +ang ang +ao ao +ba b a +bai b ai +ban b an +bang b ang +bao b ao +be b e +bei b ei +ben b en +beng b eng +ber b er +bi b i +bia b ia +bian b ian +biang b iang +biao b iao +bie b ie +bin b in +bing b ing +biong b iong +biu b iu +bo b o +bong b ong +bou b ou +bu b u +bua b ua +buai b uai +buan b uan +buang b uang +bui b ui +bun b un +bv b v +bve b ve +ca c a +cai c ai +can c an +cang c ang +cao c ao +ce c e +cei c ei +cen c en +ceng c eng +cer c er +cha ch a +chai ch ai +chan ch an +chang ch ang +chao ch ao +che ch e +chei ch ei +chen ch en +cheng ch eng +cher ch er +chi ch ir +chong ch ong +chou ch ou +chu ch u +chua ch ua +chuai ch uai +chuan ch uan +chuang ch uang +chui ch ui +chun ch un +chuo ch uo +chv ch v +chyi ch i +ci c i0 +cong c ong +cou c ou +cu c u +cua c ua +cuai c uai +cuan c uan +cuang c uang +cui c ui +cun c un +cuo c uo +cv c v +cyi c i +da d a +dai d ai +dan d an +dang d ang +dao d ao +de d e +dei d ei +den d en +deng d eng +der d er +di d i +dia d ia +dian d ian +diang d iang +diao d iao +die d ie +din d in +ding d ing +diong d iong +diu d iu +dong d ong +dou d ou +du d u +dua d ua +duai d uai +duan d uan +duang d uang +dui d ui +dun d un +duo d uo +dv d v +dve d ve +e e +ei ei +en en +eng eng +er er +fa f a +fai f ai +fan f an +fang f ang +fao f ao +fe f e +fei f ei +fen f en +feng f eng +fer f er +fi f i +fia f ia +fian f ian +fiang f iang +fiao f iao +fie f ie +fin f in +fing f ing +fiong f iong +fiu f iu +fo f o +fong f ong +fou f ou +fu f u +fua f ua +fuai f uai +fuan f uan +fuang f uang +fui f ui +fun f un +fv f v +fve f ve +ga g a +gai g ai +gan g an +gang g ang +gao g ao +ge g e +gei g ei +gen g en +geng g eng +ger g er +gi g i +gia g ia +gian g ian +giang g iang +giao g iao +gie g ie +gin g in +ging g ing +giong g iong +giu g iu +gong g ong +gou g ou +gu g u +gua g ua +guai g uai +guan g uan +guang g uang +gui g ui +gun g un +guo g uo +gv g v +gve g ve +ha h a +hai h ai +han h an +hang h ang +hao h ao +he h e +hei h ei +hen h en +heng h eng +her h er +hi h i +hia h ia +hian h ian +hiang h iang +hiao h iao +hie h ie +hin h in +hing h ing +hiong h iong +hiu h iu +hong h ong +hou h ou +hu h u +hua h ua +huai h uai +huan h uan +huang h uang +hui h ui +hun h un +huo h uo +hv h v +hve h ve +ji j i +jia j ia +jian j ian +jiang j iang +jiao j iao +jie j ie +jin j in +jing j ing +jiong j iong +jiu j iu +ju j v +juan j van +jue j ve +jun j vn +ka k a +kai k ai +kan k an +kang k ang +kao k ao +ke k e +kei k ei +ken k en +keng k eng +ker k er +ki k i +kia k ia +kian k ian +kiang k iang +kiao k iao +kie k ie +kin k in +king k ing +kiong k iong +kiu k iu +kong k ong +kou k ou +ku k u +kua k ua +kuai k uai +kuan k uan +kuang k uang +kui k ui +kun k un +kuo k uo +kv k v +kve k ve +la l a +lai l ai +lan l an +lang l ang +lao l ao +le l e +lei l ei +len l en +leng l eng +ler l er +li l i +lia l ia +lian l ian +liang l iang +liao l iao +lie l ie +lin l in +ling l ing +liong l iong +liu l iu +lo l o +long l ong +lou l ou +lu l u +lua l ua +luai l uai +luan l uan +luang l uang +lui l ui +lun l un +luo l uo +lv l v +lve l ve +ma m a +mai m ai +man m an +mang m ang +mao m ao +me m e +mei m ei +men m en +meng m eng +mer m er +mi m i +mia m ia +mian m ian +miang m iang +miao m iao +mie m ie +min m in +ming m ing +miong m iong +miu m iu +mo m o +mong m ong +mou m ou +mu m u +mua m ua +muai m uai +muan m uan +muang m uang +mui m ui +mun m un +mv m v +mve m ve +na n a +nai n ai +nan n an +nang n ang +nao n ao +ne n e +nei n ei +nen n en +neng n eng +ner n er +ni n i +nia n ia +nian n ian +niang n iang +niao n iao +nie n ie +nin n in +ning n ing +niong n iong +niu n iu +nong n ong +nou n ou +nu n u +nua n ua +nuai n uai +nuan n uan +nuang n uang +nui n ui +nun n un +nuo n uo +nv n v +nve n ve +o o +ong ong +ou ou +pa p a +pai p ai +pan p an +pang p ang +pao p ao +pe p e +pei p ei +pen p en +peng p eng +per p er +pi p i +pia p ia +pian p ian +piang p iang +piao p iao +pie p ie +pin p in +ping p ing +piong p iong +piu p iu +po p o +pong p ong +pou p ou +pu p u +pua p ua +puai p uai +puan p uan +puang p uang +pui p ui +pun p un +pv p v +pve p ve +qi q i +qia q ia +qian q ian +qiang q iang +qiao q iao +qie q ie +qin q in +qing q ing +qiong q iong +qiu q iu +qu q v +quan q van +que q ve +qun q vn +ra r a +rai r ai +ran r an +rang r ang +rao r ao +re r e +rei r ei +ren r en +reng r eng +rer r er +ri r ir +rong r ong +rou r ou +ru r u +rua r ua +ruai r uai +ruan r uan +ruang r uang +rui r ui +run r un +ruo r uo +rv r v +ryi r i +sa s a +sai s ai +san s an +sang s ang +sao s ao +se s e +sei s ei +sen s en +seng s eng +ser s er +sha sh a +shai sh ai +shan sh an +shang sh ang +shao sh ao +she sh e +shei sh ei +shen sh en +sheng sh eng +sher sh er +shi sh ir +shong sh ong +shou sh ou +shu sh u +shua sh ua +shuai sh uai +shuan sh uan +shuang sh uang +shui sh ui +shun sh un +shuo sh uo +shv sh v +shyi sh i +si s i0 +song s ong +sou s ou +su s u +sua s ua +suai s uai +suan s uan +suang s uang +sui s ui +sun s un +suo s uo +sv s v +syi s i +ta t a +tai t ai +tan t an +tang t ang +tao t ao +te t e +tei t ei +ten t en +teng t eng +ter t er +ti t i +tia t ia +tian t ian +tiang t iang +tiao t iao +tie t ie +tin t in +ting t ing +tiong t iong +tong t ong +tou t ou +tu t u +tua t ua +tuai t uai +tuan t uan +tuang t uang +tui t ui +tun t un +tuo t uo +tv t v +tve t ve +wa w a +wai w ai +wan w an +wang w ang +wao w ao +we w e +wei w ei +wen w en +weng w eng +wer w er +wi w i +wo w o +wong w ong +wou w ou +wu w u +xi x i +xia x ia +xian x ian +xiang x iang +xiao x iao +xie x ie +xin x in +xing x ing +xiong x iong +xiu x iu +xu x v +xuan x van +xue x ve +xun x vn +ya y a +yai y ai +yan y En +yang y ang +yao y ao +ye y E +yei y ei +yi y i +yin y in +ying y ing +yo y o +yong y ong +you y ou +yu y v +yuan y van +yue y ve +yun y vn +ywu y u +za z a +zai z ai +zan z an +zang z ang +zao z ao +ze z e +zei z ei +zen z en +zeng z eng +zer z er +zha zh a +zhai zh ai +zhan zh an +zhang zh ang +zhao zh ao +zhe zh e +zhei zh ei +zhen zh en +zheng zh eng +zher zh er +zhi zh ir +zhong zh ong +zhou zh ou +zhu zh u +zhua zh ua +zhuai zh uai +zhuan zh uan +zhuang zh uang +zhui zh ui +zhun zh un +zhuo zh uo +zhv zh v +zhyi zh i +zi z i0 +zong z ong +zou z ou +zu z u +zua z ua +zuai z uai +zuan z uan +zuang z uang +zui z ui +zun z un +zuo z uo +zv z v +zyi z i diff --git a/docs/BestPractices.md b/docs/BestPractices.md new file mode 100644 index 0000000..cc9c26d --- /dev/null +++ b/docs/BestPractices.md @@ -0,0 +1,651 @@ +# Best Practices + +## Fundamental concepts and materials + +### Configuration files + +A configuration file is a YAML file that defines enabled features, model hyperparameters and controls the behavior of the binarizer, trainer and inference. Almost all settings and controls in this repository, including the practices in this guidance, are achieved through configuration files. + +For more information of the configuration system and configurable attributes, see [Configuration Schemas](ConfigurationSchemas.md). + +### Languages + +Each language you are dealing with should have a unique tag in the configuration file. **We highly recommend using ISO 639 language codes as language tags.** For example, `zh` and `zho` stands for Chinese (`cmn` specifically for Mandarin Chinese), `ja` and `jpn` for Japanese, `en` and `eng` for English, `yue` for Cantonese (Yue). You can download a complete language code table from https://iso639-3.sil.org/code_tables/download_tables. + +### Phonemes + +Phonemes are the fundamental part of dictionaries and labels. There are two types of phonemes: language-specific phonemes and global phonemes. + +**Language-specific phonemes:** If there are multiple languages, all language-specific phonemes will be prefixed with its language name. For example: `zh/a`, `ja/o`, `en/eh`. These are called the **full name** of the phonemes, while `a`, `o`, `eh` are called the **short name** which has definite meaning only in a specific language context. If there is only one language, the short names can be used to determine each phoneme. + +**Global phonemes:** Some phonemes do not belong to any language. There are two reserved global phoneme tags: `SP` for space, and `AP` for aspiration. There can also be other user-defined tags (`EP`, `GS`, `VF`, etc.). These tags will not be prefixed with language, and are prior when identifying phoneme names. + +Extra phonemes, including user-defined global phonemes and additional language-specific phonemes that are not present in the dictionaries, can be defined in a list in the configuration file (full names should be used): + +```yaml +extra_phonemes: ['EP', 'ja/cl'] +``` + +The phoneme set expands rapidly with the number of languages. There are actually many similar phonemes that can be merged. Define the merging groups in your configuration file (full names should be used): + +```yaml +merged_phoneme_groups: + - [zh/i, ja/i, en/iy] + - [zh/s, ja/s, en/s] + - [ja/cl, SP] # global phonemes can also be merged + # ... (other groups omitted for brevity) +use_lang_id: true # whether to use language embedding; only take effects if there are cross-lingual phonemes +``` + +Merging phonemes does not mean that they are exactly the same for the dictionary. For those cross-lingual merged phonemes, Setting `use_lang_id` to true will still distinguish them by language IDs. + +#### Phoneme naming principles + +- Short names of language-specific phonemes should not conflict with global phoneme names, including reserved ones. +- `/` cannot be used because it is already used for splitting the language tag and the short name. +- `-` and `+` cannot be used because they are defined as slur tags in most singing voice synthesis editors. +- Other special characters, including but not limited to `@`, `#`, `&`, `|`, `<`, `>`, is not recommended because they may be used as special tags in the future format changes. +- ASCII characters are preferred for the best encoding compatibility, but all UTF-8 characters are acceptable. + +### Dictionaries + +Each language should have a corresponding dictionary. Define languages and dictionaries in your configuration file: + +```yaml +dictionaries: + zh: dictionaries/opencpop-extension.txt + ja: dictionaries/japanese_dict_full.txt + en: dictionaries/ds_cmudict-07b.txt +num_lang: 3 # number of languages; should be >= number of defined languages +``` + +Each dictionary is a *.txt* file, in which each line represents a mapping rule from one syllable to its phoneme sequence. The syllable and the phonemes are split by `tab`, and the phonemes are split by `space`: + +``` + ... +``` + +#### Syllable naming principles + +- Try to use a standard writing or pronouncing system. For example, pinyin for Mandarin Chinese, romaji for Japanese and English words for English. +- `AP` and `SP` cannot be used because they are reserved tags when using DiffSinger in editors. +- `/` cannot be used because it is already used for splitting the language tag and the short name. +- `-` and `+` cannot be used because they are defined as slur tags in most singing voice synthesis editors. +- Syllable names is not recommended to start with `.` because this may have special meanings in the future editors. +- Other special characters, including but not limited to `@`, `#`, `&`, `|`, `<`, `>`, is not recommended because they may be used as special tags in the future format changes. +- ASCII characters are preferred for the best encoding compatibility, but all UTF-8 characters are acceptable. + +There are some example dictionaries in the [dictionaries/](../dictionaries) folder. + +### Datasets + +A dataset mainly includes recordings and transcriptions, which is called a _raw dataset_. Raw datasets should be organized as the following folder structure: + +- my_raw_data/ + - wavs/ + - 001.wav + - 002.wav + - ... (more recording files) + - transcriptions.csv + +In the example above, the _my_raw_data_ directory is the root directory of a raw dataset. + +The _transcriptions.csv_ file contains all labels of the recordings. The common column of the CSV file is `name`, which represents all recording items by their filenames **without extension**. Elements of sequence attributes should be split by `space`. Other required columns may vary according to the category of the model you are training, and will be introduced in the following sections. + +Each dataset should have a main language. If you have many recordings in multiple languages, it is recommended to separate them by language (you can merge their speaker IDs in the configuration). In each dataset, the main language is set as the language context, and phoneme labels in transcriptions.csv do not need a prefix (short name). It is also valid if there are phonemes from other languages, but all of them should be prefixed with their actual language (full name). Global phonemes should not be prefixed in any datasets. + +You can define your datasets in the configuration file like this: + +```yaml +datasets: # define all raw datasets + - raw_data_dir: data/spk1-zh/raw # path to the root of a raw dataset + speaker: speaker1 # speaker name + spk_id: 0 # optional; use this to merge two datasets; otherwise automatically assigned + language: zh # language tag (main language) of this dataset + test_prefixes: # optional; validation samples from this dataset + - wav1 + - wav2 + - raw_data_dir: data/spk1-en/raw + speaker: speaker1 + spk_id: 0 # specify the same speaker ID to merge into the previous one + language: en + test_prefixes: + - wav1 + - wav2 + - raw_data_dir: data/spk2/raw + speaker: speaker2 + language: ja + test_prefixes: + - wav1 + - wav2 + # ... (other datasets omitted for brevity) +num_spk: 2 # number of languages; should be > maximum speaker ID +``` + +### DS files + +DS files are JSON files with _.ds_ suffix that contains phoneme sequence, phoneme durations, music scores or curve parameters. They are mainly used to run inference on models for test and evaluation purposes, and they can be used as training data in some cases. There are some example DS files in the [samples/](../samples) folder. + +The current recommended way of using a model for production purposes is to use [OpenUTAU for DiffSinger](https://github.com/xunmengshe/OpenUtau). It can export DS files as well. + +### Other fundamental assets + +#### Vocoders + +A vocoder is a model that can reconstruct the audio waveform given the low-dimensional mel-spectrogram. The vocoder is the essential dependency if you want to train an acoustic model and hear the voice on the TensorBoard. + +The [DiffSinger Community Vocoders Project](https://openvpi.github.io/vocoders) provides a universal pre-trained NSF-HiFiGAN vocoder that can be used for starters of this repository. To use it, download the model (~50 MB size) from its releases and unzip it into the `checkpoints/` folder. + +The pre-trained vocoder can be fine-tuned on your target dataset. It is highly recommended to do so because fine-tuned vocoder can generate much better results on specific (seen) datasets while does not need much computing resources. See the [vocoder training and fine-tuning repository](https://github.com/openvpi/SingingVocoders) for detailed instructions. After you get the fine-tuned vocoder checkpoint, you can configure it by `vocoder_ckpt` key in your configuration file. The fine-tuned NSF-HiFiGAN vocoder checkpoints can be exported to ONNX format like other DiffSinger user models for further production purposes. + +Another unrecommended option: train an ultra-lightweight [DDSP vocoder](https://github.com/yxlllc/pc-ddsp) first by yourself, then configure it according to the relevant [instructions](https://github.com/yxlllc/pc-ddsp/blob/master/DiffSinger.md). + +#### Feature extractors or auxiliary models + +RMVPE is the recommended pitch extractor of this repository, which is an NN-based algorithm and requires a pre-trained model. For more information about pitch extractors and how to configure them, see [feature extraction](#pitch-extraction). + +Vocal Remover (VR) is the recommended harmonic-noise separator of this repository, which is an NN-based algorithm and requires a pre-trained model. For more information about harmonic-noise separators and how to configure them, see [feature extraction](#harmonic-noise-separation). + +## Overview: training acoustic models + +An acoustic model takes low-level singing information as input, including (but not limited to) phoneme sequence, phoneme durations and F0 sequence. The only output of an acoustic model is the mel-spectrogram, which can be converted to waveform (the final audio) through the vocoder. Briefly speaking, an acoustic model takes in all features that are explicitly given, and produces the singing voice. + +### Datasets + +To train an acoustic model, you must have three columns in your transcriptions.csv: `name`, `ph_seq` and `ph_dur`, where `ph_seq` is the phoneme sequence and `ph_dur` is the phoneme duration sequence in seconds. You must have all corresponding recordings declared by the `name` column in mono, WAV format. + +Training from multiple datasets in one model (so that the model is a multi-speaker model) is supported. See `speakers`, `spk_ids` and `use_spk_id` in the configuration schemas. + +### Functionalities + +Functionalities of acoustic models are defined by their inputs. Acoustic models have three basic and fixed inputs: phoneme sequence, phoneme duration sequence and F0 (pitch) sequence. There are three categories of additional inputs (control parameters): + +- speaker IDs: if your acoustic model is a multi-speaker model, you can use different speaker in the same model, or mix their timbre and style. +- variance parameters: these curve parameters are features extracted from the recordings, and can control the timbre and style of the singing voice. See `use_energy_embed` and `use_breathiness_embed` in the configuration schemas. Please note that variance parameters **do not have default values**, so they are usually obtained from the variance model at inference time. +- transition parameters: these values represent the transition of the mel-spectrogram, and are obtained by enabling data augmentation. They are scalars at training time and sequences at inference time. See `augmentation_args`, `use_key_shift_embed` and `use_speed_embed` in the configuration schemas. + +## Overview: training variance models + +A variance model takes high-level music information as input, including phoneme sequence, word division, word durations and music scores. The outputs of a variance model may include phoneme durations, pitch curve and other control parameters that will be consumed by acoustic models. Briefly speaking, a variance model works as an auxiliary tool (so-called _automatic parameter generator_) for the acoustic models. + +### Datasets + +To train a variance model, you must have all the required attributes listed in the following table in your transcriptions.csv according to the functionalities enabled. + +| | name | ph_seq | ph_dur | ph_num | note_seq | note_dur | +|:------------------------------:|:----:|:------:|:------:|:------:|:--------:|:--------:| +| phoneme duration prediction | ✓ | ✓ | ✓ | ✓ | | | +| pitch prediction | ✓ | ✓ | ✓ | | ✓ | ✓ | +| variance parameters prediction | ✓ | ✓ | ✓ | | | | + +The recommended way of building a variance dataset is to extend an acoustic dataset. You may have all the recordings prepared like the acoustic dataset as well, or [use DS files in your variance datasets](#build-variance-datasets-with-ds-files). + +Variance models support multi-speaker settings like acoustic models do. + +### Functionalities + +Functionalities of variance models are defined by their outputs. There are three main prediction modules that can be enabled/disable independently: + +- Duration Predictor: predicts the phoneme durations. See `predict_dur` in the configuration schemas. +- Pitch Predictor: predicts the pitch curve. See `predict_pitch` in the configuration schemas. +- Multi-Variance Predictor: jointly predicts other variance parameters. See `predict_energy` and `predict_breathiness` in the configuration schemas. + +There may be some mutual influence between the modules above when they are enabled together. See [mutual influence between variance modules](#mutual-influence-between-variance-modules) for more details. + +## Build variance datasets with DS files + +By default, the variance binarizer loads attributes from transcriptions.csv and searches for recording files (*.wav) to extract features and parameters. These attributes and parameters also exist in DS files, which are normally used for inference. This section introduces the required settings and important notes to build a variance dataset from DS files. + +First of all, you should edit your configuration file to enable loading from DS files: + +```yaml +binarization_args: + prefer_ds: true # prefer loading from DS files +``` + +Then you should prepare some DS files which are properly segmented. If you export DS files with OpenUTAU for DiffSinger, the DS files are already segmented according to the spaces between notes. You should put these DS files in a folder named `ds` in your raw dataset directory (besides the `wavs` folder). + +The DS files should also use the same dictionary as that of your target model. The attributes required vary from your target functionalities, as listed below: + +| attribute name | required by duration prediction | required by pitch prediction | required by variance parameters prediction | previous source | current source | +|:----------------------------:|:-------------------------------:|:----------------------------:|:------------------------------------------:|:---------------:|:--------------:| +| `name` | ✓ | ✓ | ✓ | CSV | CSV | +| `ph_seq` | ✓ | ✓ | ✓ | CSV | DS/CSV | +| `ph_dur` | ✓ | ✓ | ✓ | CSV | DS/CSV | +| `ph_num` | ✓ | | | CSV | DS/CSV | +| `note_seq` | | ✓ | | CSV | DS/CSV | +| `note_dur` | | ✓ | | CSV | DS/CSV | +| `f0_seq` | ✓ | ✓ | ✓ | WAV | DS/WAV | +| `energy`, `breathiness`, ... | | | ✓ | WAV | DS/WAV | + +This means you only need one column in transcriptions.csv, the `name` column, to declare all DS files included in the dataset. The name pattern can be: + +- Full name: `some-name` will firstly match the first segment in `some-name.ds`. +- Name with index: `some-name#0` and `some-name#1` will match segment 0 and segment 1 in `some-name.ds` if there are no match with full name. + +Though not recommended, the binarizer will still try to load attributes from transcriptions.csv or extract parameters from recordings if there are no matching DS files. In this case the full name matching logic is applied (the same as the normal binarization process). + +## Choosing variance parameters + +Variance parameters are a type of parameters that are significantly related to singing styles and emotions, have no default values and need to be predicted by the variance models. Choosing the proper variance parameters can obtain more controllability and expressiveness for your singing models. In this section, we are only talking about **narrowly defined variance parameters**, which are variance parameters except the pitch. + +### Supported variance parameters + +#### Energy + +> WARNING +> +> This parameter is no longer recommended in favor of the new voicing parameter. The latter are less coupled with breathiness than energy. + +Energy is defined as the RMS curve of the singing, in dB, which can control the strength of voice to a certain extent. + +#### Breathiness + +Breathiness is defined as the RMS curve of the aperiodic part of the singing, in dB, which can control the power of the air and unvoiced consonants in the voice. + +#### Voicing + +Voicing is defined as the RMS curve of the harmonic part of the singing, in dB, which can control the power of the harmonics in vowels and voiced consonants in the voice. + +#### Tension + +Tension is mostly related to the ratio of the base harmonic to the full harmonics, which can be used to control the strength and timbre of the voice. The ratio is calculated as +$$ +r = \frac{\text{RMS}(H_{full}-H_{base})}{\text{RMS}(H_{full})} +$$ +where $H_{full}$ is the full harmonics and $H_{base}$ is the base harmonic. The ratio is then mapped to the final domain via the inverse function of Sigmoid, that +$$ +T = \log{\frac{r}{1-r}} +$$ +where $T$ is the tension value. + +### Principles of choosing multiple parameters + +#### Energy, breathiness and voicing + +These three parameters should **NOT** be enabled together. Energy is the RMS of the full waveform, which is the composition of the harmonic part and the aperiodic part. Therefore, these three parameters are coupled with each other. + +#### Energy, voicing and tension + +When voicing (or energy) is enabled, it almost fixes the loudness. However, tension sometimes rely on the implicitly predicted loudness for more expressiveness, because when a person sings with higher tension, he/she always produces louder voice. For this reason, some people may find their models or datasets _less natural_ with tension control. To be specific, changing tension will change the timbre but keep the loudness, and changing voicing (or energy) will change the loudness but keep the timbre. This behavior can be suitable for some, but not all datasets and users. Therefore, it is highly recommended for everyone to conduct some experiments on the actual datasets used to train the model. + +## Mutual influence between variance modules + +In some recent experiments and researches, some mutual influence between the modules of variance models has been found. In practice, being aware of the influence and making use of it can improve accuracy and avoid instability of the model. + +### Influence on the duration predictor + +The duration predictor benefits from its downstream modules, like the pitch predictor and the variance predictor. + +The experiments were conducted on both manually refined datasets and automatically labeled datasets, and with pitch predictors driven by both base pitch and melody encoder. All the results have shown that when either of the pitch predictor and the variance predictor is enabled together with the duration predictor, its rhythm correctness and duration accuracy significantly outperforms those of a solely trained duration predictor. + +Possible reason for this difference can be the lack of information carried by pure phoneme duration sequences, which may not fully represent the phoneme features in the real world. With the help of frame-level feature predictors, the encoder learns more knowledge about the voice features related to the phoneme types and durations, thus making the duration predictor produce better results. + +### Influence on frame-level feature predictors + +Frame-level feature predictors, including the pitch predictor and the variance predictor, have better performance when trained without enabling the duration predictor. + +The experiments found that when the duration predictor is enabled, the pitch accuracy drops and the dynamics of variance parameters sometimes become unstable. And it has nothing to do with the gradients from the duration predictor, because applying a scale factor on the gradients does not make any difference even if the gradients are completely cut off. + +Possible reason for this phenomenon can be the lack of direct phoneme duration input. When the duration predictor is enabled, the model takes in word durations instead of phoneme durations; when there is no duration predictor together, the phoneme duration sequence is directly taken in and passed through the attention-based linguistic encoder. With direct modeling on the phoneme duration, the frame-level predictors can have a better understanding of the context, thus producing better results. + +Another set of experiments showed that there is no significant influence between the pitch predictor and the variance predictor. When they are enabled together without the duration predictor, both can converge well and produce satisfactory results. No conclusion can be drawn on this issue, and it can depend on the dataset. + +### Suggested procedures of training variance models + +According to the experiment results and the analysis above, the suggested procedures of training a set of variance models are listed below: + +1. Train the duration predictor together with the variance predictor, and discard the variance predictor part. +2. Train the pitch predictor and the variance predictor separately or together. +3. If interested, compare across different combinations in step 2 and choose the best. + +## Feature extraction + +Feature extraction is the process of extracting low-level features from the recordings, which are needed as inputs for the acoustic models, or as outputs for the variance models. + +### Pitch extraction + +A pitch extractor estimates pitch (F0 sequence) from given recordings. F0 (fundamental frequency) is one of the most important components of singing voice that is needed by both acoustic models and variance models. + +```yaml +pe: parselmouth # pitch extractor type +pe_ckpt: checkpoints/xxx/model.pt # pitch extractor model path (if it requires any) +``` + +#### Parselmouth + +[Parselmouth](https://github.com/YannickJadoul/Parselmouth) is the default pitch extractor in this repository. It is based on DSP algorithms, runs fast on CPU and can get accurate F0 on clean and normal recordings. + +To use parselmouth, simply include the following line in your configuration file: + +```yaml +pe: parselmouth +``` + +#### RMVPE (recommended) + +[RMVPE](https://github.com/Dream-High/RMVPE) (Robust Model for Vocal Pitch Estimation) is the state-of-the-art NN-based pitch estimation model for singing voice. It runs slower than parselmouth, consumes more memory, however uses CUDA to accelerate computation (if available) and produce better results on noisy recordings and edge cases. + +To enable RMVPE, download its pre-trained checkpoint from [here](https://github.com/yxlllc/RMVPE/releases), extract it into the `checkpoints/` folder and edit the configuration file: + +```yaml +pe: rmvpe +pe_ckpt: checkpoints/rmvpe/model.pt +``` + +#### Harvest + +Harvest (Harvest: A high-performance fundamental frequency estimator from speech signals) is the recommended pitch extractor from Masanori Morise's [WORLD](https://github.com/mmorise/World), a free software for high-quality speech analysis, manipulation and synthesis. It is a state-of-the-art algorithmic pitch estimator designed for speech, but has seen use in singing voice synthesis. It runs the slowest compared to the others, but provides very accurate F0 on clean and normal recordings compared to parselmouth. + +To use Harvest, simply include the following line in your configuration file: + +```yaml +pe: harvest +``` + +**Note:** It is also recommended to change the F0 detection range for Harvest with accordance to your dataset, as they are hard boundaries for this algorithm and the defaults might not suffice for most use cases. To change the F0 detection range, you may include or edit this part in the configuration file: + +```yaml +f0_min: 65 # Minimum F0 to detect +f0_max: 800 # Maximum F0 to detect +``` + +### Harmonic-noise separation + +Harmonic-noise separation is the process of separating the harmonic part and the aperiodic part of the singing voice. These parts are the fundamental components for variance parameters including breathiness, voicing and tension to be calculated from. + +#### WORLD + +This algorithm uses Masanori Morise's [WORLD](https://github.com/mmorise/World), a free software for high-quality speech analysis, manipulation and synthesis. It uses CPU (no CUDA required) but runs relatively slow. + +To use WORLD, simply include the following line in your configuration file: + +```yaml +hnsep: world +``` + +#### Vocal Remover (recommended) + +Vocal Remover (VR) is originally a popular NN-based algorithm for music source separation that removes the vocal part from the music. This repository uses a specially trained model for harmonic-noise separation. VR extracts much cleaner harmonic parts, utilizes CUDA to accelerate computation (if available) and runs much faster than WORLD. However, it consumes more memory and should not be used with too many parallel workers. + +To enable VR, download its pre-trained checkpoint from [here](https://github.com/yxlllc/vocal-remover/releases), extract it into the `checkpoints/` folder and edit the configuration file: + +```yaml +hnsep: vr +hnsep_ckpt: checkpoints/vr/model.pt +``` + +## Shallow diffusion + +Shallow diffusion is a mechanism that can improve quality and save inference time for diffusion models that was first introduced in the original DiffSinger [paper](https://arxiv.org/abs/2105.02446). Instead of starting the diffusion process from purely gaussian noise as classic diffusion does, shallow diffusion adds a shallow gaussian noise on a low-quality results generated by a simple network (which is called the auxiliary decoder) to skip many unnecessary steps from the beginning. With the combination of shallow diffusion and sampling acceleration algorithms, we can get better results under the same inference speed as before, or achieve higher inference speed without quality deterioration. + +Currently, acoustic models in this repository support shallow diffusion. The main switch of shallow diffusion is `use_shallow_diffusion` in the configuration file, and most arguments of shallow diffusion can be adjusted under `shallow_diffusion_args`. See [Configuration Schemas](ConfigurationSchemas.md) for more details. + +### Train full shallow diffusion models from scratch + +To train a full shallow diffusion model from scratch, simply introduce the following settings in your configuration file: + +```yaml +use_shallow_diffusion: true +K_step: 400 # adjust according to your needs +K_step_infer: 400 # should be <= K_step +``` + +Please note that when shallow diffusion is enabled, only the last $K$ diffusion steps will be trained. Unlike classic diffusion models which are trained on full steps, the limit of `K_step` can make the training more efficient. However, `K_step` should not be set too small because without enough diffusion depth (steps), the low-quality auxiliary decoder results cannot be well refined. 200 ~ 400 should be the proper range of `K_step`. + +The auxiliary decoder and the diffusion decoder shares the same linguistic encoder, which receives gradients from both the decoders. In some experiments, it was found that gradients from the auxiliary decoder will cause mismatching between the encoder and the diffusion decoder, resulting in the latter being unable to produce reasonable results. To prevent this case, a configuration item called `aux_decoder_grad` is introduced to apply a scale factor on the gradients from the auxiliary decoder during training. To adjust this factor, introduce the following in the configuration file: + +```yaml +shallow_diffusion_args: + aux_decoder_grad: 0.1 # should not be too high +``` + +### Train auxiliary decoder and diffusion decoder separately + +Training a full shallow diffusion model can consume more memory because the auxiliary decoder is also in the training graph. In limited situations, the two decoders can be trained separately, i.e. train one decoder after another. + +**STEP 1: train the diffusion decoder** + +In the first stage, the linguistic encoder and the diffusion decoder is trained together, while the auxiliary decoder is left unchanged. Edit your configuration file like this: + +```yaml +use_shallow_diffusion: true # make sure the main option is turned on +shallow_diffusion_args: + train_aux_decoder: false # exclude the auxiliary decoder from the training graph + train_diffusion: true # train diffusion decoder as normal + val_gt_start: true # should be true because the auxiliary decoder is not trained yet +``` + +Start training until `max_updates` is reached, or until you get satisfactory results on the TensorBoard. + +**STEP 2: train the auxiliary decoder** + +In the second stage, the auxiliary decoder is trained besides the linguistic encoder and the diffusion decoder. Edit your configuration file like this: + +```yaml +shallow_diffusion_args: + train_aux_decoder: true + train_diffusion: false # exclude the diffusion decoder from the training graph +lambda_aux_mel_loss: 1.0 # no more need to limit the auxiliary loss +``` + +Then you should freeze the encoder to prevent it from getting updates. This is because if the encoder changes, it no longer matches with the diffusion decoder, thus making the latter unable to produce correct results again. Edit your configuration file: + +```yaml +freezing_enabled: true +frozen_params: + - model.fs2 # the linguistic encoder +``` + +You should also manually reset your learning rate scheduler because this is a new training process for the auxiliary decoder. Possible ways are: + +1. Rename the latest checkpoint to `model_ckpt_steps_0.ckpt` and remove the other checkpoints from the directory. +2. Increase the initial learning rate (if you use a scheduler that decreases the LR over training steps) so that the auxiliary decoder gets proper learning rate. + +Additionally, `max_updates` should be adjusted to ensure enough training steps for the auxiliary decoder. + +Once you finished the configurations above, you can resume the training. The auxiliary decoder normally does not need many steps to train, and you can stop training when you get stable results on the TensorBoard. Because this step is much more complicated than the previous step, it is recommended to run some inference to verify if the model is trained properly after everything is finished. + +### Add shallow diffusion to classic diffusion models + +Actually, all classic DDPMs have the ability to be "shallow". If you want to add shallow diffusion functionality to a former classic diffusion model, the only thing you need to do is to train an auxiliary decoder for it. + +Before you start, you should edit the configuration file to ensure that you use the same datasets, and that you do not remove or add any of the functionalities of the old model. Then you can configure the old checkpoint in your configuration file: + +```yaml +finetune_enabled: true +finetune_ckpt_path: xxx.ckpt # path to your old checkpoint +finetune_ignored_params: [] # do not ignore any parameters +``` + +Then you can follow the instructions in STEP 2 of the [previous section](#add-shallow-diffusion-to-classic-diffusion-models) to finish your training. + +## Performance tuning + +This section is about accelerating training and utilizing hardware. + +### Data loader and batch sampler + +The data loader loads data pieces from the binary dataset, and the batch sampler forms batches according to data lengths. + +To configure the data loader, edit your configuration file: + +```yaml +ds_workers: 4 # number of DataLoader workers +dataloader_prefetch_factor: 2 # load data in advance +``` + +To configure the batch sampler, edit your configuration file: + +```yaml +sampler_frame_count_grid: 6 # lower value means higher speed but less randomness +``` + +For more details of the batch sampler algorithm and this configuration key, see [sampler_frame_count_grid](ConfigurationSchemas.md#sampler_frame_count_grid). + +### Automatic mixed precision + +Enabling automatic mixed precision (AMP) can accelerate training and save GPU memory. DiffSinger have adapted the latest version of PyTorch Lightning for AMP functionalities. + +By default, the training runs in FP32 precision. To enable AMP, edit your configuration file: + +```yaml +pl_trainer_precision: 16-mixed # FP16 precision +``` + +or + +```yaml +pl_trainer_precision: bf16-mixed # BF16 precision +``` + +For more precision options, please check out the [official documentation](https://lightning.ai/docs/pytorch/stable/common/trainer.html#precision). + +### Training on multiple GPUs + +Using distributed data parallel (DDP) can divide training tasks to multiple GPUs and synchronize gradients and weights between them. DiffSinger have adapted the latest version of PyTorch Lightning for DDP functionalities. + +By default, the trainer will utilize all CUDA devices defined in the `CUDA_VISIBLE_DEVICES` environment variable (empty means using all available devices). If you want to specify which GPUs to use, edit your configuration file: + +```yaml +pl_trainer_devices: [0, 1, 2, 3] # use the first 4 GPUs defined in CUDA_VISIBLE_DEVICES +``` + +Please note that `max_batch_size` and `max_batch_frames` are values for **each** GPU. + +By default, the trainer uses NCCL as the DDP backend. If this gets stuck on your machine, try disabling P2P first via + +```yaml +nccl_p2p: false # disable P2P in NCCL +``` + +Or if your machine does not support NCCL, you can switch to Gloo instead: + +```yaml +pl_trainer_strategy: + name: ddp # must manually choose a strategy instead of 'auto' + process_group_backend: gloo # however, it has a lower performance than NCCL +``` + +### Gradient accumulation + +Gradient accumulation means accumulating losses for several batches before each time the weights are updated. This can simulate a larger batch size with a lower GPU memory cost. + +By default, the trainer calls `backward()` each time the losses are calculated through one batch of data. To enable gradient accumulation, edit your configuration file: + +```yaml +accumulate_grad_batches: 4 # the actual batch size will be 4x. +``` + +Please note that enabling gradient accumulation will slow down training because the losses must be calculated for several times before the weights are updated (1 update to the weights = 1 actual training step). + +## Optimizers and learning rate schedulers + +The optimizer and the learning rate scheduler can take an important role in the training process. DiffSinger uses a flexible configuration logic for these two modules. + +### Basic configurations + +The optimizer and learning rate scheduler used during training can be configured by their full class name and keyword arguments in the configuration file. Take the following as an example for the optimizer: + +```yaml +optimizer_args: + optimizer_cls: torch.optim.AdamW # class name of optimizer + lr: 0.0004 + beta1: 0.9 + beta2: 0.98 + weight_decay: 0 +``` + +and for the learning rate scheduler: + +```yaml +lr_scheduler_args: + scheduler_cls: torch.optim.lr_scheduler.StepLR # class name of learning rate schedule + warmup_steps: 2000 + step_size: 50000 + gamma: 0.5 +``` + +Note that `optimizer_args` and `lr_scheduler_args` will be filtered by needed parameters and passed to `__init__` as keyword arguments (`kwargs`) when constructing the optimizer and scheduler. Therefore, you could specify all arguments according to your need in the configuration file to directly control the behavior of optimization and LR scheduling. It will also tolerate parameters existing in the configuration but not needed in `__init__`. + +Also, note that the LR scheduler performs scheduling on the granularity of steps, not epochs. + +The special case applies when a tuple is needed in `__init__`: `beta1` and `beta2` are treated separately and form a tuple in the code. You could try to pass in an array instead. (And as an experiment, AdamW does accept `[beta1, beta2]`). If there is another special treatment required, please submit an issue. + +For PyTorch built-in optimizers and LR schedulers, see official [documentation](https://pytorch.org/docs/stable/optim.html) of the `torch.optim` package. If you found other optimizer and learning rate scheduler useful, you can raise a topic in [Discussions](https://github.com/openvpi/DiffSinger/discussions), raise [Issues](https://github.com/openvpi/DiffSinger/issues) or submit [PRs](https://github.com/openvpi/DiffSinger/pulls) if it introduces new codes or dependencies. + +### Composite LR schedulers + +Some LR schedulers like `SequentialLR` and `ChainedScheduler` may use other schedulers as arguments. Besides built-in types, there is a special design to configure these scheduler objects. See the following example. + +```yaml +lr_scheduler_args: + scheduler_cls: torch.optim.lr_scheduler.SequentialLR + schedulers: + - cls: torch.optim.lr_scheduler.ExponentialLR + gamma: 0.5 + - cls: torch.optim.lr_scheduler.LinearLR + - cls: torch.optim.lr_scheduler.MultiStepLR + milestones: + - 10 + - 20 + milestones: + - 10 + - 20 +``` + +The LR scheduler objects will be recursively construct objects if `cls` is present in sub-arguments. Please note that `cls` must be a scheduler class because this is a special design. + +**WARNING:** Nested `SequentialLR` and `ChainedScheduler` have unexpected behavior. **DO NOT** nest them. Also, make sure the scheduler is _chainable_ before using it in `ChainedScheduler`. + +## Fine-tuning and parameter freezing + +### Fine-tuning from existing checkpoints + +By default, the training starts from a model from scratch with randomly initialized parameters. However, if you already have some pre-trained checkpoints, and you need to adapt them to other datasets with their functionalities unchanged, fine-tuning may save training steps and time. In general, you need to add the following structure into the configuration file: + +```yaml +# take acoustic models as an example +finetune_enabled: true # the main switch to enable fine-tuning +finetune_ckpt_path: checkpoints/pretrained/model_ckpt_steps_320000.ckpt # path to your pre-trained checkpoint +finetune_ignored_params: # prefix rules to exclude specific parameters when loading the checkpoints + - model.fs2.encoder.embed_tokens # in case when the phoneme set is changed + - model.fs2.txt_embed # same as above + - model.fs2.spk_embed # in case when the speaker set is changed +finetune_strict_shapes: true # whether to raise an error when parameter shapes mismatch +``` + +For the pre-trained checkpoint, it must be a file saved with `torch.save`, containing a `dict` object and a `state_dict` key, like the following example: + +```json5 +{ + "state_dict": { + "model.fs2.txt_embed": null, // torch.Tensor + "model.fs2.pitch_embed.weight": null, // torch.Tensor + "model.fs2.pitch_embed.bias": null, // torch.Tensor + // ... (other parameters) + } + // ... (other possible keys +} +``` + +**IMPORTANT NOTES**: + +- The pre-trained checkpoint is **loaded only once** at the beginning of the training experiment. You may interrupt the training at any time, but after this new experiment has saved its own checkpoint, the pre-trained checkpoint will not be loaded again when the training is resumed. +- Only the state dict of the checkpoint will be loaded. The optimizer state in the pre-trained checkpoint will be ignored. +- The parameter name matching is **not strict** when loading the pre-trained checkpoint. This means that missing parameters in the state dict will still be left as randomly initialized, and redundant parameters will be ignored without any warnings and errors. There are cases where the tensor shapes mismatch between the pre-trained state dict and the model - edit `finetune_strict_shapes` to change the behavior when dealing with this. +- Be careful if you want to change the functionalities when fine-tuning. Starting from a checkpoint trained under different functionalities may be even slower than training from scratch. + +### Freezing model parameters + +Sometimes you want to freeze part of the model during training or fine-tuning to save GPU memory, accelerate the training process or avoid catastrophic forgetting. Parameter freezing may also be useful if you want to add/remove functionalities from pre-trained checkpoints. In general, you need to add the following structure into the configuration file: + +```yaml +# take acoustic models as an example +freezing_enabled: true # main switch to enable parameter freezing +frozen_params: # prefix rules to freeze specific parameters during training + - model.fs2.encoder + - model.fs2.pitch_embed +``` + +You may interrupt the training and change the settings above at any time. Sometimes this will cause mismatching optimizer state - and it will be discarded silently. diff --git a/docs/ConfigurationSchemas.md b/docs/ConfigurationSchemas.md new file mode 100644 index 0000000..b7c8df6 --- /dev/null +++ b/docs/ConfigurationSchemas.md @@ -0,0 +1,2274 @@ +# Configuration Schemas + +## The configuration system + +DiffSinger uses a cascading configuration system based on YAML files. All configuration files originally inherit and override [configs/base.yaml](../configs/base.yaml), and each file directly override another file by setting the `base_config` attribute. The overriding rules are: + +- Configuration keys with the same path and the same name will be replaced. Other paths and names will be merged. +- All configurations in the inheritance chain will be squashed (via the rule above) as the final configuration. +- The trainer will save the final configuration in the experiment directory, which is detached from the chain and made independent from other configuration files. + +## Configurable parameters + +This following are the meaning and usages of all editable keys in a configuration file. + +Each configuration key (including nested keys) are described with a brief explanation and several attributes listed as follows: + +| Attribute | Explanation | +|:---------------:|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| visibility | Represents what kind(s) of models and tasks this configuration belongs to. | +| scope | The scope of effects of the configuration, indicating what it can influence within the whole pipeline. Possible values are:
**nn** - This configuration is related to how the neural networks are formed and initialized. Modifying it will result in failure when loading or resuming from checkpoints.
**preprocessing** - This configuration controls how raw data pieces or inference inputs are converted to inputs of neural networks. Binarizers should be re-run if this configuration is modified.
**training** - This configuration describes the training procedures. Most training configurations can affect training performance, memory consumption, device utilization and loss calculation. Modifying training-only configurations will not cause severe inconsistency or errors in most situations.
**inference** - This configuration describes the calculation logic through the model graph. Changing it can lead to inconsistent or wrong outputs of inference or validation.
**others** - Other configurations not discussed above. Will have different effects according to the descriptions. | +| customizability | The level of customizability of the configuration. Possible values are:
**required** - This configuration **must** be set or modified according to the actual situation or condition, otherwise errors can be raised.
**recommended** - It is recommended to adjust this configuration according to the dataset, requirements, environment and hardware. Most functionality-related and feature-related configurations are at this level, and all configurations in this level are widely tested with different values. However, leaving it unchanged will not cause problems.
**normal** - There is no need to modify it as the default value is carefully tuned and widely validated. However, one can still use another value if there are some special requirements or situations.
**not recommended** - No other values except the default one of this configuration are tested. Modifying it will not cause errors, but may cause unpredictable or significant impacts to the pipelines.
**reserved** - This configuration **must not** be modified. It appears in the configuration file only for future scalability, and currently changing it will result in errors. | +| type | Value type of the configuration. Follows the syntax of Python type hints. | +| constraints | Value constraints of the configuration. | +| default | Default value of the configuration. Uses YAML value syntax. | + +### accumulate_grad_batches + +Indicates that gradients of how many training steps are accumulated before each `optimizer.step()` call. 1 means no gradient accumulation. + + + + + + + +
visibilityall
scopetraining
customizabilityrecommended
typeint
default1
+ +### audio_num_mel_bins + +Number of mel channels for the mel-spectrogram. + + + + + + + +
visibilityacoustic
scopenn, preprocessing, inference
customizabilityreserved
typeint
default128
+ +### audio_sample_rate + +Sampling rate of waveforms. + + + + + + + +
visibilityacoustic, variance
scopepreprocessing
customizabilityreserved
typeint
default44100
+ +### augmentation_args + +Arguments for data augmentation. + + + +
typedict
+ +### augmentation_args.fixed_pitch_shifting + +Arguments for fixed pitch shifting augmentation. + + + +
typedict
+ +### augmentation_args.fixed_pitch_shifting.enabled + +Whether to apply fixed pitch shifting augmentation. + + + + + + + + +
visibilityacoustic
scopepreprocessing
customizabilityrecommended
typebool
defaultfalse
constraintsMust be false if augmentation_args.random_pitch_shifting.enabled is set to true.
+ +### augmentation_args.fixed_pitch_shifting.scale + +Scale ratio of each target in fixed pitch shifting augmentation. + + + + + + + +
visibilityacoustic
scopepreprocessing
customizabilityrecommended
typetuple
default0.5
+ +### augmentation_args.fixed_pitch_shifting.targets + +Targets (in semitones) of fixed pitch shifting augmentation. + + + + + + + +
visibilityacoustic
scopepreprocessing
customizabilitynot recommended
typetuple
default[-5.0, 5.0]
+ +### augmentation_args.random_pitch_shifting + +Arguments for random pitch shifting augmentation. + + + +
typedict
+ +### augmentation_args.random_pitch_shifting.enabled + +Whether to apply random pitch shifting augmentation. + + + + + + + + +
visibilityacoustic
scopepreprocessing
customizabilityrecommended
typebool
defaulttrue
constraintsMust be false if augmentation_args.fixed_pitch_shifting.enabled is set to true.
+ +### augmentation_args.random_pitch_shifting.range + +Range of the random pitch shifting ( in semitones). + + + + + + + +
visibilityacoustic
scopepreprocessing
customizabilitynot recommended
typetuple
default[-5.0, 5.0]
+ +### augmentation_args.random_pitch_shifting.scale + +Scale ratio of the random pitch shifting augmentation. + + + + + + + +
visibilityacoustic
scopepreprocessing
customizabilityrecommended
typefloat
default0.75
+ +### augmentation_args.random_time_stretching + +Arguments for random time stretching augmentation. + + + +
typedict
+ +### augmentation_args.random_time_stretching.enabled + +Whether to apply random time stretching augmentation. + + + + + + + +
visibilityacoustic
scopepreprocessing
customizabilityrecommended
typebool
defaulttrue
+ +### augmentation_args.random_time_stretching.range + +Range of random time stretching factors. + + + + + + + +
visibilityacoustic
scopepreprocessing
customizabilitynot recommended
typetuple
default[0.5, 2]
+ +### augmentation_args.random_time_stretching.scale + +Scale ratio of random time stretching augmentation. + + + + + + + +
visibilityacoustic
scopepreprocessing
customizabilityrecommended
typefloat
default0.75
+ +### backbone_args + +Keyword arguments for the backbone of main decoder module. + + + + + +
visibilityacoustic, variance
scopenn
typedict
+ +Available arguments for each backbone type are listed below. + +**WaveNet** (`backbone_type: wavenet`) + +| argument name | type | default | description | +|:----------------------|:----:|:-------:|:--------------------------------------------------------------------------------------------------------------| +| num_layers | int | 20 | Number of residual block layers, or depth of the network | +| num_channels | int | 512 | Number of channels, or width of the network | +| dilation_cycle_length | int | 4 | Length k of the cycle $2^0, 2^1, \ldots, 2^k$ of convolution dilation factors through WaveNet residual blocks | + +**LYNXNet** (`backbone_type: lynxnet`) + +| argument name | type | default | description | +|:--------------|:-----:|:-------:|:--------------------------------------------------------------------------------| +| num_layers | int | 6 | Number of LYNXNet blocks, or depth of the network | +| num_channels | int | 1024 | Number of channels, or width of the network | +| kernel_size | int | 31 | Kernel size of the depthwise convolution layers | +| dropout_rate | float | 0.0 | Dropout rate applied in each LYNXNet block | +| strong_cond | bool | false | Whether to use strong conditioning, which injects condition before the GLU gate | + +**LYNXNet2** (`backbone_type: lynxnet2`) + +| argument name | type | default | description | +|:----------------------|:-----:|:-------:|:-------------------------------------------------------------------------------------------------| +| num_layers | int | 6 | Number of LYNXNet2 blocks, or depth of the network | +| num_channels | int | 1024 | Number of channels, or width of the network | +| kernel_size | int | 31 | Kernel size of the depthwise convolution layers | +| dropout_rate | float | 0.0 | Dropout rate applied in each LYNXNet2 block | +| use_conditioner_cache | bool | true | Whether to use Conv1d-based conditioner projection (compatible with conditioner caching) | +| glu_type | str | atanglu | Type of gated linear unit activation. Choose from `'swiglu'` for SwiGLU, `'atanglu'` for ATanGLU | +| expansion_factor | int | 1 | Channel expansion factor within each gated block (not commonly overridden) | + +### backbone_type + +Backbone type of the main decoder/predictor module. + + + + + + + + +
visibilityacoustic, variance
scopenn
customizabilitynormal
typestr
defaultlynxnet2
constraintsChoose from 'wavenet', 'lynxnet', 'lynxnet2'.
+ +### base_config + +Path(s) of other config files that the current config is based on and will override. + + + + +
scopeothers
typeUnion[str, list]
+ +### binarization_args + +Arguments for binarizers. + + + +
typedict
+ +### binarization_args.num_workers + +Number of worker subprocesses when running binarizers. More workers can speed up the preprocessing but will consume more memory. 0 means the main processing doing everything. + + + + + + + +
visibilityall
scopepreprocessing
customizabilityrecommended
typeint
default1
+ +### binarization_args.prefer_ds + +Whether to prefer loading attributes and parameters from DS files. + + + + + + + +
visibilityvariance
scopepreprocessing
customizabilityrecommended
typebool
defaultFalse
+ +### binarization_args.shuffle + +Whether binarized dataset will be shuffled or not. + + + + + + + +
visibilityall
scopepreprocessing
customizabilitynormal
typebool
defaulttrue
+ +### binarizer_cls + +Binarizer class name. + + + + + + +
visibilityall
scopepreprocessing
customizabilityreserved
typestr
+ +### binary_data_dir + +Path to the binarized dataset. + + + + + + +
visibilityall
scopepreprocessing, training
customizabilityrequired
typestr
+ +### breathiness_db_max + +Maximum breathiness value in dB used for normalization to [-1, 1]. + + + + + + + +
visibilityvariance
scopeinference
customizabilityrecommended
typefloat
default-20.0
+ +### breathiness_db_min + +Minimum breathiness value in dB used for normalization to [-1, 1]. + + + + + + + +
visibilityacoustic, variance
scopeinference
customizabilityrecommended
typefloat
default-96.0
+ +### breathiness_smooth_width + +Length of sinusoidal smoothing convolution kernel (in seconds) on extracted breathiness curve. + + + + + + + +
visibilityacoustic, variance
scopepreprocessing
customizabilitynormal
typefloat
default0.06
+ +### clip_grad_norm + +The value at which to clip gradients. Equivalent to `gradient_clip_val` in `lightning.pytorch.Trainer`. + + + + + + + +
visibilityall
scopetraining
customizabilitynot recommended
typefloat
default1
+ +### dataloader_prefetch_factor + +Number of batches loaded in advance by each `torch.utils.data.DataLoader` worker. + + + + + + + +
visibilityall
scopetraining
customizabilitynormal
typeint
default2
+ +### dataset_size_key + +The key that indexes the binarized metadata to be used as the `sizes` when batching by size + + + + + + + +
visibilityall
scopetraining
customizabilitynot recommended
typestr
defaultlengths
+ +### datasets + +List of dataset configs for preprocessing. + + + + + +
visibilityacoustic, variance
scopepreprocessing
typeList[dict]
+ +### datasets[].language + +Language context of this dataset. Must be a key of [dictionaries](#dictionaries). + + + + + + +
visibilityacoustic, variance
scopepreprocessing
customizabilityrequired
typestr
+ +### datasets[].raw_data_dir + +Path to this dataset including wave files, transcriptions, etc. + + + + + + +
visibilityall
scopepreprocessing
customizabilityrequired
typestr
+ +### datasets[].speaker + +The name of speaker of this dataset. Speaker names are mapped to speaker indexes and stored into spk_map.json when preprocessing. + + + + + + +
visibilityacoustic, variance
scopepreprocessing
customizabilityrequired
typestr
+ +### datasets[].spk_id + +The speaker ID assigned to this dataset. Will be automatically assigned if not given. IDs can be duplicate or discontinuous to merge multiple datasets to one speaker. + + + + + + +
visibilityacoustic, variance
scopepreprocessing
customizabilitynormal
typeint
+ +### datasets[].test_prefixes + +List of data item names or name prefixes in this dataset for the validation set. For each string `s` in the list: + +- If `s` equals to an actual item name, add that item to validation set. +- If `s` does not equal to any item names, add all items whose names start with `s` to validation set. + + + + + + +
visibilityall
scopepreprocessing
customizabilityrequired
typelist
+ +### dictionaries + +Map of language names and their corresponding dictionary file paths. The phonemes in these dictionaries will be combined as the final phoneme set and have their phoneme IDs. Training data must fully cover all phoneme IDs. + + + + + + + +
visibilityacoustic, variance
scopepreprocessing
customizabilityrequired
typeDict[str, str]
default{}
+ +### diff_accelerator + +DDPM sampling acceleration method. The following methods are currently available: + +- DDIM: the DDIM method from [Denoising Diffusion Implicit Models](https://arxiv.org/abs/2010.02502) +- PNDM: the PLMS method from [Pseudo Numerical Methods for Diffusion Models on Manifolds](https://arxiv.org/abs/2202.09778) +- DPM-Solver++ adapted from [DPM-Solver: A Fast ODE Solver for Diffusion Probabilistic Model Sampling in Around 10 Steps](https://github.com/LuChengTHU/dpm-solver) +- UniPC adapted from [UniPC: A Unified Predictor-Corrector Framework for Fast Sampling of Diffusion Models](https://github.com/wl-zhao/UniPC) + + + + + + + + +
visibilityacoustic, variance
scopeinference
customizabilitynormal
typestr
defaultddim
constraintsChoose from 'ddim', 'pndm', 'dpm-solver', 'unipc'.
+ +### diff_speedup + +DDPM sampling speed-up ratio. 1 means no speeding up. + + + + + + + + +
visibilityacoustic, variance
scopeinference
customizabilitynormal
typeint
default10
constraintsMust be a factor of K_step.
+ +### diffusion_type + +The type of ODE-based generative model algorithm. The following models are currently available: + +- Denoising Diffusion Probabilistic Models (DDPM) from [Denoising Diffusion Probabilistic Models](https://arxiv.org/abs/2006.11239) +- Rectified Flow from [Flow Straight and Fast: Learning to Generate and Transfer Data with Rectified Flow](https://arxiv.org/abs/2209.03003) + + + + + + + + +
visibilityacoustic, variance
scopenn
customizabilitynormal
typestr
defaultreflow
constraintsChoose from 'ddpm', 'reflow'.
+ +### dropout + +Dropout rate in some FastSpeech2 modules. + + + + + + + +
visibilityacoustic, variance
scopenn
customizabilitynot recommended
typefloat
default0.1
+ +### ds_workers + +Number of workers of `torch.utils.data.DataLoader`. + + + + + + + +
visibilityall
scopetraining
customizabilitynormal
typeint
default4
+ +### dur_prediction_args + +Arguments for phoneme duration prediction. + + + +
typedict
+ +### dur_prediction_args.arch + +Architecture of duration predictor. `'fs2'` uses the original FastSpeech2 duration predictor with standard convolution layers. `'resnet'` uses a residual-style variant with additional layer normalization and residual connections, which may improve training stability. + + + + + + + + +
visibilityvariance
scopenn
customizabilityreserved
typestr
defaultresnet
constraintsChoose from 'fs2', 'resnet'.
+ +### dur_prediction_args.dropout + +Dropout rate in duration predictor. + + + + + + + +
visibilityvariance
scopenn
customizabilitynot recommended
typefloat
default0.1
+ +### dur_prediction_args.hidden_size + +Dimensions of hidden layers in duration predictor. + + + + + + + +
visibilityvariance
scopenn
customizabilitynormal
typeint
default256
+ +### dur_prediction_args.kernel_size + +Kernel size of convolution layers of duration predictor. + + + + + + + +
visibilityvariance
scopenn
customizabilitynormal
typeint
default3
+ +### dur_prediction_args.lambda_pdur_loss + +Coefficient of single phone duration loss when calculating joint duration loss. + + + + + + + +
visibilityvariance
scopetraining
customizabilitynormal
typefloat
default0.3
+ +### dur_prediction_args.lambda_sdur_loss + +Coefficient of sentence duration loss when calculating joint duration loss. + + + + + + + +
visibilityvariance
scopetraining
customizabilitynormal
typefloat
default3.0
+ +### dur_prediction_args.lambda_wdur_loss + +Coefficient of word duration loss when calculating joint duration loss. + + + + + + + +
visibilityvariance
scopetraining
customizabilitynormal
typefloat
default1.0
+ +### dur_prediction_args.log_offset + +Offset for log domain duration loss calculation, where the following transformation is applied: +$$ +D' = \ln{(D+d)} +$$ +with the offset value $d$. + + + + + + + +
visibilityvariance
scopetraining
customizabilitynot recommended
typefloat
default1.0
+ +### dur_prediction_args.loss_type + +Underlying loss type of duration loss. + + + + + + + + +
visibilityvariance
scopetraining
customizabilitynormal
typestr
defaultmse
constraintsChoose from 'mse', 'huber'.
+ +### dur_prediction_args.num_layers + +Number of duration predictor layers. + + + + + + + +
visibilityvariance
scopenn
customizabilitynormal
typeint
default5
+ +### enc_ffn_kernel_size + +Size of TransformerFFNLayer convolution kernel size in FastSpeech2 encoder. + + + + + + + +
visibilityacoustic, variance
scopenn
customizabilitynot recommended
typeint
default3
+ +### enc_layers + +Number of FastSpeech2 encoder layers. + + + + + + + +
visibilityacoustic, variance
scopenn
customizabilitynormal
typeint
default4
+ +### energy_db_max + +Maximum energy value in dB used for normalization to [-1, 1]. + + + + + + + +
visibilityvariance
scopeinference
customizabilityrecommended
typefloat
default-12.0
+ +### energy_db_min + +Minimum energy value in dB used for normalization to [-1, 1]. + + + + + + + +
visibilityvariance
scopeinference
customizabilityrecommended
typefloat
default-96.0
+ +### energy_smooth_width + +Length of sinusoidal smoothing convolution kernel (in seconds) on extracted energy curve. + + + + + + + +
visibilityacoustic, variance
scopepreprocessing
customizabilitynormal
typefloat
default0.06
+ +### extra_phonemes + +Extra phonemes to be added to the phoneme set. This list can be used to define custom global phoneme tags besides `AP` and `SP`, or to contain phonemes that are not present in any of the dictionaries. + + + + + + + +
visibilityacoustic, variance
scopepreprocessing
customizabilitynormal
typelist
default[]
+ +### f0_max + +Maximum base frequency (F0) in Hz for pitch extraction. + + + + + + + +
visibilityacoustic, variance
scopepreprocessing
customizabilitynormal
typeint
default1100
+ +### f0_min + +Minimum base frequency (F0) in Hz for pitch extraction. + + + + + + + +
visibilityacoustic, variance
scopepreprocessing
customizabilitynormal
typeint
default65
+ +### ffn_act + +Activation function of TransformerFFNLayer in FastSpeech2 encoder: + +- `torch.nn.ReLU` if 'relu' +- `torch.nn.GELU` if 'gelu' +- `torch.nn.SiLU` if 'swish' + + + + + + + + +
visibilityacoustic, variance
scopenn
customizabilitynot recommended
typestr
defaultgelu
constraintsChoose from 'relu', 'gelu', 'swish'.
+ +### fft_size + +Fast Fourier Transforms parameter for mel extraction. + + + + + + + +
visibilityacoustic, variance
scopepreprocessing
customizabilityreserved
typeint
default2048
+ +### finetune_enabled + +Whether to finetune from a pretrained model. + + + + + + + +
visibilityall
scopetraining
customizabilitynormal
typebool
defaultFalse
+ +### finetune_ckpt_path + +Path to the pretrained model for finetuning. + + + + + + + +
visibilityall
scopetraining
customizabilitynormal
typestr
defaultnull
+ +### finetune_ignored_params + +Prefixes of parameter key names in the state dict of the pretrained model that need to be dropped before finetuning. + + + + + + +
visibilityall
scopetraining
customizabilitynormal
typelist
+ +### finetune_strict_shapes + +Whether to raise error if the tensor shapes of any parameter of the pretrained model and the target model mismatch. If set to `False`, parameters with mismatching shapes will be skipped. + + + + + + + +
visibilityall
scopetraining
customizabilitynormal
typebool
defaultTrue
+ +### fmax + +Maximum frequency of mel extraction. + + + + + + + +
visibilityacoustic
scopepreprocessing
customizabilityreserved
typeint
default16000
+ +### fmin + +Minimum frequency of mel extraction. + + + + + + + +
visibilityacoustic
scopepreprocessing
customizabilityreserved
typeint
default40
+ +### freezing_enabled + +Whether enabling parameter freezing during training. + + + + + + + +
visibilityall
scopetraining
customizabilitynormal
typebool
defaultFalse
+ +### frozen_params + +Parameter name prefixes to freeze during training. + + + + + + + +
visibilityall
scopetraining
customizabilitynormal
typelist
default[]
+ +### glide_embed_scale + +The scale factor to be multiplied on the glide embedding values for melody encoder. + + + + + + + +
visibilityvariance
scopenn
customizabilitynot recommended
typefloat
default11.313708498984760
+ +### glide_types + +Type names of glide notes. + + + + + + + +
visibilityvariance
scopepreprocessing
customizabilitynormal
typelist
default[up, down]
+ +### hidden_size + +Dimension of hidden layers of FastSpeech2, token and parameter embeddings, and diffusion condition. + + + + + + + +
visibilityacoustic, variance
scopenn
customizabilitynormal
typeint
default384
+ +### hnsep + +Harmonic-noise separation algorithm type. + + + + + + + + +
visibilityall
scopepreprocessing
customizabilitynormal
typestr
defaultworld
constraintsChoose from 'world', 'vr'.
+ +### hnsep_ckpt + +Checkpoint or model path of NN-based harmonic-noise separator. + + + + + + +
visibilityall
scopepreprocessing
customizabilitynormal
typestr
+ +### hop_size + +Hop size or step length (in number of waveform samples) of mel and feature extraction. + + + + + + + +
visibilityacoustic, variance
scopepreprocessing
customizabilityreserved
typeint
default512
+ +### lambda_aux_mel_loss + +Coefficient of aux mel loss when calculating total loss of acoustic model with shallow diffusion. + + + + + + + +
visibilityacoustic
scopetraining
customizabilitynormal
typefloat
default0.2
+ +### lambda_dur_loss + +Coefficient of duration loss when calculating total loss of variance model. + + + + + + + +
visibilityvariance
scopetraining
customizabilitynormal
typefloat
default1.0
+ +### lambda_pitch_loss + +Coefficient of pitch loss when calculating total loss of variance model. + + + + + + + +
visibilityvariance
scopetraining
customizabilitynormal
typefloat
default1.0
+ +### lambda_var_loss + +Coefficient of variance loss (all variance parameters other than pitch, like energy, breathiness, etc.) when calculating total loss of variance model. + + + + + + + +
visibilityvariance
scopetraining
customizabilitynormal
typefloat
default1.0
+ +### K_step + +Maximum number of DDPM steps used by shallow diffusion. + + + + + + + +
visibilityacoustic
scopetraining
customizabilityrecommended
typeint
default400
+ +### K_step_infer + +Number of DDPM steps used during shallow diffusion inference. Normally set as same as [K_step](#K_step). + + + + + + + + +
visibilityacoustic
scopeinference
customizabilityrecommended
typeint
default400
constraintsShould be no larger than K_step.
+ +### log_interval + +Controls how often to log within training steps. Equivalent to `log_every_n_steps` in `lightning.pytorch.Trainer`. + + + + + + + +
visibilityall
scopetraining
customizabilitynormal
typeint
default100
+ +### lr_scheduler_args + +Arguments of learning rate scheduler. Keys will be used as keyword arguments of the `__init__()` method of [lr_scheduler_args.scheduler_cls](#lr_scheduler_argsscheduler_cls). + + + +
typedict
+ +### lr_scheduler_args.scheduler_cls + +Learning rate scheduler class name. + + + + + + + +
visibilityall
scopetraining
customizabilitynot recommended
typestr
defaulttorch.optim.lr_scheduler.StepLR
+ +### main_loss_log_norm + +Whether to use log-normalized weight for the main loss. This is similar to the method in the Stable Diffusion 3 paper [Scaling Rectified Flow Transformers for High-Resolution Image Synthesis](https://arxiv.org/abs/2403.03206). + + + + + + +
visibilityacoustic, variance
scopetraining
customizabilitynormal
typebool
+ +### main_loss_type + +Loss type of the main decoder/predictor. + + + + + + + + +
visibilityacoustic, variance
scopetraining
customizabilitynot recommended
typestr
defaultl2
constraintsChoose from 'l1', 'l2'.
+ +### max_batch_frames + +Maximum number of data frames in each training batch. Used to dynamically control the batch size. + + + + + + + +
visibilityacoustic, variance
scopetraining
customizabilityrecommended
typeint
default80000
+ +### max_batch_size + +The maximum training batch size. + + + + + + + +
visibilityall
scopetraining
customizabilityrecommended
typeint
default48
+ +### max_beta + +Max beta of the DDPM noise schedule. + + + + + + + +
visibilityacoustic, variance
scopenn, inference
customizabilitynormal
typefloat
default0.02
+ +### max_updates + +Stop training after this number of steps. Equivalent to `max_steps` in `lightning.pytorch.Trainer`. + + + + + + + +
visibilityall
scopetraining
customizabilityrecommended
typeint
default100000
+ +### max_val_batch_frames + +Maximum number of data frames in each validation batch. + + + + + + + +
visibilityacoustic, variance
scopetraining
customizabilitynormal
typeint
default60000
+ +### max_val_batch_size + +The maximum validation batch size. + + + + + + + +
visibilityall
scopetraining
customizabilitynormal
typeint
default1
+ +### mel_base + +The logarithmic base of mel spectrogram calculation. + +**WARNING: Since v2.4.0 release, this value is no longer configurable for preprocessing new datasets.** + + + + + + + +
visibilityacoustic
scopepreprocessing
customizabilityreserved
typestr
defaulte
+ +### mel_vmax + +Maximum mel spectrogram heatmap value for TensorBoard plotting. + + + + + + + +
visibilityacoustic
scopetraining
customizabilitynot recommended
typefloat
default4.
+ +### mel_vmin + +Minimum mel spectrogram heatmap value for TensorBoard plotting. + + + + + + + +
visibilityacoustic
scopetraining
customizabilitynot recommended
typefloat
default-14.
+ +### melody_encoder_args + +Arguments for melody encoder. Available sub-keys: `hidden_size`, `enc_layers`, `enc_ffn_kernel_size`, `ffn_act`, `dropout`, `num_heads`, `use_pos_embed`, `rel_pos`. If either of the parameter does not exist in this configuration key, it inherits from the linguistic encoder. + + + +
typedict
+ +### merged_phoneme_groups + +Phoneme groups to merge. Each group is a phoneme name list. The merged phonemes share the same ID and thus the same phoneme embedding. + + + + + + + +
visibilityacoustic, variance
scopepreprocessing
customizabilityrequired
typelist
default[]
+ +### midi_smooth_width + +Length of sinusoidal smoothing convolution kernel (in seconds) on the step function representing MIDI sequence for base pitch calculation. + + + + + + + +
visibilityvariance
scopepreprocessing
customizabilitynormal
typefloat
default0.06
+ +### mix_ln_layer + +List of 0-based encoder layer indices where Mixed LayerNorm is applied. Only takes effect when [use_mix_ln](#use_mix_ln) is enabled. For each selected layer, both self-attention layer norm and FFN layer norm are replaced with `Mixed_LayerNorm` which conditions the normalization on speaker embedding. + + + + + + + +
visibilityacoustic
scopenn
customizabilitynormal
typeList[int]
default[0, 2]
+ +### nccl_p2p + +Whether to enable P2P when using NCCL as the backend. Turn it to `false` if the training process is stuck upon beginning. + + + + + + + +
visibilityall
scopetraining
customizabilitynormal
typebool
defaulttrue
+ +### num_ckpt_keep + +Number of newest checkpoints kept during training. + + + + + + + +
visibilityall
scopetraining
customizabilitynormal
typeint
default5
+ +### num_heads + +The number of attention heads of `torch.nn.MultiheadAttention` in FastSpeech2 encoder. + + + + + + + +
visibilityacoustic, variance
scopenn
customizabilitynot recommended
typeint
default2
+ +### num_lang + +Number of languages. This value is used to allocate language embeddings in the linguistic encoder. + + + + + + +
visibilityacoustic, variance
scopenn
customizabilityrequired
typeint
+ +### num_sanity_val_steps + +Number of sanity validation steps at the beginning. + + + + + + + +
visibilityall
scopetraining
customizabilityreserved
typeint
default1
+ +### num_spk + +Maximum number of speakers in multi-speaker models. + + + + + + + +
visibilityacoustic, variance
scopenn
customizabilityrequired
typeint
default1
+ +### num_valid_plots + +Number of validation plots in each validation. Plots will be chosen from the start of the validation set. + + + + + + + +
visibilityacoustic, variance
scopetraining
customizabilityrecommended
typeint
default10
+ +### optimizer_args + +Arguments of optimizer. Keys will be used as keyword arguments of the `__init__()` method of [optimizer_args.optimizer_cls](#optimizer_argsoptimizer_cls). + + + +
typedict
+ +### optimizer_args.optimizer_cls + +Optimizer class name. The following optimizers are currently recommended: + +- `torch.optim.AdamW` — Standard AdamW optimizer. Use with `adamw_args` for the weight decay setting. +- `modules.optimizer.muon.Muon_AdamW` — Chained optimizer that applies Muon (MomentUm Orthogonalized by Newton-schulz) to internal weight matrices (e.g. linear layers) and AdamW to other parameters (e.g. biases, embeddings). Configure via `muon_args` and `adamw_args` sub-keys under [optimizer_args](#optimizer_args). + + + + + + + +
visibilityall
scopetraining
customizabilityreserved
typestr
defaultmodules.optimizer.muon.Muon_AdamW
+ +### pe + +Pitch extraction algorithm type. + + + + + + + + +
visibilityall
scopepreprocessing
customizabilitynormal
typestr
defaultparselmouth
constraintsChoose from 'parselmouth', 'rmvpe', 'harvest'.
+ +### pe_ckpt + +Checkpoint or model path of NN-based pitch extractor. + + + + + + +
visibilityall
scopepreprocessing
customizabilitynormal
typestr
+ +### permanent_ckpt_interval + +The interval (in number of training steps) of permanent checkpoints. Permanent checkpoints will not be removed even if they are not the newest ones. + + + + + + +
visibilityall
scopetraining
typeint
default10000
+ +### permanent_ckpt_start + +Checkpoints will be marked as permanent every [permanent_ckpt_interval](#permanent_ckpt_interval) training steps after this number of training steps. + + + + + + +
visibilityall
scopetraining
typeint
default60000
+ +### pitch_prediction_args + +Arguments for pitch prediction. + + + +
typedict
+ +### pitch_prediction_args.backbone_args + +Equivalent to [backbone_args](#backbone_args) but only for the pitch predictor model. If not set, use the root backbone type. + + + +
visibilityvariance
+ +### pitch_prediction_args.backbone_type + +Equivalent to [backbone_type](#backbone_type) but only for the pitch predictor model. + + + + +
visibilityvariance
defaultlynxnet2
+ +### pitch_prediction_args.pitd_clip_max + +Maximum clipping value (in semitones) of pitch delta between actual pitch and base pitch. + + + + + + +
visibilityvariance
scopeinference
typefloat
default12.0
+ +### pitch_prediction_args.pitd_clip_min + +Minimum clipping value (in semitones) of pitch delta between actual pitch and base pitch. + + + + + + +
visibilityvariance
scopeinference
typefloat
default-12.0
+ +### pitch_prediction_args.pitd_norm_max + +Maximum pitch delta value in semitones used for normalization to [-1, 1]. + + + + + + + +
visibilityvariance
scopeinference
customizabilityrecommended
typefloat
default8.0
+ +### pitch_prediction_args.pitd_norm_min + +Minimum pitch delta value in semitones used for normalization to [-1, 1]. + + + + + + + +
visibilityvariance
scopeinference
customizabilityrecommended
typefloat
default-8.0
+ +### pitch_prediction_args.repeat_bins + +Number of repeating bins in the pitch predictor. + + + + + + + +
visibilityvariance
scopenn, inference
customizabilityrecommended
typeint
default64
+ +### pl_trainer_accelerator + +Type of Lightning trainer hardware accelerator. + + + + + + + + +
visibilityall
scopetraining
customizabilitynot recommended
typestr
defaultauto
constraintsSee Accelerator — PyTorch Lightning 2.X.X documentation for available values.
+ +### pl_trainer_devices + +To determine on which device(s) model should be trained. + +'auto' will utilize all visible devices defined with the `CUDA_VISIBLE_DEVICES` environment variable, or utilize all available devices if that variable is not set. Otherwise, it behaves like `CUDA_VISIBLE_DEVICES` which can filter out visible devices. + + + + + + + +
visibilityall
scopetraining
customizabilitynot recommended
typestr
defaultauto
+ +### pl_trainer_precision + +The computation precision of training. + + + + + + + + +
visibilityall
scopetraining
customizabilitynormal
typestr
default16-mixed
constraintsChoose from '32-true', 'bf16-mixed', '16-mixed'. See more possible values at Trainer — PyTorch Lightning 2.X.X documentation.
+ +### pl_trainer_num_nodes + +Number of nodes in the training cluster of Lightning trainer. + + + + + + + +
visibilityall
scopetraining
customizabilityreserved
typeint
default1
+ +### pl_trainer_strategy + +Arguments of Lightning Strategy. Values will be used as keyword arguments when constructing the Strategy object. + + + +
typedict
+ +### pl_trainer_strategy.name + +Strategy name for the Lightning trainer. + + + + + + + +
visibilityall
scopetraining
customizabilityreserved
typestr
defaultauto
+ +### predict_breathiness + +Whether to enable breathiness prediction. + + + + + + + +
visibilityvariance
scopenn, preprocessing, training, inference
customizabilityrecommended
typebool
defaultfalse
+ +### predict_dur + +Whether to enable phoneme duration prediction. + + + + + + + +
visibilityvariance
scopenn, preprocessing, training, inference
customizabilityrecommended
typebool
defaulttrue
+ +### predict_energy + +Whether to enable energy prediction. + + + + + + + +
visibilityvariance
scopenn, preprocessing, training, inference
customizabilityrecommended
typebool
defaultfalse
+ +### predict_pitch + +Whether to enable pitch prediction. + + + + + + + +
visibilityvariance
scopenn, preprocessing, training, inference
customizabilityrecommended
typebool
defaulttrue
+ +### predict_tension + +Whether to enable tension prediction. + + + + + + + +
visibilityvariance
scopenn, preprocessing, training, inference
customizabilityrecommended
typebool
defaultfalse
+ +### predict_voicing + +Whether to enable voicing prediction. + + + + + + + +
visibilityvariance
scopenn, preprocessing, training, inference
customizabilityrecommended
typebool
defaultfalse
+ +### rel_pos + +Whether to use relative positional encoding in FastSpeech2 module. + + + + + + + +
visibilityacoustic, variance
scopenn
customizabilitynot recommended
typeboolean
defaulttrue
+ +### rope_interleaved + +Whether to use the interleaved (alternating) layout for RoPE (Rotary Positional Encoding) in the encoder self-attention. When set to `false`, the non-interleaved (contiguous half-real-half-imaginary) layout is used instead. + + + + + + + +
visibilityacoustic, variance
scopenn
customizabilitynot recommended
typebool
defaultfalse
+ +### sampler_frame_count_grid + +The batch sampler applies an algorithm called _sorting by similar length_ when collecting batches. Data samples are first grouped by their approximate lengths before they get shuffled within each group. Assume this value is set to $L_{grid}$, the approximate length of a data sample with length $L_{real}$ can be calculated through the following expression: + +$$ +L_{approx} = \lfloor\frac{L_{real}}{L_{grid}}\rfloor\cdot L_{grid} +$$ + +Training performance on some datasets may be very sensitive to this value. Change it to 1 (completely sorted by length without shuffling) to get the best performance in theory. + + + + + + + +
visibilityacoustic, variance
scopetraining
customizabilitynormal
typeint
default6
+ +### sampling_algorithm + +The algorithm to solve the ODE of Rectified Flow. The following methods are currently available: + +- Euler: The Euler method. +- Runge-Kutta (order 2): The 2nd-order Runge-Kutta method. +- Runge-Kutta (order 4): The 4th-order Runge-Kutta method. +- Runge-Kutta (order 5): The 5th-order Runge-Kutta method. + + + + + + + + +
visibilityacoustic, variance
scopeinference
customizabilitynormal
typestr
defaulteuler
constraintsChoose from 'euler', 'rk2', 'rk4', 'rk5'.
+ +### sampling_steps + +The total sampling steps to solve the ODE of Rectified Flow. Note that this value may not equal to NFE (Number of Function Evaluations) because some methods may require more than one function evaluation per step. + + + + + + + +
visibilityacoustic, variance
scopeinference
customizabilitynormal
typeint
default20
+ +### schedule_type + +The DDPM schedule type. + + + + + + + + +
visibilityacoustic, variance
scopenn
customizabilitynot recommended
typestr
defaultlinear
constraintsChoose from 'linear', 'cosine'.
+ +### shallow_diffusion_args + +Arguments for shallow diffusion. + + + +
typedict
+ +### shallow_diffusion_args.aux_decoder_arch + +Architecture type of the auxiliary decoder. + + + + + + + + +
visibilityacoustic
scopenn
customizabilityreserved
typestr
defaultconvnext
constraintsChoose from 'convnext'.
+ +### shallow_diffusion_args.aux_decoder_args + +Keyword arguments for dynamically constructing the auxiliary decoder. + + + + + +
visibilityacoustic
scopenn
typedict
+ +### shallow_diffusion_args.aux_decoder_grad + +Scale factor of the gradients from the auxiliary decoder to the encoder. + + + + + + + +
visibilityacoustic
scopetraining
customizabilitynormal
typefloat
default0.1
+ +### shallow_diffusion_args.train_aux_decoder + +Whether to forward and backward the auxiliary decoder during training. If set to `false`, the auxiliary decoder hangs in the memory and does not get any updates. + + + + + + + +
visibilityacoustic
scopetraining
customizabilitynormal
typebool
defaulttrue
+ +### shallow_diffusion_args.train_diffusion + +Whether to forward and backward the diffusion (main) decoder during training. If set to `false`, the diffusion decoder hangs in the memory and does not get any updates. + + + + + + + +
visibilityacoustic
scopetraining
customizabilitynormal
typebool
defaulttrue
+ +### shallow_diffusion_args.val_gt_start + +Whether to use the ground truth as `x_start` in the shallow diffusion validation process. If set to `true`, gaussian noise is added to the ground truth before shallow diffusion is performed; otherwise the noise is added to the output of the auxiliary decoder. This option is useful when the auxiliary decoder has not been trained yet. + + + + + + + +
visibilityacoustic
scopetraining
customizabilitynormal
typebool
defaultfalse
+ +### sort_by_len + +Whether to apply the _sorting by similar length_ algorithm described in [sampler_frame_count_grid](#sampler_frame_count_grid). Turning off this option may slow down training because sorting by length can better utilize the computing resources. + + + + + + + +
visibilityacoustic, variance
scopetraining
customizabilitynot recommended
typebool
defaulttrue
+ +### spec_min + +Minimum mel spectrogram value used for normalization to [-1, 1]. Different mel bins can have different minimum values. + + + + + + + +
visibilityacoustic
scopeinference
customizabilitynot recommended
typeList[float]
default[-12]
+ +### spec_max + +Maximum mel spectrogram value used for normalization to [-1, 1]. Different mel bins can have different maximum values. + + + + + + + +
visibilityacoustic
scopeinference
customizabilitynot recommended
typeList[float]
default[0.0]
+ +### T_start + +The starting value of time $t$ in the Rectified Flow ODE which applies on $t \in (T_{start}, 1)$. + + + + + + + +
visibilityacoustic
scopetraining
customizabilityrecommended
typefloat
default0.4
+ +### T_start_infer + +The starting value of time $t$ in the ODE during shallow Rectified Flow inference. Normally set as same as [T_start](#T_start). + + + + + + + + +
visibilityacoustic
scopeinference
customizabilityrecommended
typefloat
default0.4
constraintsShould be no less than T_start.
+ +### task_cls + +Task trainer class name. + + + + + + +
visibilityall
scopetraining
customizabilityreserved
typestr
+ +### tension_logit_max + +Maximum tension logit value used for normalization to [-1, 1]. Logit is the reverse function of Sigmoid: + +$$ +f(x) = \ln\frac{x}{1-x} +$$ + + + + + + + +
visibilityvariance
scopeinference
customizabilityrecommended
typefloat
default10.0
+ +### tension_logit_min + +Minimum tension logit value used for normalization to [-1, 1]. Logit is the reverse function of Sigmoid: + +$$ +f(x) = \ln\frac{x}{1-x} +$$ + + + + + + + +
visibilityvariance
scopeinference
customizabilityrecommended
typefloat
default-10.0
+ +### tension_smooth_width + +Length of sinusoidal smoothing convolution kernel (in seconds) on extracted tension curve. + + + + + + + +
visibilityacoustic, variance
scopepreprocessing
customizabilitynormal
typefloat
default0.06
+ +### time_scale_factor + +The scale factor that will be multiplied on the time $t$ of Rectified Flow before embedding into the model. + + + + + + + +
visibilityacoustic, variance
scopenn
customizabilitynot recommended
typefloat
default1000
+ +### timesteps + +Total number of DDPM steps. + + + + + + + +
visibilityacoustic, variance
scopenn
customizabilitynot recommended
typeint
default1000
+ +### use_breathiness_embed + +Whether to accept and embed breathiness values into the model. + + + + + + + +
visibilityacoustic
scopenn, preprocessing, inference
customizabilityrecommended
typeboolean
defaultfalse
+ +### use_energy_embed + +Whether to accept and embed energy values into the model. + + + + + + + +
visibilityacoustic
scopenn, preprocessing, inference
customizabilityrecommended
typeboolean
defaultfalse
+ +### use_glide_embed + +Whether to accept and embed glide types in melody encoder. + + + + + + + + +
visibilityvariance
scopenn, preprocessing, inference
customizabilityrecommended
typeboolean
defaultfalse
constraintsOnly take affects when melody encoder is enabled.
+ +### use_key_shift_embed + +Whether to embed key shifting values introduced by random pitch shifting augmentation. + + + + + + + + +
visibilityacoustic
scopenn, preprocessing, inference
customizabilityrecommended
typeboolean
defaultfalse
constraintsMust be true if random pitch shifting is enabled.
+ +### use_lang_id + +Whether to embed the language ID from a multilingual dataset. This option only takes effect for those cross-lingual phonemes in the merged groups. + + + + + + + +
visibilityacoustic, variance
scopenn, preprocessing, inference
customizabilityrecommended
typebool
defaultfalse
+ +### use_melody_encoder + +Whether to enable melody encoder for the pitch predictor. + + + + + + + +
visibilityvariance
scopenn
customizabilityrecommended
typeboolean
defaultfalse
+ +### use_mix_ln + +Whether to use Mixed LayerNorm with speaker-conditioned mixup in the acoustic encoder. When enabled, encoder layers specified in [mix_ln_layer](#mix_ln_layer) use `Mixed_LayerNorm`, which mixes the standard layer normalization with a speaker-conditioned scale factor, allowing speaker identity to influence the normalization behavior. + + + + + + + +
visibilityacoustic
scopenn
customizabilitynormal
typebool
defaultfalse
+ +### use_pos_embed + +Whether to use SinusoidalPositionalEmbedding in FastSpeech2 encoder. + + + + + + + +
visibilityacoustic, variance
scopenn
customizabilitynot recommended
typeboolean
defaulttrue
+ +### use_rope + +Whether to use RoPE (Rotary Positional Encoding) in FastSpeech2 encoder. + + + + + + + +
visibilityacoustic, variance
scopenn
customizabilitynot recommended
typeboolean
defaulttrue
+ +### use_shallow_diffusion + +Whether to use shallow diffusion. + + + + + + + +
visibilityacoustic
scopenn, inference
customizabilityrecommended
typeboolean
defaultfalse
+ +### use_speed_embed + +Whether to embed speed values introduced by random time stretching augmentation. + + + + + + + +
visibilityacoustic
scopenn, preprocessing, inference
typeboolean
defaultfalse
constraintsMust be true if random time stretching is enabled.
+ +### use_spk_id + +Whether to embed the speaker ID from a multi-speaker dataset. + + + + + + + +
visibilityacoustic, variance
scopenn, preprocessing, inference
customizabilityrecommended
typebool
defaultfalse
+ +### use_stretch_embed + +Whether to accept and embed phoneme-level time stretching ratios into the acoustic encoder. The stretch ratio is computed by the `StretchRegulator` module, which measures how much each mel frame is stretched or compressed relative to its corresponding phoneme's average duration. When random time stretching augmentation is enabled, this embedding helps the model condition on the actual stretch applied during data augmentation. + + + + + + + +
visibilityacoustic, variance
scopenn, preprocessing, inference
customizabilitynot recommended
typebool
defaulttrue for acoustic, false for variance
+ +### use_tension_embed + +Whether to accept and embed tension values into the model. + + + + + + + +
visibilityacoustic
scopenn, preprocessing, inference
customizabilityrecommended
typeboolean
defaultfalse
+ +### use_variance_scaling + +Whether to apply log-domain scaling to duration and MIDI embeddings to compress their dynamic range. When enabled, phoneme duration values are embedded in log space via `log(1 + dur)`, and MIDI note numbers are normalized by 1/128. This scaling helps the model handle the wide range of duration and MIDI values more stably during training and inference. + + + + + + + +
visibilityacoustic, variance
scopenn, inference
customizabilitynot recommended
typebool
defaulttrue
+ +### use_voicing_embed + +Whether to accept and embed voicing values into the model. + + + + + + + +
visibilityacoustic
scopenn, preprocessing, inference
customizabilityrecommended
typeboolean
defaultfalse
+ +### val_check_interval + +Interval (in number of training steps) between validation checks. + + + + + + + +
visibilityall
scopetraining
customizabilityrecommended
typeint
default4000
+ +### val_with_vocoder + +Whether to load and use the vocoder to generate audio during validation. Validation audio will not be available if this option is disabled. + + + + + + + +
visibilityacoustic
scopetraining
customizabilitynormal
typebool
defaulttrue
+ +### variances_prediction_args + +Arguments for prediction of variance parameters other than pitch, like energy, breathiness, etc. + + + +
typedict
+ +### variances_prediction_args.backbone_args + +Equivalent to [backbone_args](#backbone_args) but only for the multi-variance predictor. + + + +
visibilityvariance
+ +### variances_prediction_args.backbone_type + +Equivalent to [backbone_type](#backbone_type) but only for the multi-variance predictor model. If not set, use the root backbone type. + + + + +
visibilityvariance
defaultlynxnet2
+ +### variances_prediction_args.total_repeat_bins + +Total number of repeating bins in the multi-variance predictor. Repeating bins are distributed evenly to each variance parameter. + + + + + + + +
visibilityvariance
scopenn, inference
customizabilityrecommended
typeint
default72
+ +### vocoder + +The vocoder class name. + + + + + + + +
visibilityacoustic
scopepreprocessing, training, inference
customizabilitynormal
typestr
defaultNsfHifiGAN
+ +### vocoder_ckpt + +Path of the vocoder model. + + + + + + + +
visibilityacoustic
scopepreprocessing, training, inference
customizabilitynormal
typestr
defaultcheckpoints/nsf_hifigan/model
+ +### voicing_db_max + +Maximum voicing value in dB used for normalization to [-1, 1]. + + + + + + + +
visibilityvariance
scopeinference
customizabilityrecommended
typefloat
default-20.0
+ +### voicing_db_min + +Minimum voicing value in dB used for normalization to [-1, 1]. + + + + + + + +
visibilityacoustic, variance
scopeinference
customizabilityrecommended
typefloat
default-96.0
+ +### voicing_smooth_width + +Length of sinusoidal smoothing convolution kernel (in seconds) on extracted voicing curve. + + + + + + + +
visibilityacoustic, variance
scopepreprocessing
customizabilitynormal
typefloat
default0.06
+ +### win_size + +Window size for mel or feature extraction. + + + + + + + +
visibilityacoustic, variance
scopepreprocessing
customizabilityreserved
typeint
default2048
diff --git a/docs/GettingStarted.md b/docs/GettingStarted.md new file mode 100644 index 0000000..1f7ef8f --- /dev/null +++ b/docs/GettingStarted.md @@ -0,0 +1,152 @@ +# Getting Started + +## Installation + +### Environments and dependencies + +DiffSinger requires Python 3.10 or later. We strongly recommend you create a virtual environment via Conda, venv or uv before installing dependencies. + +1. Install The latest PyTorch following the [official instructions](https://pytorch.org/get-started/locally/) according to your OS and hardware. We recommend using the latest stable release that is >= 2.4.0. + +2. Install other dependencies via the following command: + + ```bash + pip install -r requirements.txt + ``` + +### Concepts and materials + +Before you proceed, it is necessary to understand some fundamental concepts in this repository and prepare some materials and assets. See [fundamental concepts and materials](BestPractices.md#fundamental-concepts-and-materials) for detailed information. + +## Configuration + +Every model needs a configuration file to run preprocessing, training, inference and deployment. Templates of configurations files are in [configs/templates](../configs/templates). Please **copy** the templates to your own data directory before you edit them. + +Before you continue, it is highly recommended to read through [Best Practices](BestPractices.md), which is a more detailed tutorial on how to configure your experiments. + +For more details about configurable parameters, see [Configuration Schemas](ConfigurationSchemas.md). + +> Tips: to see which parameters are required or recommended to be edited, you can search by _customizability_ in the configuration schemas. + +## Preprocessing + +Raw data pieces and transcriptions should be binarized into dataset files before training. Before doing this step, please ensure all required configurations like `raw_data_dir` and `binary_data_dir` are set properly, and all your desired functionalities and features are enabled and configured. + +Assume that you have a configuration file called `my_config.yaml`. Run: + +```bash +python scripts/binarize.py --config my_config.yaml +``` + +Preprocessing can be accelerated through multiprocessing. See [binarization_args.num_workers](ConfigurationSchemas.md#binarization_args.num_workers) for more explanations. + +## Training + +Assume that you have a configuration file called `my_config.yaml` and the name of your model is `my_experiment`. Run: + +```bash +python scripts/train.py --config my_config.yaml --exp_name my_experiment --reset +``` + +Checkpoints will be saved at the `checkpoints/my_experiment/` directory. When interrupting the program and running the above command again, the training resumes automatically from the latest checkpoint. + +For more suggestions related to training performance, see [performance tuning](BestPractices.md#performance-tuning). + +### TensorBoard + +Run the following command to start the TensorBoard: + +```bash +tensorboard --logdir checkpoints/ +``` + +> NOTICE +> +> If you are training a model with multiple GPUs (DDP), please add `--reload_multifile=true` option when launching TensorBoard, otherwise it may not update properly. + +## Inference + +Inference of DiffSinger is based on DS files. Assume that you have a DS file named `my_song.ds` and your model is named `my_experiment`. + +If your model is a variance model, run: + +```bash +python scripts/infer.py variance my_song.ds --exp my_experiment +``` + +or run + +```bash +python scripts/infer.py variance --help +``` + +for more configurable options. + +If your model is an acoustic model, run: + +```bash +python scripts/infer.py acoustic my_song.ds --exp my_experiment +``` + +or run + +```bash +python scripts/infer.py acoustic --help +``` + +for more configurable options. + +## Deployment + +DiffSinger uses [ONNX](https://onnx.ai/) as the deployment format. + +Assume that you have a model named `my_experiment`. + +If your model is a variance model, run: + +```bash +python scripts/export.py variance --exp my_experiment +``` + +or run + +```bash +python scripts/export.py variance --help +``` + +for more configurable options. + +If your model is an acoustic model, run: + +```bash +python scripts/export.py acoustic --exp my_experiment +``` + +or run + +```bash +python scripts/export.py acoustic --help +``` + +for more configurable options. + +To export an NSF-HiFiGAN vocoder checkpoint, run: + +```bash +python scripts/export.py nsf-hifigan --config CONFIG --ckpt CKPT +``` + +where `CONFIG` is a configuration file that has configured the same mel parameters as the vocoder (can be configs/acoustic.yaml for most cases) and `CKPT` is the path of the checkpoint to be exported. + +For more configurable options, run + +```bash +python scripts/export.py nsf-hifigan --help +``` + +## Other utilities + +There are other useful CLI tools in the [scripts/](../scripts) directory not mentioned above: + +- drop_spk.py - delete speaker embeddings from checkpoints (for data security reasons when distributing models) +- vocoder.py - bypass the acoustic model and only run the vocoder on given mel-spectrograms diff --git a/docs/resources/arch-acoustic.drawio b/docs/resources/arch-acoustic.drawio new file mode 100644 index 0000000..305d9e1 --- /dev/null +++ b/docs/resources/arch-acoustic.drawio @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/resources/arch-acoustic.jpg b/docs/resources/arch-acoustic.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f1ce4a1301cc7e81dfa302d3da9c7107d4aef0f0 GIT binary patch literal 115087 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 literal 0 HcmV?d00001 diff --git a/docs/resources/arch-overview.drawio b/docs/resources/arch-overview.drawio new file mode 100644 index 0000000..a7b9a9e --- /dev/null +++ b/docs/resources/arch-overview.drawio @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/resources/arch-overview.jpg b/docs/resources/arch-overview.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2acae69bfbb5a6d2179a1e09abd539ade767c4ae GIT binary patch literal 74626 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 Bh%EpB literal 0 HcmV?d00001 diff --git a/docs/resources/arch-variance.drawio b/docs/resources/arch-variance.drawio new file mode 100644 index 0000000..8761b79 --- /dev/null +++ b/docs/resources/arch-variance.drawio @@ -0,0 +1,399 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/resources/arch-variance.jpg b/docs/resources/arch-variance.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b58f8987b1522d30ea7e93ea1f05cfb5930c855e GIT binary patch literal 230944 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Ď}g+*OGcC)VvlKe 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%0ArcV2uYh_ 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 GG59ZBuR3=C literal 0 HcmV?d00001 diff --git a/docs/resources/phoneme-distribution.jpg b/docs/resources/phoneme-distribution.jpg new file mode 100644 index 0000000000000000000000000000000000000000..394de37b44b40803871b973fa3b48e8e01d9aa19 GIT binary patch literal 529805 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 z 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⋙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 ns = NoiseScheduleVP('discrete', betas=betas) + + # For discrete-time DPMs, given alphas_cumprod (the \hat{alpha_n} array for n = 0, 1, ..., N - 1): + >>> ns = NoiseScheduleVP('discrete', alphas_cumprod=alphas_cumprod) + + # For continuous-time DPMs (VPSDE), linear schedule: + >>> ns = NoiseScheduleVP('linear', continuous_beta_0=0.1, continuous_beta_1=20.) + + """ + + if schedule not in ['discrete', 'linear']: + raise ValueError("Unsupported noise schedule {}. The schedule needs to be 'discrete' or 'linear'".format(schedule)) + + self.schedule = schedule + if schedule == 'discrete': + if betas is not None: + log_alphas = 0.5 * torch.log(1 - betas).cumsum(dim=0) + else: + assert alphas_cumprod is not None + log_alphas = 0.5 * torch.log(alphas_cumprod) + self.T = 1. + self.log_alpha_array = self.numerical_clip_alpha(log_alphas).reshape((1, -1,)).to(dtype=dtype) + self.total_N = self.log_alpha_array.shape[1] + self.t_array = torch.linspace(0., 1., self.total_N + 1)[1:].reshape((1, -1)).to(dtype=dtype) + else: + self.T = 1. + self.total_N = 1000 + self.beta_0 = continuous_beta_0 + self.beta_1 = continuous_beta_1 + + def numerical_clip_alpha(self, log_alphas, clipped_lambda=-5.1): + """ + For some beta schedules such as cosine schedule, the log-SNR has numerical isssues. + We clip the log-SNR near t=T within -5.1 to ensure the stability. + Such a trick is very useful for diffusion models with the cosine schedule, such as i-DDPM, guided-diffusion and GLIDE. + """ + log_sigmas = 0.5 * torch.log(1. - torch.exp(2. * log_alphas)) + lambs = log_alphas - log_sigmas + idx = torch.searchsorted(torch.flip(lambs, [0]), clipped_lambda) + if idx > 0: + log_alphas = log_alphas[:-idx] + return log_alphas + + def marginal_log_mean_coeff(self, t): + """ + Compute log(alpha_t) of a given continuous-time label t in [0, T]. + """ + if self.schedule == 'discrete': + return interpolate_fn(t.reshape((-1, 1)), self.t_array.to(t.device), self.log_alpha_array.to(t.device)).reshape((-1)) + elif self.schedule == 'linear': + return -0.25 * t ** 2 * (self.beta_1 - self.beta_0) - 0.5 * t * self.beta_0 + + def marginal_alpha(self, t): + """ + Compute alpha_t of a given continuous-time label t in [0, T]. + """ + return torch.exp(self.marginal_log_mean_coeff(t)) + + def marginal_std(self, t): + """ + Compute sigma_t of a given continuous-time label t in [0, T]. + """ + return torch.sqrt(1. - torch.exp(2. * self.marginal_log_mean_coeff(t))) + + def marginal_lambda(self, t): + """ + Compute lambda_t = log(alpha_t) - log(sigma_t) of a given continuous-time label t in [0, T]. + """ + log_mean_coeff = self.marginal_log_mean_coeff(t) + log_std = 0.5 * torch.log(1. - torch.exp(2. * log_mean_coeff)) + return log_mean_coeff - log_std + + def inverse_lambda(self, lamb): + """ + Compute the continuous-time label t in [0, T] of a given half-logSNR lambda_t. + """ + if self.schedule == 'linear': + tmp = 2. * (self.beta_1 - self.beta_0) * torch.logaddexp(-2. * lamb, torch.zeros((1,)).to(lamb)) + Delta = self.beta_0**2 + tmp + return tmp / (torch.sqrt(Delta) + self.beta_0) / (self.beta_1 - self.beta_0) + elif self.schedule == 'discrete': + log_alpha = -0.5 * torch.logaddexp(torch.zeros((1,)).to(lamb.device), -2. * lamb) + t = interpolate_fn(log_alpha.reshape((-1, 1)), torch.flip(self.log_alpha_array.to(lamb.device), [1]), torch.flip(self.t_array.to(lamb.device), [1])) + return t.reshape((-1,)) + + +def model_wrapper( + model, + noise_schedule, + model_type="noise", + model_kwargs={}, + guidance_type="uncond", + condition=None, + unconditional_condition=None, + guidance_scale=1., + classifier_fn=None, + classifier_kwargs={}, +): + """Create a wrapper function for the noise prediction model. + + DPM-Solver needs to solve the continuous-time diffusion ODEs. For DPMs trained on discrete-time labels, we need to + firstly wrap the model function to a noise prediction model that accepts the continuous time as the input. + + We support four types of the diffusion model by setting `model_type`: + + 1. "noise": noise prediction model. (Trained by predicting noise). + + 2. "x_start": data prediction model. (Trained by predicting the data x_0 at time 0). + + 3. "v": velocity prediction model. (Trained by predicting the velocity). + The "v" prediction is derivation detailed in Appendix D of [1], and is used in Imagen-Video [2]. + + [1] Salimans, Tim, and Jonathan Ho. "Progressive distillation for fast sampling of diffusion models." + arXiv preprint arXiv:2202.00512 (2022). + [2] Ho, Jonathan, et al. "Imagen Video: High Definition Video Generation with Diffusion Models." + arXiv preprint arXiv:2210.02303 (2022). + + 4. "score": marginal score function. (Trained by denoising score matching). + Note that the score function and the noise prediction model follows a simple relationship: + ``` + noise(x_t, t) = -sigma_t * score(x_t, t) + ``` + + We support three types of guided sampling by DPMs by setting `guidance_type`: + 1. "uncond": unconditional sampling by DPMs. + The input `model` has the following format: + `` + model(x, t_input, **model_kwargs) -> noise | x_start | v | score + `` + + 2. "classifier": classifier guidance sampling [3] by DPMs and another classifier. + The input `model` has the following format: + `` + model(x, t_input, **model_kwargs) -> noise | x_start | v | score + `` + + The input `classifier_fn` has the following format: + `` + classifier_fn(x, t_input, cond, **classifier_kwargs) -> logits(x, t_input, cond) + `` + + [3] P. Dhariwal and A. Q. Nichol, "Diffusion models beat GANs on image synthesis," + in Advances in Neural Information Processing Systems, vol. 34, 2021, pp. 8780-8794. + + 3. "classifier-free": classifier-free guidance sampling by conditional DPMs. + The input `model` has the following format: + `` + model(x, t_input, cond, **model_kwargs) -> noise | x_start | v | score + `` + And if cond == `unconditional_condition`, the model output is the unconditional DPM output. + + [4] Ho, Jonathan, and Tim Salimans. "Classifier-free diffusion guidance." + arXiv preprint arXiv:2207.12598 (2022). + + + The `t_input` is the time label of the model, which may be discrete-time labels (i.e. 0 to 999) + or continuous-time labels (i.e. epsilon to T). + + We wrap the model function to accept only `x` and `t_continuous` as inputs, and outputs the predicted noise: + `` + def model_fn(x, t_continuous) -> noise: + t_input = get_model_input_time(t_continuous) + return noise_pred(model, x, t_input, **model_kwargs) + `` + where `t_continuous` is the continuous time labels (i.e. epsilon to T). And we use `model_fn` for DPM-Solver. + + =============================================================== + + Args: + model: A diffusion model with the corresponding format described above. + noise_schedule: A noise schedule object, such as NoiseScheduleVP. + model_type: A `str`. The parameterization type of the diffusion model. + "noise" or "x_start" or "v" or "score". + model_kwargs: A `dict`. A dict for the other inputs of the model function. + guidance_type: A `str`. The type of the guidance for sampling. + "uncond" or "classifier" or "classifier-free". + condition: A pytorch tensor. The condition for the guided sampling. + Only used for "classifier" or "classifier-free" guidance type. + unconditional_condition: A pytorch tensor. The condition for the unconditional sampling. + Only used for "classifier-free" guidance type. + guidance_scale: A `float`. The scale for the guided sampling. + classifier_fn: A classifier function. Only used for the classifier guidance. + classifier_kwargs: A `dict`. A dict for the other inputs of the classifier function. + Returns: + A noise prediction model that accepts the noised data and the continuous time as the inputs. + """ + + def get_model_input_time(t_continuous): + """ + Convert the continuous-time `t_continuous` (in [epsilon, T]) to the model input time. + For discrete-time DPMs, we convert `t_continuous` in [1 / N, 1] to `t_input` in [0, 1000 * (N - 1) / N]. + For continuous-time DPMs, we just use `t_continuous`. + """ + if noise_schedule.schedule == 'discrete': + return (t_continuous - 1. / noise_schedule.total_N) * noise_schedule.total_N + else: + return t_continuous + + def noise_pred_fn(x, t_continuous, cond=None): + t_input = get_model_input_time(t_continuous) + if cond is None: + output = model(x, t_input, **model_kwargs) + else: + output = model(x, t_input, cond, **model_kwargs) + if model_type == "noise": + return output + elif model_type == "x_start": + alpha_t, sigma_t = noise_schedule.marginal_alpha(t_continuous), noise_schedule.marginal_std(t_continuous) + return (x - expand_dims(alpha_t, x.dim()) * output) / expand_dims(sigma_t, x.dim()) + elif model_type == "v": + alpha_t, sigma_t = noise_schedule.marginal_alpha(t_continuous), noise_schedule.marginal_std(t_continuous) + return expand_dims(alpha_t, x.dim()) * output + expand_dims(sigma_t, x.dim()) * x + elif model_type == "score": + sigma_t = noise_schedule.marginal_std(t_continuous) + return -expand_dims(sigma_t, x.dim()) * output + + def cond_grad_fn(x, t_input): + """ + Compute the gradient of the classifier, i.e. nabla_{x} log p_t(cond | x_t). + """ + with torch.enable_grad(): + x_in = x.detach().requires_grad_(True) + log_prob = classifier_fn(x_in, t_input, condition, **classifier_kwargs) + return torch.autograd.grad(log_prob.sum(), x_in)[0] + + def model_fn(x, t_continuous): + """ + The noise predicition model function that is used for DPM-Solver. + """ + if guidance_type == "uncond": + return noise_pred_fn(x, t_continuous) + elif guidance_type == "classifier": + assert classifier_fn is not None + t_input = get_model_input_time(t_continuous) + cond_grad = cond_grad_fn(x, t_input) + sigma_t = noise_schedule.marginal_std(t_continuous) + noise = noise_pred_fn(x, t_continuous) + return noise - guidance_scale * expand_dims(sigma_t, x.dim()) * cond_grad + elif guidance_type == "classifier-free": + if guidance_scale == 1. or unconditional_condition is None: + return noise_pred_fn(x, t_continuous, cond=condition) + else: + x_in = torch.cat([x] * 2) + t_in = torch.cat([t_continuous] * 2) + c_in = torch.cat([unconditional_condition, condition]) + noise_uncond, noise = noise_pred_fn(x_in, t_in, cond=c_in).chunk(2) + return noise_uncond + guidance_scale * (noise - noise_uncond) + + assert model_type in ["noise", "x_start", "v", "score"] + assert guidance_type in ["uncond", "classifier", "classifier-free"] + return model_fn + + +class DPM_Solver: + def __init__( + self, + model_fn, + noise_schedule, + algorithm_type="dpmsolver++", + correcting_x0_fn=None, + correcting_xt_fn=None, + thresholding_max_val=1., + dynamic_thresholding_ratio=0.995, + ): + """Construct a DPM-Solver. + + We support both DPM-Solver (`algorithm_type="dpmsolver"`) and DPM-Solver++ (`algorithm_type="dpmsolver++"`). + + We also support the "dynamic thresholding" method in Imagen[1]. For pixel-space diffusion models, you + can set both `algorithm_type="dpmsolver++"` and `correcting_x0_fn="dynamic_thresholding"` to use the + dynamic thresholding. The "dynamic thresholding" can greatly improve the sample quality for pixel-space + DPMs with large guidance scales. Note that the thresholding method is **unsuitable** for latent-space + DPMs (such as stable-diffusion). + + To support advanced algorithms in image-to-image applications, we also support corrector functions for + both x0 and xt. + + Args: + model_fn: A noise prediction model function which accepts the continuous-time input (t in [epsilon, T]): + `` + def model_fn(x, t_continuous): + return noise + `` + The shape of `x` is `(batch_size, **shape)`, and the shape of `t_continuous` is `(batch_size,)`. + noise_schedule: A noise schedule object, such as NoiseScheduleVP. + algorithm_type: A `str`. Either "dpmsolver" or "dpmsolver++". + correcting_x0_fn: A `str` or a function with the following format: + ``` + def correcting_x0_fn(x0, t): + x0_new = ... + return x0_new + ``` + This function is to correct the outputs of the data prediction model at each sampling step. e.g., + ``` + x0_pred = data_pred_model(xt, t) + if correcting_x0_fn is not None: + x0_pred = correcting_x0_fn(x0_pred, t) + xt_1 = update(x0_pred, xt, t) + ``` + If `correcting_x0_fn="dynamic_thresholding"`, we use the dynamic thresholding proposed in Imagen[1]. + correcting_xt_fn: A function with the following format: + ``` + def correcting_xt_fn(xt, t, step): + x_new = ... + return x_new + ``` + This function is to correct the intermediate samples xt at each sampling step. e.g., + ``` + xt = ... + xt = correcting_xt_fn(xt, t, step) + ``` + thresholding_max_val: A `float`. The max value for thresholding. + Valid only when use `dpmsolver++` and `correcting_x0_fn="dynamic_thresholding"`. + dynamic_thresholding_ratio: A `float`. The ratio for dynamic thresholding (see Imagen[1] for details). + Valid only when use `dpmsolver++` and `correcting_x0_fn="dynamic_thresholding"`. + + [1] Chitwan Saharia, William Chan, Saurabh Saxena, Lala Li, Jay Whang, Emily Denton, Seyed Kamyar Seyed Ghasemipour, + Burcu Karagol Ayan, S Sara Mahdavi, Rapha Gontijo Lopes, et al. Photorealistic text-to-image diffusion models + with deep language understanding. arXiv preprint arXiv:2205.11487, 2022b. + """ + self.model = lambda x, t: model_fn(x, t.expand((x.shape[0]))) + self.noise_schedule = noise_schedule + assert algorithm_type in ["dpmsolver", "dpmsolver++"] + self.algorithm_type = algorithm_type + if correcting_x0_fn == "dynamic_thresholding": + self.correcting_x0_fn = self.dynamic_thresholding_fn + else: + self.correcting_x0_fn = correcting_x0_fn + self.correcting_xt_fn = correcting_xt_fn + self.dynamic_thresholding_ratio = dynamic_thresholding_ratio + self.thresholding_max_val = thresholding_max_val + + def dynamic_thresholding_fn(self, x0, t): + """ + The dynamic thresholding method. + """ + dims = x0.dim() + p = self.dynamic_thresholding_ratio + s = torch.quantile(torch.abs(x0).reshape((x0.shape[0], -1)), p, dim=1) + s = expand_dims(torch.maximum(s, self.thresholding_max_val * torch.ones_like(s).to(s.device)), dims) + x0 = torch.clamp(x0, -s, s) / s + return x0 + + def noise_prediction_fn(self, x, t): + """ + Return the noise prediction model. + """ + return self.model(x, t) + + def data_prediction_fn(self, x, t): + """ + Return the data prediction model (with corrector). + """ + noise = self.noise_prediction_fn(x, t) + alpha_t, sigma_t = self.noise_schedule.marginal_alpha(t), self.noise_schedule.marginal_std(t) + x0 = (x - sigma_t * noise) / alpha_t + if self.correcting_x0_fn is not None: + x0 = self.correcting_x0_fn(x0, t) + return x0 + + def model_fn(self, x, t): + """ + Convert the model to the noise prediction model or the data prediction model. + """ + if self.algorithm_type == "dpmsolver++": + return self.data_prediction_fn(x, t) + else: + return self.noise_prediction_fn(x, t) + + def get_time_steps(self, skip_type, t_T, t_0, N, device): + """Compute the intermediate time steps for sampling. + + Args: + skip_type: A `str`. The type for the spacing of the time steps. We support three types: + - 'logSNR': uniform logSNR for the time steps. + - 'time_uniform': uniform time for the time steps. (**Recommended for high-resolutional data**.) + - 'time_quadratic': quadratic time for the time steps. (Used in DDIM for low-resolutional data.) + t_T: A `float`. The starting time of the sampling (default is T). + t_0: A `float`. The ending time of the sampling (default is epsilon). + N: A `int`. The total number of the spacing of the time steps. + device: A torch device. + Returns: + A pytorch tensor of the time steps, with the shape (N + 1,). + """ + if skip_type == 'logSNR': + lambda_T = self.noise_schedule.marginal_lambda(torch.tensor(t_T).to(device)) + lambda_0 = self.noise_schedule.marginal_lambda(torch.tensor(t_0).to(device)) + logSNR_steps = torch.linspace(lambda_T.cpu().item(), lambda_0.cpu().item(), N + 1).to(device) + return self.noise_schedule.inverse_lambda(logSNR_steps) + elif skip_type == 'time_uniform': + return torch.linspace(t_T, t_0, N + 1).to(device) + elif skip_type == 'time_quadratic': + t_order = 2 + t = torch.linspace(t_T**(1. / t_order), t_0**(1. / t_order), N + 1).pow(t_order).to(device) + return t + else: + raise ValueError("Unsupported skip_type {}, need to be 'logSNR' or 'time_uniform' or 'time_quadratic'".format(skip_type)) + + def get_orders_and_timesteps_for_singlestep_solver(self, steps, order, skip_type, t_T, t_0, device): + """ + Get the order of each step for sampling by the singlestep DPM-Solver. + + We combine both DPM-Solver-1,2,3 to use all the function evaluations, which is named as "DPM-Solver-fast". + Given a fixed number of function evaluations by `steps`, the sampling procedure by DPM-Solver-fast is: + - If order == 1: + We take `steps` of DPM-Solver-1 (i.e. DDIM). + - If order == 2: + - Denote K = (steps // 2). We take K or (K + 1) intermediate time steps for sampling. + - If steps % 2 == 0, we use K steps of DPM-Solver-2. + - If steps % 2 == 1, we use K steps of DPM-Solver-2 and 1 step of DPM-Solver-1. + - If order == 3: + - Denote K = (steps // 3 + 1). We take K intermediate time steps for sampling. + - If steps % 3 == 0, we use (K - 2) steps of DPM-Solver-3, and 1 step of DPM-Solver-2 and 1 step of DPM-Solver-1. + - If steps % 3 == 1, we use (K - 1) steps of DPM-Solver-3 and 1 step of DPM-Solver-1. + - If steps % 3 == 2, we use (K - 1) steps of DPM-Solver-3 and 1 step of DPM-Solver-2. + + ============================================ + Args: + order: A `int`. The max order for the solver (2 or 3). + steps: A `int`. The total number of function evaluations (NFE). + skip_type: A `str`. The type for the spacing of the time steps. We support three types: + - 'logSNR': uniform logSNR for the time steps. + - 'time_uniform': uniform time for the time steps. (**Recommended for high-resolutional data**.) + - 'time_quadratic': quadratic time for the time steps. (Used in DDIM for low-resolutional data.) + t_T: A `float`. The starting time of the sampling (default is T). + t_0: A `float`. The ending time of the sampling (default is epsilon). + device: A torch device. + Returns: + orders: A list of the solver order of each step. + """ + if order == 3: + K = steps // 3 + 1 + if steps % 3 == 0: + orders = [3,] * (K - 2) + [2, 1] + elif steps % 3 == 1: + orders = [3,] * (K - 1) + [1] + else: + orders = [3,] * (K - 1) + [2] + elif order == 2: + if steps % 2 == 0: + K = steps // 2 + orders = [2,] * K + else: + K = steps // 2 + 1 + orders = [2,] * (K - 1) + [1] + elif order == 1: + K = 1 + orders = [1,] * steps + else: + raise ValueError("'order' must be '1' or '2' or '3'.") + if skip_type == 'logSNR': + # To reproduce the results in DPM-Solver paper + timesteps_outer = self.get_time_steps(skip_type, t_T, t_0, K, device) + else: + timesteps_outer = self.get_time_steps(skip_type, t_T, t_0, steps, device)[torch.cumsum(torch.tensor([0,] + orders), 0).to(device)] + return timesteps_outer, orders + + def denoise_to_zero_fn(self, x, s): + """ + Denoise at the final step, which is equivalent to solve the ODE from lambda_s to infty by first-order discretization. + """ + return self.data_prediction_fn(x, s) + + def dpm_solver_first_update(self, x, s, t, model_s=None, return_intermediate=False): + """ + DPM-Solver-1 (equivalent to DDIM) from time `s` to time `t`. + + Args: + x: A pytorch tensor. The initial value at time `s`. + s: A pytorch tensor. The starting time, with the shape (1,). + t: A pytorch tensor. The ending time, with the shape (1,). + model_s: A pytorch tensor. The model function evaluated at time `s`. + If `model_s` is None, we evaluate the model by `x` and `s`; otherwise we directly use it. + return_intermediate: A `bool`. If true, also return the model value at time `s`. + Returns: + x_t: A pytorch tensor. The approximated solution at time `t`. + """ + ns = self.noise_schedule + dims = x.dim() + lambda_s, lambda_t = ns.marginal_lambda(s), ns.marginal_lambda(t) + h = lambda_t - lambda_s + log_alpha_s, log_alpha_t = ns.marginal_log_mean_coeff(s), ns.marginal_log_mean_coeff(t) + sigma_s, sigma_t = ns.marginal_std(s), ns.marginal_std(t) + alpha_t = torch.exp(log_alpha_t) + + if self.algorithm_type == "dpmsolver++": + phi_1 = torch.expm1(-h) + if model_s is None: + model_s = self.model_fn(x, s) + x_t = ( + sigma_t / sigma_s * x + - alpha_t * phi_1 * model_s + ) + if return_intermediate: + return x_t, {'model_s': model_s} + else: + return x_t + else: + phi_1 = torch.expm1(h) + if model_s is None: + model_s = self.model_fn(x, s) + x_t = ( + torch.exp(log_alpha_t - log_alpha_s) * x + - (sigma_t * phi_1) * model_s + ) + if return_intermediate: + return x_t, {'model_s': model_s} + else: + return x_t + + def singlestep_dpm_solver_second_update(self, x, s, t, r1=0.5, model_s=None, return_intermediate=False, solver_type='dpmsolver'): + """ + Singlestep solver DPM-Solver-2 from time `s` to time `t`. + + Args: + x: A pytorch tensor. The initial value at time `s`. + s: A pytorch tensor. The starting time, with the shape (1,). + t: A pytorch tensor. The ending time, with the shape (1,). + r1: A `float`. The hyperparameter of the second-order solver. + model_s: A pytorch tensor. The model function evaluated at time `s`. + If `model_s` is None, we evaluate the model by `x` and `s`; otherwise we directly use it. + return_intermediate: A `bool`. If true, also return the model value at time `s` and `s1` (the intermediate time). + solver_type: either 'dpmsolver' or 'taylor'. The type for the high-order solvers. + The type slightly impacts the performance. We recommend to use 'dpmsolver' type. + Returns: + x_t: A pytorch tensor. The approximated solution at time `t`. + """ + if solver_type not in ['dpmsolver', 'taylor']: + raise ValueError("'solver_type' must be either 'dpmsolver' or 'taylor', got {}".format(solver_type)) + if r1 is None: + r1 = 0.5 + ns = self.noise_schedule + lambda_s, lambda_t = ns.marginal_lambda(s), ns.marginal_lambda(t) + h = lambda_t - lambda_s + lambda_s1 = lambda_s + r1 * h + s1 = ns.inverse_lambda(lambda_s1) + log_alpha_s, log_alpha_s1, log_alpha_t = ns.marginal_log_mean_coeff(s), ns.marginal_log_mean_coeff(s1), ns.marginal_log_mean_coeff(t) + sigma_s, sigma_s1, sigma_t = ns.marginal_std(s), ns.marginal_std(s1), ns.marginal_std(t) + alpha_s1, alpha_t = torch.exp(log_alpha_s1), torch.exp(log_alpha_t) + + if self.algorithm_type == "dpmsolver++": + phi_11 = torch.expm1(-r1 * h) + phi_1 = torch.expm1(-h) + + if model_s is None: + model_s = self.model_fn(x, s) + x_s1 = ( + (sigma_s1 / sigma_s) * x + - (alpha_s1 * phi_11) * model_s + ) + model_s1 = self.model_fn(x_s1, s1) + if solver_type == 'dpmsolver': + x_t = ( + (sigma_t / sigma_s) * x + - (alpha_t * phi_1) * model_s + - (0.5 / r1) * (alpha_t * phi_1) * (model_s1 - model_s) + ) + elif solver_type == 'taylor': + x_t = ( + (sigma_t / sigma_s) * x + - (alpha_t * phi_1) * model_s + + (1. / r1) * (alpha_t * (phi_1 / h + 1.)) * (model_s1 - model_s) + ) + else: + phi_11 = torch.expm1(r1 * h) + phi_1 = torch.expm1(h) + + if model_s is None: + model_s = self.model_fn(x, s) + x_s1 = ( + torch.exp(log_alpha_s1 - log_alpha_s) * x + - (sigma_s1 * phi_11) * model_s + ) + model_s1 = self.model_fn(x_s1, s1) + if solver_type == 'dpmsolver': + x_t = ( + torch.exp(log_alpha_t - log_alpha_s) * x + - (sigma_t * phi_1) * model_s + - (0.5 / r1) * (sigma_t * phi_1) * (model_s1 - model_s) + ) + elif solver_type == 'taylor': + x_t = ( + torch.exp(log_alpha_t - log_alpha_s) * x + - (sigma_t * phi_1) * model_s + - (1. / r1) * (sigma_t * (phi_1 / h - 1.)) * (model_s1 - model_s) + ) + if return_intermediate: + return x_t, {'model_s': model_s, 'model_s1': model_s1} + else: + return x_t + + def singlestep_dpm_solver_third_update(self, x, s, t, r1=1./3., r2=2./3., model_s=None, model_s1=None, return_intermediate=False, solver_type='dpmsolver'): + """ + Singlestep solver DPM-Solver-3 from time `s` to time `t`. + + Args: + x: A pytorch tensor. The initial value at time `s`. + s: A pytorch tensor. The starting time, with the shape (1,). + t: A pytorch tensor. The ending time, with the shape (1,). + r1: A `float`. The hyperparameter of the third-order solver. + r2: A `float`. The hyperparameter of the third-order solver. + model_s: A pytorch tensor. The model function evaluated at time `s`. + If `model_s` is None, we evaluate the model by `x` and `s`; otherwise we directly use it. + model_s1: A pytorch tensor. The model function evaluated at time `s1` (the intermediate time given by `r1`). + If `model_s1` is None, we evaluate the model at `s1`; otherwise we directly use it. + return_intermediate: A `bool`. If true, also return the model value at time `s`, `s1` and `s2` (the intermediate times). + solver_type: either 'dpmsolver' or 'taylor'. The type for the high-order solvers. + The type slightly impacts the performance. We recommend to use 'dpmsolver' type. + Returns: + x_t: A pytorch tensor. The approximated solution at time `t`. + """ + if solver_type not in ['dpmsolver', 'taylor']: + raise ValueError("'solver_type' must be either 'dpmsolver' or 'taylor', got {}".format(solver_type)) + if r1 is None: + r1 = 1. / 3. + if r2 is None: + r2 = 2. / 3. + ns = self.noise_schedule + lambda_s, lambda_t = ns.marginal_lambda(s), ns.marginal_lambda(t) + h = lambda_t - lambda_s + lambda_s1 = lambda_s + r1 * h + lambda_s2 = lambda_s + r2 * h + s1 = ns.inverse_lambda(lambda_s1) + s2 = ns.inverse_lambda(lambda_s2) + log_alpha_s, log_alpha_s1, log_alpha_s2, log_alpha_t = ns.marginal_log_mean_coeff(s), ns.marginal_log_mean_coeff(s1), ns.marginal_log_mean_coeff(s2), ns.marginal_log_mean_coeff(t) + sigma_s, sigma_s1, sigma_s2, sigma_t = ns.marginal_std(s), ns.marginal_std(s1), ns.marginal_std(s2), ns.marginal_std(t) + alpha_s1, alpha_s2, alpha_t = torch.exp(log_alpha_s1), torch.exp(log_alpha_s2), torch.exp(log_alpha_t) + + if self.algorithm_type == "dpmsolver++": + phi_11 = torch.expm1(-r1 * h) + phi_12 = torch.expm1(-r2 * h) + phi_1 = torch.expm1(-h) + phi_22 = torch.expm1(-r2 * h) / (r2 * h) + 1. + phi_2 = phi_1 / h + 1. + phi_3 = phi_2 / h - 0.5 + + if model_s is None: + model_s = self.model_fn(x, s) + if model_s1 is None: + x_s1 = ( + (sigma_s1 / sigma_s) * x + - (alpha_s1 * phi_11) * model_s + ) + model_s1 = self.model_fn(x_s1, s1) + x_s2 = ( + (sigma_s2 / sigma_s) * x + - (alpha_s2 * phi_12) * model_s + + r2 / r1 * (alpha_s2 * phi_22) * (model_s1 - model_s) + ) + model_s2 = self.model_fn(x_s2, s2) + if solver_type == 'dpmsolver': + x_t = ( + (sigma_t / sigma_s) * x + - (alpha_t * phi_1) * model_s + + (1. / r2) * (alpha_t * phi_2) * (model_s2 - model_s) + ) + elif solver_type == 'taylor': + D1_0 = (1. / r1) * (model_s1 - model_s) + D1_1 = (1. / r2) * (model_s2 - model_s) + D1 = (r2 * D1_0 - r1 * D1_1) / (r2 - r1) + D2 = 2. * (D1_1 - D1_0) / (r2 - r1) + x_t = ( + (sigma_t / sigma_s) * x + - (alpha_t * phi_1) * model_s + + (alpha_t * phi_2) * D1 + - (alpha_t * phi_3) * D2 + ) + else: + phi_11 = torch.expm1(r1 * h) + phi_12 = torch.expm1(r2 * h) + phi_1 = torch.expm1(h) + phi_22 = torch.expm1(r2 * h) / (r2 * h) - 1. + phi_2 = phi_1 / h - 1. + phi_3 = phi_2 / h - 0.5 + + if model_s is None: + model_s = self.model_fn(x, s) + if model_s1 is None: + x_s1 = ( + (torch.exp(log_alpha_s1 - log_alpha_s)) * x + - (sigma_s1 * phi_11) * model_s + ) + model_s1 = self.model_fn(x_s1, s1) + x_s2 = ( + (torch.exp(log_alpha_s2 - log_alpha_s)) * x + - (sigma_s2 * phi_12) * model_s + - r2 / r1 * (sigma_s2 * phi_22) * (model_s1 - model_s) + ) + model_s2 = self.model_fn(x_s2, s2) + if solver_type == 'dpmsolver': + x_t = ( + (torch.exp(log_alpha_t - log_alpha_s)) * x + - (sigma_t * phi_1) * model_s + - (1. / r2) * (sigma_t * phi_2) * (model_s2 - model_s) + ) + elif solver_type == 'taylor': + D1_0 = (1. / r1) * (model_s1 - model_s) + D1_1 = (1. / r2) * (model_s2 - model_s) + D1 = (r2 * D1_0 - r1 * D1_1) / (r2 - r1) + D2 = 2. * (D1_1 - D1_0) / (r2 - r1) + x_t = ( + (torch.exp(log_alpha_t - log_alpha_s)) * x + - (sigma_t * phi_1) * model_s + - (sigma_t * phi_2) * D1 + - (sigma_t * phi_3) * D2 + ) + + if return_intermediate: + return x_t, {'model_s': model_s, 'model_s1': model_s1, 'model_s2': model_s2} + else: + return x_t + + def multistep_dpm_solver_second_update(self, x, model_prev_list, t_prev_list, t, solver_type="dpmsolver"): + """ + Multistep solver DPM-Solver-2 from time `t_prev_list[-1]` to time `t`. + + Args: + x: A pytorch tensor. The initial value at time `s`. + model_prev_list: A list of pytorch tensor. The previous computed model values. + t_prev_list: A list of pytorch tensor. The previous times, each time has the shape (1,) + t: A pytorch tensor. The ending time, with the shape (1,). + solver_type: either 'dpmsolver' or 'taylor'. The type for the high-order solvers. + The type slightly impacts the performance. We recommend to use 'dpmsolver' type. + Returns: + x_t: A pytorch tensor. The approximated solution at time `t`. + """ + if solver_type not in ['dpmsolver', 'taylor']: + raise ValueError("'solver_type' must be either 'dpmsolver' or 'taylor', got {}".format(solver_type)) + ns = self.noise_schedule + model_prev_1, model_prev_0 = model_prev_list[-2], model_prev_list[-1] + t_prev_1, t_prev_0 = t_prev_list[-2], t_prev_list[-1] + lambda_prev_1, lambda_prev_0, lambda_t = ns.marginal_lambda(t_prev_1), ns.marginal_lambda(t_prev_0), ns.marginal_lambda(t) + log_alpha_prev_0, log_alpha_t = ns.marginal_log_mean_coeff(t_prev_0), ns.marginal_log_mean_coeff(t) + sigma_prev_0, sigma_t = ns.marginal_std(t_prev_0), ns.marginal_std(t) + alpha_t = torch.exp(log_alpha_t) + + h_0 = lambda_prev_0 - lambda_prev_1 + h = lambda_t - lambda_prev_0 + r0 = h_0 / h + D1_0 = (1. / r0) * (model_prev_0 - model_prev_1) + if self.algorithm_type == "dpmsolver++": + phi_1 = torch.expm1(-h) + if solver_type == 'dpmsolver': + x_t = ( + (sigma_t / sigma_prev_0) * x + - (alpha_t * phi_1) * model_prev_0 + - 0.5 * (alpha_t * phi_1) * D1_0 + ) + elif solver_type == 'taylor': + x_t = ( + (sigma_t / sigma_prev_0) * x + - (alpha_t * phi_1) * model_prev_0 + + (alpha_t * (phi_1 / h + 1.)) * D1_0 + ) + else: + phi_1 = torch.expm1(h) + if solver_type == 'dpmsolver': + x_t = ( + (torch.exp(log_alpha_t - log_alpha_prev_0)) * x + - (sigma_t * phi_1) * model_prev_0 + - 0.5 * (sigma_t * phi_1) * D1_0 + ) + elif solver_type == 'taylor': + x_t = ( + (torch.exp(log_alpha_t - log_alpha_prev_0)) * x + - (sigma_t * phi_1) * model_prev_0 + - (sigma_t * (phi_1 / h - 1.)) * D1_0 + ) + return x_t + + def multistep_dpm_solver_third_update(self, x, model_prev_list, t_prev_list, t, solver_type='dpmsolver'): + """ + Multistep solver DPM-Solver-3 from time `t_prev_list[-1]` to time `t`. + + Args: + x: A pytorch tensor. The initial value at time `s`. + model_prev_list: A list of pytorch tensor. The previous computed model values. + t_prev_list: A list of pytorch tensor. The previous times, each time has the shape (1,) + t: A pytorch tensor. The ending time, with the shape (1,). + solver_type: either 'dpmsolver' or 'taylor'. The type for the high-order solvers. + The type slightly impacts the performance. We recommend to use 'dpmsolver' type. + Returns: + x_t: A pytorch tensor. The approximated solution at time `t`. + """ + ns = self.noise_schedule + model_prev_2, model_prev_1, model_prev_0 = model_prev_list + t_prev_2, t_prev_1, t_prev_0 = t_prev_list + lambda_prev_2, lambda_prev_1, lambda_prev_0, lambda_t = ns.marginal_lambda(t_prev_2), ns.marginal_lambda(t_prev_1), ns.marginal_lambda(t_prev_0), ns.marginal_lambda(t) + log_alpha_prev_0, log_alpha_t = ns.marginal_log_mean_coeff(t_prev_0), ns.marginal_log_mean_coeff(t) + sigma_prev_0, sigma_t = ns.marginal_std(t_prev_0), ns.marginal_std(t) + alpha_t = torch.exp(log_alpha_t) + + h_1 = lambda_prev_1 - lambda_prev_2 + h_0 = lambda_prev_0 - lambda_prev_1 + h = lambda_t - lambda_prev_0 + r0, r1 = h_0 / h, h_1 / h + D1_0 = (1. / r0) * (model_prev_0 - model_prev_1) + D1_1 = (1. / r1) * (model_prev_1 - model_prev_2) + D1 = D1_0 + (r0 / (r0 + r1)) * (D1_0 - D1_1) + D2 = (1. / (r0 + r1)) * (D1_0 - D1_1) + if self.algorithm_type == "dpmsolver++": + phi_1 = torch.expm1(-h) + phi_2 = phi_1 / h + 1. + phi_3 = phi_2 / h - 0.5 + x_t = ( + (sigma_t / sigma_prev_0) * x + - (alpha_t * phi_1) * model_prev_0 + + (alpha_t * phi_2) * D1 + - (alpha_t * phi_3) * D2 + ) + else: + phi_1 = torch.expm1(h) + phi_2 = phi_1 / h - 1. + phi_3 = phi_2 / h - 0.5 + x_t = ( + (torch.exp(log_alpha_t - log_alpha_prev_0)) * x + - (sigma_t * phi_1) * model_prev_0 + - (sigma_t * phi_2) * D1 + - (sigma_t * phi_3) * D2 + ) + return x_t + + def singlestep_dpm_solver_update(self, x, s, t, order, return_intermediate=False, solver_type='dpmsolver', r1=None, r2=None): + """ + Singlestep DPM-Solver with the order `order` from time `s` to time `t`. + + Args: + x: A pytorch tensor. The initial value at time `s`. + s: A pytorch tensor. The starting time, with the shape (1,). + t: A pytorch tensor. The ending time, with the shape (1,). + order: A `int`. The order of DPM-Solver. We only support order == 1 or 2 or 3. + return_intermediate: A `bool`. If true, also return the model value at time `s`, `s1` and `s2` (the intermediate times). + solver_type: either 'dpmsolver' or 'taylor'. The type for the high-order solvers. + The type slightly impacts the performance. We recommend to use 'dpmsolver' type. + r1: A `float`. The hyperparameter of the second-order or third-order solver. + r2: A `float`. The hyperparameter of the third-order solver. + Returns: + x_t: A pytorch tensor. The approximated solution at time `t`. + """ + if order == 1: + return self.dpm_solver_first_update(x, s, t, return_intermediate=return_intermediate) + elif order == 2: + return self.singlestep_dpm_solver_second_update(x, s, t, return_intermediate=return_intermediate, solver_type=solver_type, r1=r1) + elif order == 3: + return self.singlestep_dpm_solver_third_update(x, s, t, return_intermediate=return_intermediate, solver_type=solver_type, r1=r1, r2=r2) + else: + raise ValueError("Solver order must be 1 or 2 or 3, got {}".format(order)) + + def multistep_dpm_solver_update(self, x, model_prev_list, t_prev_list, t, order, solver_type='dpmsolver'): + """ + Multistep DPM-Solver with the order `order` from time `t_prev_list[-1]` to time `t`. + + Args: + x: A pytorch tensor. The initial value at time `s`. + model_prev_list: A list of pytorch tensor. The previous computed model values. + t_prev_list: A list of pytorch tensor. The previous times, each time has the shape (1,) + t: A pytorch tensor. The ending time, with the shape (1,). + order: A `int`. The order of DPM-Solver. We only support order == 1 or 2 or 3. + solver_type: either 'dpmsolver' or 'taylor'. The type for the high-order solvers. + The type slightly impacts the performance. We recommend to use 'dpmsolver' type. + Returns: + x_t: A pytorch tensor. The approximated solution at time `t`. + """ + if order == 1: + return self.dpm_solver_first_update(x, t_prev_list[-1], t, model_s=model_prev_list[-1]) + elif order == 2: + return self.multistep_dpm_solver_second_update(x, model_prev_list, t_prev_list, t, solver_type=solver_type) + elif order == 3: + return self.multistep_dpm_solver_third_update(x, model_prev_list, t_prev_list, t, solver_type=solver_type) + else: + raise ValueError("Solver order must be 1 or 2 or 3, got {}".format(order)) + + def dpm_solver_adaptive(self, x, order, t_T, t_0, h_init=0.05, atol=0.0078, rtol=0.05, theta=0.9, t_err=1e-5, solver_type='dpmsolver'): + """ + The adaptive step size solver based on singlestep DPM-Solver. + + Args: + x: A pytorch tensor. The initial value at time `t_T`. + order: A `int`. The (higher) order of the solver. We only support order == 2 or 3. + t_T: A `float`. The starting time of the sampling (default is T). + t_0: A `float`. The ending time of the sampling (default is epsilon). + h_init: A `float`. The initial step size (for logSNR). + atol: A `float`. The absolute tolerance of the solver. For image data, the default setting is 0.0078, followed [1]. + rtol: A `float`. The relative tolerance of the solver. The default setting is 0.05. + theta: A `float`. The safety hyperparameter for adapting the step size. The default setting is 0.9, followed [1]. + t_err: A `float`. The tolerance for the time. We solve the diffusion ODE until the absolute error between the + current time and `t_0` is less than `t_err`. The default setting is 1e-5. + solver_type: either 'dpmsolver' or 'taylor'. The type for the high-order solvers. + The type slightly impacts the performance. We recommend to use 'dpmsolver' type. + Returns: + x_0: A pytorch tensor. The approximated solution at time `t_0`. + + [1] A. Jolicoeur-Martineau, K. Li, R. Piché-Taillefer, T. Kachman, and I. Mitliagkas, "Gotta go fast when generating data with score-based models," arXiv preprint arXiv:2105.14080, 2021. + """ + ns = self.noise_schedule + s = t_T * torch.ones((1,)).to(x) + lambda_s = ns.marginal_lambda(s) + lambda_0 = ns.marginal_lambda(t_0 * torch.ones_like(s).to(x)) + h = h_init * torch.ones_like(s).to(x) + x_prev = x + nfe = 0 + if order == 2: + r1 = 0.5 + lower_update = lambda x, s, t: self.dpm_solver_first_update(x, s, t, return_intermediate=True) + higher_update = lambda x, s, t, **kwargs: self.singlestep_dpm_solver_second_update(x, s, t, r1=r1, solver_type=solver_type, **kwargs) + elif order == 3: + r1, r2 = 1. / 3., 2. / 3. + lower_update = lambda x, s, t: self.singlestep_dpm_solver_second_update(x, s, t, r1=r1, return_intermediate=True, solver_type=solver_type) + higher_update = lambda x, s, t, **kwargs: self.singlestep_dpm_solver_third_update(x, s, t, r1=r1, r2=r2, solver_type=solver_type, **kwargs) + else: + raise ValueError("For adaptive step size solver, order must be 2 or 3, got {}".format(order)) + while torch.abs((s - t_0)).mean() > t_err: + t = ns.inverse_lambda(lambda_s + h) + x_lower, lower_noise_kwargs = lower_update(x, s, t) + x_higher = higher_update(x, s, t, **lower_noise_kwargs) + delta = torch.max(torch.ones_like(x).to(x) * atol, rtol * torch.max(torch.abs(x_lower), torch.abs(x_prev))) + norm_fn = lambda v: torch.sqrt(torch.square(v.reshape((v.shape[0], -1))).mean(dim=-1, keepdim=True)) + E = norm_fn((x_higher - x_lower) / delta).max() + if torch.all(E <= 1.): + x = x_higher + s = t + x_prev = x_lower + lambda_s = ns.marginal_lambda(s) + h = torch.min(theta * h * torch.float_power(E, -1. / order).float(), lambda_0 - lambda_s) + nfe += order + print('adaptive solver nfe', nfe) + return x + + def add_noise(self, x, t, noise=None): + """ + Compute the noised input xt = alpha_t * x + sigma_t * noise. + + Args: + x: A `torch.Tensor` with shape `(batch_size, *shape)`. + t: A `torch.Tensor` with shape `(t_size,)`. + Returns: + xt with shape `(t_size, batch_size, *shape)`. + """ + alpha_t, sigma_t = self.noise_schedule.marginal_alpha(t), self.noise_schedule.marginal_std(t) + if noise is None: + noise = torch.randn((t.shape[0], *x.shape), device=x.device) + x = x.reshape((-1, *x.shape)) + xt = expand_dims(alpha_t, x.dim()) * x + expand_dims(sigma_t, x.dim()) * noise + if t.shape[0] == 1: + return xt.squeeze(0) + else: + return xt + + def inverse(self, x, steps=20, t_start=None, t_end=None, order=2, skip_type='time_uniform', + method='multistep', lower_order_final=True, denoise_to_zero=False, solver_type='dpmsolver', + atol=0.0078, rtol=0.05, return_intermediate=False, + ): + """ + Inverse the sample `x` from time `t_start` to `t_end` by DPM-Solver. + For discrete-time DPMs, we use `t_start=1/N`, where `N` is the total time steps during training. + """ + t_0 = 1. / self.noise_schedule.total_N if t_start is None else t_start + t_T = self.noise_schedule.T if t_end is None else t_end + assert t_0 > 0 and t_T > 0, "Time range needs to be greater than 0. For discrete-time DPMs, it needs to be in [1 / N, 1], where N is the length of betas array" + return self.sample(x, steps=steps, t_start=t_0, t_end=t_T, order=order, skip_type=skip_type, + method=method, lower_order_final=lower_order_final, denoise_to_zero=denoise_to_zero, solver_type=solver_type, + atol=atol, rtol=rtol, return_intermediate=return_intermediate) + + def sample(self, x, steps=20, t_start=None, t_end=None, order=2, skip_type='time_uniform', + method='multistep', lower_order_final=True, denoise_to_zero=False, solver_type='dpmsolver', + atol=0.0078, rtol=0.05, return_intermediate=False, + ): + """ + Compute the sample at time `t_end` by DPM-Solver, given the initial `x` at time `t_start`. + + ===================================================== + + We support the following algorithms for both noise prediction model and data prediction model: + - 'singlestep': + Singlestep DPM-Solver (i.e. "DPM-Solver-fast" in the paper), which combines different orders of singlestep DPM-Solver. + We combine all the singlestep solvers with order <= `order` to use up all the function evaluations (steps). + The total number of function evaluations (NFE) == `steps`. + Given a fixed NFE == `steps`, the sampling procedure is: + - If `order` == 1: + - Denote K = steps. We use K steps of DPM-Solver-1 (i.e. DDIM). + - If `order` == 2: + - Denote K = (steps // 2) + (steps % 2). We take K intermediate time steps for sampling. + - If steps % 2 == 0, we use K steps of singlestep DPM-Solver-2. + - If steps % 2 == 1, we use (K - 1) steps of singlestep DPM-Solver-2 and 1 step of DPM-Solver-1. + - If `order` == 3: + - Denote K = (steps // 3 + 1). We take K intermediate time steps for sampling. + - If steps % 3 == 0, we use (K - 2) steps of singlestep DPM-Solver-3, and 1 step of singlestep DPM-Solver-2 and 1 step of DPM-Solver-1. + - If steps % 3 == 1, we use (K - 1) steps of singlestep DPM-Solver-3 and 1 step of DPM-Solver-1. + - If steps % 3 == 2, we use (K - 1) steps of singlestep DPM-Solver-3 and 1 step of singlestep DPM-Solver-2. + - 'multistep': + Multistep DPM-Solver with the order of `order`. The total number of function evaluations (NFE) == `steps`. + We initialize the first `order` values by lower order multistep solvers. + Given a fixed NFE == `steps`, the sampling procedure is: + Denote K = steps. + - If `order` == 1: + - We use K steps of DPM-Solver-1 (i.e. DDIM). + - If `order` == 2: + - We firstly use 1 step of DPM-Solver-1, then use (K - 1) step of multistep DPM-Solver-2. + - If `order` == 3: + - We firstly use 1 step of DPM-Solver-1, then 1 step of multistep DPM-Solver-2, then (K - 2) step of multistep DPM-Solver-3. + - 'singlestep_fixed': + Fixed order singlestep DPM-Solver (i.e. DPM-Solver-1 or singlestep DPM-Solver-2 or singlestep DPM-Solver-3). + We use singlestep DPM-Solver-`order` for `order`=1 or 2 or 3, with total [`steps` // `order`] * `order` NFE. + - 'adaptive': + Adaptive step size DPM-Solver (i.e. "DPM-Solver-12" and "DPM-Solver-23" in the paper). + We ignore `steps` and use adaptive step size DPM-Solver with a higher order of `order`. + You can adjust the absolute tolerance `atol` and the relative tolerance `rtol` to balance the computatation costs + (NFE) and the sample quality. + - If `order` == 2, we use DPM-Solver-12 which combines DPM-Solver-1 and singlestep DPM-Solver-2. + - If `order` == 3, we use DPM-Solver-23 which combines singlestep DPM-Solver-2 and singlestep DPM-Solver-3. + + ===================================================== + + Some advices for choosing the algorithm: + - For **unconditional sampling** or **guided sampling with small guidance scale** by DPMs: + Use singlestep DPM-Solver or DPM-Solver++ ("DPM-Solver-fast" in the paper) with `order = 3`. + e.g., DPM-Solver: + >>> dpm_solver = DPM_Solver(model_fn, noise_schedule, algorithm_type="dpmsolver") + >>> x_sample = dpm_solver.sample(x, steps=steps, t_start=t_start, t_end=t_end, order=3, + skip_type='time_uniform', method='singlestep') + e.g., DPM-Solver++: + >>> dpm_solver = DPM_Solver(model_fn, noise_schedule, algorithm_type="dpmsolver++") + >>> x_sample = dpm_solver.sample(x, steps=steps, t_start=t_start, t_end=t_end, order=3, + skip_type='time_uniform', method='singlestep') + - For **guided sampling with large guidance scale** by DPMs: + Use multistep DPM-Solver with `algorithm_type="dpmsolver++"` and `order = 2`. + e.g. + >>> dpm_solver = DPM_Solver(model_fn, noise_schedule, algorithm_type="dpmsolver++") + >>> x_sample = dpm_solver.sample(x, steps=steps, t_start=t_start, t_end=t_end, order=2, + skip_type='time_uniform', method='multistep') + + We support three types of `skip_type`: + - 'logSNR': uniform logSNR for the time steps. **Recommended for low-resolutional images** + - 'time_uniform': uniform time for the time steps. **Recommended for high-resolutional images**. + - 'time_quadratic': quadratic time for the time steps. + + ===================================================== + Args: + x: A pytorch tensor. The initial value at time `t_start` + e.g. if `t_start` == T, then `x` is a sample from the standard normal distribution. + steps: A `int`. The total number of function evaluations (NFE). + t_start: A `float`. The starting time of the sampling. + If `T` is None, we use self.noise_schedule.T (default is 1.0). + t_end: A `float`. The ending time of the sampling. + If `t_end` is None, we use 1. / self.noise_schedule.total_N. + e.g. if total_N == 1000, we have `t_end` == 1e-3. + For discrete-time DPMs: + - We recommend `t_end` == 1. / self.noise_schedule.total_N. + For continuous-time DPMs: + - We recommend `t_end` == 1e-3 when `steps` <= 15; and `t_end` == 1e-4 when `steps` > 15. + order: A `int`. The order of DPM-Solver. + skip_type: A `str`. The type for the spacing of the time steps. 'time_uniform' or 'logSNR' or 'time_quadratic'. + method: A `str`. The method for sampling. 'singlestep' or 'multistep' or 'singlestep_fixed' or 'adaptive'. + denoise_to_zero: A `bool`. Whether to denoise to time 0 at the final step. + Default is `False`. If `denoise_to_zero` is `True`, the total NFE is (`steps` + 1). + + This trick is firstly proposed by DDPM (https://arxiv.org/abs/2006.11239) and + score_sde (https://arxiv.org/abs/2011.13456). Such trick can improve the FID + for diffusion models sampling by diffusion SDEs for low-resolutional images + (such as CIFAR-10). However, we observed that such trick does not matter for + high-resolutional images. As it needs an additional NFE, we do not recommend + it for high-resolutional images. + lower_order_final: A `bool`. Whether to use lower order solvers at the final steps. + Only valid for `method=multistep` and `steps < 15`. We empirically find that + this trick is a key to stabilizing the sampling by DPM-Solver with very few steps + (especially for steps <= 10). So we recommend to set it to be `True`. + solver_type: A `str`. The taylor expansion type for the solver. `dpmsolver` or `taylor`. We recommend `dpmsolver`. + atol: A `float`. The absolute tolerance of the adaptive step size solver. Valid when `method` == 'adaptive'. + rtol: A `float`. The relative tolerance of the adaptive step size solver. Valid when `method` == 'adaptive'. + return_intermediate: A `bool`. Whether to save the xt at each step. + When set to `True`, method returns a tuple (x0, intermediates); when set to False, method returns only x0. + Returns: + x_end: A pytorch tensor. The approximated solution at time `t_end`. + + """ + t_0 = 1. / self.noise_schedule.total_N if t_end is None else t_end + t_T = self.noise_schedule.T if t_start is None else t_start + assert t_0 > 0 and t_T > 0, "Time range needs to be greater than 0. For discrete-time DPMs, it needs to be in [1 / N, 1], where N is the length of betas array" + if return_intermediate: + assert method in ['multistep', 'singlestep', 'singlestep_fixed'], "Cannot use adaptive solver when saving intermediate values" + if self.correcting_xt_fn is not None: + assert method in ['multistep', 'singlestep', 'singlestep_fixed'], "Cannot use adaptive solver when correcting_xt_fn is not None" + device = x.device + intermediates = [] + with torch.no_grad(): + if method == 'adaptive': + x = self.dpm_solver_adaptive(x, order=order, t_T=t_T, t_0=t_0, atol=atol, rtol=rtol, solver_type=solver_type) + elif method == 'multistep': + assert steps >= order + timesteps = self.get_time_steps(skip_type=skip_type, t_T=t_T, t_0=t_0, N=steps, device=device) + assert timesteps.shape[0] - 1 == steps + # Init the initial values. + step = 0 + t = timesteps[step] + t_prev_list = [t] + model_prev_list = [self.model_fn(x, t)] + if self.correcting_xt_fn is not None: + x = self.correcting_xt_fn(x, t, step) + if return_intermediate: + intermediates.append(x) + # Init the first `order` values by lower order multistep DPM-Solver. + for step in range(1, order): + t = timesteps[step] + x = self.multistep_dpm_solver_update(x, model_prev_list, t_prev_list, t, step, solver_type=solver_type) + if self.correcting_xt_fn is not None: + x = self.correcting_xt_fn(x, t, step) + if return_intermediate: + intermediates.append(x) + t_prev_list.append(t) + model_prev_list.append(self.model_fn(x, t)) + # Compute the remaining values by `order`-th order multistep DPM-Solver. + for step in range(order, steps + 1): + t = timesteps[step] + # We only use lower order for steps < 10 + if lower_order_final and steps < 10: + step_order = min(order, steps + 1 - step) + else: + step_order = order + x = self.multistep_dpm_solver_update(x, model_prev_list, t_prev_list, t, step_order, solver_type=solver_type) + if self.correcting_xt_fn is not None: + x = self.correcting_xt_fn(x, t, step) + if return_intermediate: + intermediates.append(x) + for i in range(order - 1): + t_prev_list[i] = t_prev_list[i + 1] + model_prev_list[i] = model_prev_list[i + 1] + t_prev_list[-1] = t + # We do not need to evaluate the final model value. + if step < steps: + model_prev_list[-1] = self.model_fn(x, t) + elif method in ['singlestep', 'singlestep_fixed']: + if method == 'singlestep': + timesteps_outer, orders = self.get_orders_and_timesteps_for_singlestep_solver(steps=steps, order=order, skip_type=skip_type, t_T=t_T, t_0=t_0, device=device) + elif method == 'singlestep_fixed': + K = steps // order + orders = [order,] * K + timesteps_outer = self.get_time_steps(skip_type=skip_type, t_T=t_T, t_0=t_0, N=K, device=device) + for step, order in enumerate(orders): + s, t = timesteps_outer[step], timesteps_outer[step + 1] + timesteps_inner = self.get_time_steps(skip_type=skip_type, t_T=s.item(), t_0=t.item(), N=order, device=device) + lambda_inner = self.noise_schedule.marginal_lambda(timesteps_inner) + h = lambda_inner[-1] - lambda_inner[0] + r1 = None if order <= 1 else (lambda_inner[1] - lambda_inner[0]) / h + r2 = None if order <= 2 else (lambda_inner[2] - lambda_inner[0]) / h + x = self.singlestep_dpm_solver_update(x, s, t, order, solver_type=solver_type, r1=r1, r2=r2) + if self.correcting_xt_fn is not None: + x = self.correcting_xt_fn(x, t, step) + if return_intermediate: + intermediates.append(x) + else: + raise ValueError("Got wrong method {}".format(method)) + if denoise_to_zero: + t = torch.ones((1,)).to(device) * t_0 + x = self.denoise_to_zero_fn(x, t) + if self.correcting_xt_fn is not None: + x = self.correcting_xt_fn(x, t, step + 1) + if return_intermediate: + intermediates.append(x) + if return_intermediate: + return x, intermediates + else: + return x + + + +############################################################# +# other utility functions +############################################################# + +def interpolate_fn(x, xp, yp): + """ + A piecewise linear function y = f(x), using xp and yp as keypoints. + We implement f(x) in a differentiable way (i.e. applicable for autograd). + The function f(x) is well-defined for all x-axis. (For x beyond the bounds of xp, we use the outmost points of xp to define the linear function.) + + Args: + x: PyTorch tensor with shape [N, C], where N is the batch size, C is the number of channels (we use C = 1 for DPM-Solver). + xp: PyTorch tensor with shape [C, K], where K is the number of keypoints. + yp: PyTorch tensor with shape [C, K]. + Returns: + The function values f(x), with shape [N, C]. + """ + N, K = x.shape[0], xp.shape[1] + all_x = torch.cat([x.unsqueeze(2), xp.unsqueeze(0).repeat((N, 1, 1))], dim=2) + sorted_all_x, x_indices = torch.sort(all_x, dim=2) + x_idx = torch.argmin(x_indices, dim=2) + cand_start_idx = x_idx - 1 + start_idx = torch.where( + torch.eq(x_idx, 0), + torch.tensor(1, device=x.device), + torch.where( + torch.eq(x_idx, K), torch.tensor(K - 2, device=x.device), cand_start_idx, + ), + ) + end_idx = torch.where(torch.eq(start_idx, cand_start_idx), start_idx + 2, start_idx + 1) + start_x = torch.gather(sorted_all_x, dim=2, index=start_idx.unsqueeze(2)).squeeze(2) + end_x = torch.gather(sorted_all_x, dim=2, index=end_idx.unsqueeze(2)).squeeze(2) + start_idx2 = torch.where( + torch.eq(x_idx, 0), + torch.tensor(0, device=x.device), + torch.where( + torch.eq(x_idx, K), torch.tensor(K - 2, device=x.device), cand_start_idx, + ), + ) + y_positions_expanded = yp.unsqueeze(0).expand(N, -1, -1) + start_y = torch.gather(y_positions_expanded, dim=2, index=start_idx2.unsqueeze(2)).squeeze(2) + end_y = torch.gather(y_positions_expanded, dim=2, index=(start_idx2 + 1).unsqueeze(2)).squeeze(2) + cand = start_y + (x - start_x) * (end_y - start_y) / (end_x - start_x) + return cand + + +def expand_dims(v, dims): + """ + Expand the tensor `v` to the dim `dims`. + + Args: + `v`: a PyTorch tensor with shape [N]. + `dim`: a `int`. + Returns: + a PyTorch tensor with shape [N, 1, 1, ..., 1] and the total dimension is `dims`. + """ + return v[(...,) + (None,)*(dims - 1)] \ No newline at end of file diff --git a/inference/ds_acoustic.py b/inference/ds_acoustic.py new file mode 100644 index 0000000..bbb3418 --- /dev/null +++ b/inference/ds_acoustic.py @@ -0,0 +1,271 @@ +import json +import pathlib +from collections import OrderedDict +from typing import Dict + +import numpy as np +import torch +import tqdm + +from basics.base_svs_infer import BaseSVSInfer +from modules.fastspeech.param_adaptor import VARIANCE_CHECKLIST +from modules.fastspeech.tts_modules import LengthRegulator +from modules.toplevel import DiffSingerAcoustic, ShallowDiffusionOutput +from modules.vocoders.registry import VOCODERS +from utils import load_ckpt +from utils.hparams import hparams +from utils.infer_utils import cross_fade, resample_align_curve, save_wav +from utils.phoneme_utils import load_phoneme_dictionary + + +class DiffSingerAcousticInfer(BaseSVSInfer): + def __init__(self, device=None, load_model=True, load_vocoder=True, ckpt_steps=None): + super().__init__(device=device) + if load_model: + self.variance_checklist = [] + + self.variances_to_embed = set() + + if hparams.get('use_energy_embed', False): + self.variances_to_embed.add('energy') + if hparams.get('use_breathiness_embed', False): + self.variances_to_embed.add('breathiness') + if hparams.get('use_voicing_embed', False): + self.variances_to_embed.add('voicing') + if hparams.get('use_tension_embed', False): + self.variances_to_embed.add('tension') + + self.phoneme_dictionary = load_phoneme_dictionary() + if hparams['use_spk_id']: + with open(pathlib.Path(hparams['work_dir']) / 'spk_map.json', 'r', encoding='utf8') as f: + self.spk_map = json.load(f) + assert isinstance(self.spk_map, dict) and len(self.spk_map) > 0, 'Invalid or empty speaker map!' + assert len(self.spk_map) == len(set(self.spk_map.values())), 'Duplicate speaker id in speaker map!' + lang_map_fn = pathlib.Path(hparams['work_dir']) / 'lang_map.json' + if lang_map_fn.exists(): + with open(lang_map_fn, 'r', encoding='utf8') as f: + self.lang_map = json.load(f) + self.model = self.build_model(ckpt_steps=ckpt_steps) + self.lr = LengthRegulator().to(self.device) + if load_vocoder: + self.vocoder = self.build_vocoder() + + def build_model(self, ckpt_steps=None): + model = DiffSingerAcoustic( + vocab_size=len(self.phoneme_dictionary), + out_dims=hparams['audio_num_mel_bins'] + ).eval().to(self.device) + load_ckpt(model, hparams['work_dir'], ckpt_steps=ckpt_steps, + prefix_in_ckpt='model', strict=True, device=self.device) + return model + + def build_vocoder(self): + if hparams['vocoder'] in VOCODERS: + vocoder = VOCODERS[hparams['vocoder']]() + else: + vocoder = VOCODERS[hparams['vocoder'].split('.')[-1]]() + vocoder.to_device(self.device) + return vocoder + + def preprocess_input(self, param, idx=0): + """ + :param param: one segment in the .ds file + :param idx: index of the segment + :return: batch of the model inputs + """ + batch = {} + summary = OrderedDict() + + lang = param.get('lang') + if lang is None: + assert len(self.lang_map) <= 1, ( + "This is a multilingual model. " + "Please specify a language by --lang option." + ) + else: + assert lang in self.lang_map, f'Unrecognized language name: \'{lang}\'.' + if hparams.get('use_lang_id', False): + languages = torch.LongTensor([ + ( + self.lang_map[lang if '/' not in p else p.split('/', maxsplit=1)[0]] + if self.phoneme_dictionary.is_cross_lingual(p if '/' in p else f'{lang}/{p}') + else 0 + ) + for p in param['ph_seq'].split() + ]).to(self.device) # => [B, T_txt] + batch['languages'] = languages + txt_tokens = torch.LongTensor([ + self.phoneme_dictionary.encode(param['ph_seq'], lang=lang) + ]).to(self.device) # => [B, T_txt] + batch['tokens'] = txt_tokens + + ph_dur = torch.from_numpy(np.array(param['ph_dur'].split(), np.float32)).to(self.device) + ph_acc = torch.round(torch.cumsum(ph_dur, dim=0) / self.timestep + 0.5).long() + durations = torch.diff(ph_acc, dim=0, prepend=torch.LongTensor([0]).to(self.device))[None] # => [B=1, T_txt] + mel2ph = self.lr(durations, txt_tokens == 0) # => [B=1, T] + batch['mel2ph'] = mel2ph + length = mel2ph.size(1) # => T + + summary['tokens'] = txt_tokens.size(1) + summary['frames'] = length + summary['seconds'] = '%.2f' % (length * self.timestep) + + if hparams['use_spk_id']: + spk_mix_id, spk_mix_value = self.load_speaker_mix( + param_src=param, summary_dst=summary, mix_mode='frame', mix_length=length + ) + batch['spk_mix_id'] = spk_mix_id + batch['spk_mix_value'] = spk_mix_value + + batch['f0'] = torch.from_numpy(resample_align_curve( + np.array(param['f0_seq'].split(), np.float32), + original_timestep=float(param['f0_timestep']), + target_timestep=self.timestep, + align_length=length + )).to(self.device)[None] + + for v_name in VARIANCE_CHECKLIST: + if v_name in self.variances_to_embed: + batch[v_name] = torch.from_numpy(resample_align_curve( + np.array(param[v_name].split(), np.float32), + original_timestep=float(param[f'{v_name}_timestep']), + target_timestep=self.timestep, + align_length=length + )).to(self.device)[None] + summary[v_name] = 'manual' + + if hparams['use_key_shift_embed']: + shift_min, shift_max = hparams['augmentation_args']['random_pitch_shifting']['range'] + gender = param.get('gender') + if gender is None: + gender = 0. + if isinstance(gender, (int, float, bool)): # static gender value + summary['gender'] = f'static({gender:.3f})' + key_shift_value = gender * shift_max if gender >= 0 else gender * abs(shift_min) + batch['key_shift'] = torch.FloatTensor([key_shift_value]).to(self.device)[:, None] # => [B=1, T=1] + else: + summary['gender'] = 'dynamic' + gender_seq = resample_align_curve( + np.array(gender.split(), np.float32), + original_timestep=float(param['gender_timestep']), + target_timestep=self.timestep, + align_length=length + ) + gender_mask = gender_seq >= 0 + key_shift_seq = gender_seq * (gender_mask * shift_max + (1 - gender_mask) * abs(shift_min)) + batch['key_shift'] = torch.clip( + torch.from_numpy(key_shift_seq.astype(np.float32)).to(self.device)[None], # => [B=1, T] + min=shift_min, max=shift_max + ) + + if hparams['use_speed_embed']: + if param.get('velocity') is None: + summary['velocity'] = 'default' + batch['speed'] = torch.FloatTensor([1.]).to(self.device)[:, None] # => [B=1, T=1] + else: + summary['velocity'] = 'manual' + speed_min, speed_max = hparams['augmentation_args']['random_time_stretching']['range'] + speed_seq = resample_align_curve( + np.array(param['velocity'].split(), np.float32), + original_timestep=float(param['velocity_timestep']), + target_timestep=self.timestep, + align_length=length + ) + batch['speed'] = torch.clip( + torch.from_numpy(speed_seq.astype(np.float32)).to(self.device)[None], # => [B=1, T] + min=speed_min, max=speed_max + ) + + print(f'[{idx}]\t' + ', '.join(f'{k}: {v}' for k, v in summary.items())) + + return batch + + @torch.no_grad() + def forward_model(self, sample): + txt_tokens = sample['tokens'] + variances = { + v_name: sample.get(v_name) + for v_name in self.variances_to_embed + } + if hparams['use_spk_id']: + spk_mix_id = sample['spk_mix_id'] + spk_mix_value = sample['spk_mix_value'] + # perform mixing on spk embed + spk_mix_embed = torch.sum( + self.model.fs2.spk_embed(spk_mix_id) * spk_mix_value.unsqueeze(3), # => [B, T, N, H] + dim=2, keepdim=False + ) # => [B, T, H] + else: + spk_mix_embed = None + mel_pred: ShallowDiffusionOutput = self.model( + txt_tokens, languages=sample.get('languages'), + mel2ph=sample['mel2ph'], f0=sample['f0'], **variances, + key_shift=sample.get('key_shift'), speed=sample.get('speed'), + spk_mix_embed=spk_mix_embed, + infer=True + ) + return mel_pred.diff_out + + @torch.no_grad() + def run_vocoder(self, spec, **kwargs): + y = self.vocoder.spec2wav_torch(spec, **kwargs) + return y[None] + + def run_inference( + self, params, + out_dir: pathlib.Path = None, + title: str = None, + num_runs: int = 1, + spk_mix: Dict[str, float] = None, + seed: int = -1, + save_mel: bool = False + ): + batches = [self.preprocess_input(param, idx=i) for i, param in enumerate(params)] + + out_dir.mkdir(parents=True, exist_ok=True) + suffix = '.wav' if not save_mel else '.mel.pt' + for i in range(num_runs): + if save_mel: + result = [] + else: + result = np.zeros(0) + current_length = 0 + + for param, batch in tqdm.tqdm( + zip(params, batches), desc='infer segments', total=len(params) + ): + if 'seed' in param: + torch.manual_seed(param["seed"] & 0xffff_ffff) + torch.cuda.manual_seed_all(param["seed"] & 0xffff_ffff) + elif seed >= 0: + torch.manual_seed(seed & 0xffff_ffff) + torch.cuda.manual_seed_all(seed & 0xffff_ffff) + + mel_pred = self.forward_model(batch) + if save_mel: + result.append({ + 'offset': param.get('offset', 0.), + 'mel': mel_pred.cpu(), + 'f0': batch['f0'].cpu() + }) + else: + waveform_pred = self.run_vocoder(mel_pred, f0=batch['f0'])[0].cpu().numpy() + silent_length = round(param.get('offset', 0) * hparams['audio_sample_rate']) - current_length + if silent_length >= 0: + result = np.append(result, np.zeros(silent_length)) + result = np.append(result, waveform_pred) + else: + result = cross_fade(result, waveform_pred, current_length + silent_length) + current_length = current_length + silent_length + waveform_pred.shape[0] + + if num_runs > 1: + filename = f'{title}-{str(i).zfill(3)}{suffix}' + else: + filename = title + suffix + save_path = out_dir / filename + if save_mel: + print(f'| save mel: {save_path}') + torch.save(result, save_path) + else: + print(f'| save audio: {save_path}') + save_wav(result, save_path, hparams['audio_sample_rate']) diff --git a/inference/ds_variance.py b/inference/ds_variance.py new file mode 100644 index 0000000..da3d6e9 --- /dev/null +++ b/inference/ds_variance.py @@ -0,0 +1,468 @@ +import copy +import json +import pathlib +from collections import OrderedDict +from typing import List, Tuple + +import librosa +import numpy as np +import torch +import torch.nn as nn +import torch.nn.functional as F +import tqdm +from scipy import interpolate + +from basics.base_svs_infer import BaseSVSInfer +from modules.fastspeech.param_adaptor import VARIANCE_CHECKLIST +from modules.fastspeech.tts_modules import ( + LengthRegulator, RhythmRegulator, + mel2ph_to_dur +) +from modules.toplevel import DiffSingerVariance +from utils import load_ckpt +from utils.hparams import hparams +from utils.infer_utils import resample_align_curve +from utils.phoneme_utils import load_phoneme_dictionary +from utils.pitch_utils import interp_f0 + + +class DiffSingerVarianceInfer(BaseSVSInfer): + def __init__( + self, device=None, ckpt_steps=None, + predictions: set = None + ): + super().__init__(device=device) + self.phoneme_dictionary = load_phoneme_dictionary() + if hparams['use_spk_id']: + with open(pathlib.Path(hparams['work_dir']) / 'spk_map.json', 'r', encoding='utf8') as f: + self.spk_map = json.load(f) + assert isinstance(self.spk_map, dict) and len(self.spk_map) > 0, 'Invalid or empty speaker map!' + assert len(self.spk_map) == len(set(self.spk_map.values())), 'Duplicate speaker id in speaker map!' + lang_map_fn = pathlib.Path(hparams['work_dir']) / 'lang_map.json' + if lang_map_fn.exists(): + with open(lang_map_fn, 'r', encoding='utf8') as f: + self.lang_map = json.load(f) + self.model: DiffSingerVariance = self.build_model(ckpt_steps=ckpt_steps) + self.lr = LengthRegulator() + self.rr = RhythmRegulator() + smooth_kernel_size = round(hparams['midi_smooth_width'] / self.timestep) + self.smooth = nn.Conv1d( + in_channels=1, + out_channels=1, + kernel_size=smooth_kernel_size, + bias=False, + padding='same', + padding_mode='replicate' + ).eval().to(self.device) + smooth_kernel = torch.sin(torch.from_numpy( + np.linspace(0, 1, smooth_kernel_size).astype(np.float32) * np.pi + ).to(self.device)) + smooth_kernel /= smooth_kernel.sum() + self.smooth.weight.data = smooth_kernel[None, None] + + glide_types = hparams.get('glide_types', []) + assert 'none' not in glide_types, 'Type name \'none\' is reserved and should not appear in glide_types.' + self.glide_map = { + 'none': 0, + **{ + typename: idx + 1 + for idx, typename in enumerate(glide_types) + } + } + + self.auto_completion_mode = len(predictions) == 0 + self.global_predict_dur = 'dur' in predictions and hparams['predict_dur'] + self.global_predict_pitch = 'pitch' in predictions and hparams['predict_pitch'] + self.variance_prediction_set = predictions.intersection(VARIANCE_CHECKLIST) + self.global_predict_variances = len(self.variance_prediction_set) > 0 + + def build_model(self, ckpt_steps=None): + model = DiffSingerVariance( + vocab_size=len(self.phoneme_dictionary) + ).eval().to(self.device) + load_ckpt(model, hparams['work_dir'], ckpt_steps=ckpt_steps, + prefix_in_ckpt='model', strict=True, device=self.device) + return model + + @torch.no_grad() + def preprocess_input( + self, param, idx=0, + load_dur: bool = False, + load_pitch: bool = False + ): + """ + :param param: one segment in the .ds file + :param idx: index of the segment + :param load_dur: whether ph_dur is loaded + :param load_pitch: whether pitch is loaded + :return: batch of the model inputs + """ + batch = {} + summary = OrderedDict() + + lang = param.get('lang') + if lang is None: + assert len(self.lang_map) <= 1, ( + "This is a multilingual model. " + "Please specify a language by --lang option." + ) + else: + assert lang in self.lang_map, f'Unrecognized language name: \'{lang}\'.' + if hparams.get('use_lang_id', False): + languages = torch.LongTensor([ + ( + self.lang_map[lang if '/' not in p else p.split('/', maxsplit=1)[0]] + if self.phoneme_dictionary.is_cross_lingual(p if '/' in p else f'{lang}/{p}') + else 0 + ) + for p in param['ph_seq'].split() + ]).to(self.device) # [B=1, T_ph] + batch['languages'] = languages + txt_tokens = torch.LongTensor([ + self.phoneme_dictionary.encode(param['ph_seq'], lang=lang) + ]).to(self.device) # [B=1, T_ph] + T_ph = txt_tokens.shape[1] + batch['tokens'] = txt_tokens + ph_num = torch.from_numpy(np.array([param['ph_num'].split()], np.int64)).to(self.device) # [B=1, T_w] + ph2word = self.lr(ph_num) # => [B=1, T_ph] + T_w = int(ph2word.max()) + batch['ph2word'] = ph2word + + note_midi = np.array( + [(librosa.note_to_midi(n, round_midi=False) if n != 'rest' else -1) for n in param['note_seq'].split()], + dtype=np.float32 + ) + note_rest = note_midi < 0 + if np.all(note_rest): + # All rests, fill with constants + note_midi = np.full_like(note_midi, fill_value=60.) + else: + # Interpolate rest values + interp_func = interpolate.interp1d( + np.where(~note_rest)[0], note_midi[~note_rest], + kind='nearest', fill_value='extrapolate' + ) + note_midi[note_rest] = interp_func(np.where(note_rest)[0]) + note_midi = torch.from_numpy(note_midi).to(self.device)[None] # [B=1, T_n] + note_rest = torch.from_numpy(note_rest).to(self.device)[None] # [B=1, T_n] + + T_n = note_midi.shape[1] + note_dur_sec = torch.from_numpy(np.array([param['note_dur'].split()], np.float32)).to(self.device) # [B=1, T_n] + note_acc = torch.round(torch.cumsum(note_dur_sec, dim=1) / self.timestep + 0.5).long() + note_dur = torch.diff(note_acc, dim=1, prepend=note_acc.new_zeros(1, 1)) + mel2note = self.lr(note_dur) # [B=1, T_s] + T_s = mel2note.shape[1] + + summary['words'] = T_w + summary['notes'] = T_n + summary['tokens'] = T_ph + summary['frames'] = T_s + summary['seconds'] = '%.2f' % (T_s * self.timestep) + + if hparams['use_spk_id']: + ph_spk_mix_id, ph_spk_mix_value = self.load_speaker_mix( + param_src=param, summary_dst=summary, mix_mode='token', mix_length=T_ph + ) + spk_mix_id, spk_mix_value = self.load_speaker_mix( + param_src=param, summary_dst=summary, mix_mode='frame', mix_length=T_s + ) + batch['ph_spk_mix_id'] = ph_spk_mix_id + batch['ph_spk_mix_value'] = ph_spk_mix_value + batch['spk_mix_id'] = spk_mix_id + batch['spk_mix_value'] = spk_mix_value + + if load_dur: + # Get mel2ph if ph_dur is needed + ph_dur_sec = torch.from_numpy( + np.array([param['ph_dur'].split()], np.float32) + ).to(self.device) # [B=1, T_ph] + ph_acc = torch.round(torch.cumsum(ph_dur_sec, dim=1) / self.timestep + 0.5).long() + ph_dur = torch.diff(ph_acc, dim=1, prepend=ph_acc.new_zeros(1, 1)) + mel2ph = self.lr(ph_dur, txt_tokens == 0) + if mel2ph.shape[1] != T_s: # Align phones with notes + mel2ph = F.pad(mel2ph, [0, T_s - mel2ph.shape[1]], value=mel2ph[0, -1]) + ph_dur = mel2ph_to_dur(mel2ph, T_ph) + # Get word_dur from ph_dur and ph_num + word_dur = note_dur.new_zeros(1, T_w + 1).scatter_add( + 1, ph2word, ph_dur + )[:, 1:] # => [B=1, T_w] + else: + ph_dur = None + mel2ph = None + # Get word_dur from note_dur and note_slur + is_slur = torch.BoolTensor([[int(s) for s in param['note_slur'].split()]]).to(self.device) # [B=1, T_n] + note2word = torch.cumsum(~is_slur, dim=1) # [B=1, T_n] + word_dur = note_dur.new_zeros(1, T_w + 1).scatter_add( + 1, note2word, note_dur + )[:, 1:] # => [B=1, T_w] + + batch['ph_dur'] = ph_dur + batch['mel2ph'] = mel2ph + + mel2word = self.lr(word_dur) # [B=1, T_s] + if mel2word.shape[1] != T_s: # Align words with notes + mel2word = F.pad(mel2word, [0, T_s - mel2word.shape[1]], value=mel2word[0, -1]) + word_dur = mel2ph_to_dur(mel2word, T_w) + batch['word_dur'] = word_dur + + batch['note_midi'] = note_midi + batch['note_dur'] = note_dur + batch['note_rest'] = note_rest + if hparams.get('use_glide_embed', False) and param.get('note_glide') is not None: + batch['note_glide'] = torch.LongTensor( + [[self.glide_map.get(x, 0) for x in param['note_glide'].split()]] + ).to(self.device) + else: + batch['note_glide'] = torch.zeros(1, T_n, dtype=torch.long, device=self.device) + batch['mel2note'] = mel2note + + # Calculate and smoothen the frame-level MIDI pitch, which is a step function curve + frame_midi_pitch = torch.gather( + F.pad(note_midi, [1, 0]), 1, mel2note + ) # => frame-level MIDI pitch, [B=1, T_s] + base_pitch = self.smooth(frame_midi_pitch) + batch['base_pitch'] = base_pitch + + if ph_dur is not None: + # Phone durations are available, calculate phoneme-level MIDI. + mel2pdur = torch.gather(F.pad(ph_dur, [1, 0], value=1), 1, mel2ph) # frame-level phone duration + ph_midi = frame_midi_pitch.new_zeros(1, T_ph + 1).scatter_add( + 1, mel2ph, frame_midi_pitch / mel2pdur + )[:, 1:] + else: + # Phone durations are not available, calculate word-level MIDI instead. + mel2wdur = torch.gather(F.pad(word_dur, [1, 0], value=1), 1, mel2word) + w_midi = frame_midi_pitch.new_zeros(1, T_w + 1).scatter_add( + 1, mel2word, frame_midi_pitch / mel2wdur + )[:, 1:] + # Convert word-level MIDI to phoneme-level MIDI + ph_midi = torch.gather(F.pad(w_midi, [1, 0]), 1, ph2word) + ph_midi = ph_midi.round().long() + batch['midi'] = ph_midi + + if load_pitch: + f0 = resample_align_curve( + np.array(param['f0_seq'].split(), np.float32), + original_timestep=float(param['f0_timestep']), + target_timestep=self.timestep, + align_length=T_s + ) + batch['pitch'] = torch.from_numpy( + librosa.hz_to_midi(interp_f0(f0)[0]).astype(np.float32) + ).to(self.device)[None] + + if self.model.predict_dur: + if load_dur: + summary['ph_dur'] = 'manual' + elif self.auto_completion_mode or self.global_predict_dur: + summary['ph_dur'] = 'auto' + else: + summary['ph_dur'] = 'ignored' + + if self.model.predict_pitch: + if load_pitch: + summary['pitch'] = 'manual' + elif self.auto_completion_mode or self.global_predict_pitch: + summary['pitch'] = 'auto' + + # Load expressiveness + expr = param.get('expr', 1.) + if isinstance(expr, (int, float, bool)): + summary['expr'] = f'static({expr:.3f})' + batch['expr'] = torch.FloatTensor([expr]).to(self.device)[:, None] # [B=1, T=1] + else: + summary['expr'] = 'dynamic' + expr = resample_align_curve( + np.array(expr.split(), np.float32), + original_timestep=float(param['expr_timestep']), + target_timestep=self.timestep, + align_length=T_s + ) + batch['expr'] = torch.from_numpy(expr.astype(np.float32)).to(self.device)[None] + + else: + summary['pitch'] = 'ignored' + + if self.model.predict_variances: + for v_name in self.model.variance_prediction_list: + if self.auto_completion_mode and param.get(v_name) is None or v_name in self.variance_prediction_set: + summary[v_name] = 'auto' + else: + summary[v_name] = 'ignored' + + print(f'[{idx}]\t' + ', '.join(f'{k}: {v}' for k, v in summary.items())) + + return batch + + @torch.no_grad() + def forward_model(self, sample): + txt_tokens = sample['tokens'] + midi = sample['midi'] + ph2word = sample['ph2word'] + word_dur = sample['word_dur'] + ph_dur = sample['ph_dur'] + mel2ph = sample['mel2ph'] + note_midi = sample['note_midi'] + note_rest = sample['note_rest'] + note_dur = sample['note_dur'] + note_glide = sample['note_glide'] + mel2note = sample['mel2note'] + base_pitch = sample['base_pitch'] + expr = sample.get('expr') + pitch = sample.get('pitch') + + if hparams['use_spk_id']: + ph_spk_mix_id = sample['ph_spk_mix_id'] + ph_spk_mix_value = sample['ph_spk_mix_value'] + spk_mix_id = sample['spk_mix_id'] + spk_mix_value = sample['spk_mix_value'] + ph_spk_mix_embed = torch.sum( + self.model.spk_embed(ph_spk_mix_id) * ph_spk_mix_value.unsqueeze(3), # => [B, T_ph, N, H] + dim=2, keepdim=False + ) # => [B, T_ph, H] + spk_mix_embed = torch.sum( + self.model.spk_embed(spk_mix_id) * spk_mix_value.unsqueeze(3), # => [B, T_s, N, H] + dim=2, keepdim=False + ) # [B, T_s, H] + else: + ph_spk_mix_embed = spk_mix_embed = None + + dur_pred, pitch_pred, variance_pred = self.model( + txt_tokens, languages=sample.get('languages'), + midi=midi, ph2word=ph2word, word_dur=word_dur, ph_dur=ph_dur, mel2ph=mel2ph, + note_midi=note_midi, note_rest=note_rest, note_dur=note_dur, note_glide=note_glide, mel2note=mel2note, + base_pitch=base_pitch, pitch=pitch, pitch_expr=expr, + ph_spk_mix_embed=ph_spk_mix_embed, spk_mix_embed=spk_mix_embed, + infer=True + ) + if dur_pred is not None: + dur_pred = self.rr(dur_pred, ph2word, word_dur) + if pitch_pred is not None: + pitch_pred = base_pitch + pitch_pred + return dur_pred, pitch_pred, variance_pred + + def infer_once(self, param): + batch = self.preprocess_input(param) + dur_pred, pitch_pred, variance_pred = self.forward_model(batch) + if dur_pred is not None: + dur_pred = dur_pred[0].cpu().numpy() + if pitch_pred is not None: + pitch_pred = pitch_pred[0].cpu().numpy() + f0_pred = librosa.midi_to_hz(pitch_pred) + else: + f0_pred = None + variance_pred = { + k: v[0].cpu().numpy() + for k, v in variance_pred.items() + } + return dur_pred, f0_pred, variance_pred + + def run_inference( + self, params, + out_dir: pathlib.Path = None, + title: str = None, + num_runs: int = 1, + seed: int = -1 + ): + batches = [] + predictor_flags: List[Tuple[bool, bool, bool]] = [] + + for i, param in enumerate(params): + param: dict + if self.auto_completion_mode: + flag = ( + self.model.fs2.predict_dur and param.get('ph_dur') is None, + self.model.predict_pitch and param.get('f0_seq') is None, + self.model.predict_variances and any( + param.get(v_name) is None for v_name in self.model.variance_prediction_list + ) + ) + else: + predict_variances = self.model.predict_variances and self.global_predict_variances + predict_pitch = self.model.predict_pitch and ( + self.global_predict_pitch or (param.get('f0_seq') is None and predict_variances) + ) + predict_dur = self.model.predict_dur and ( + self.global_predict_dur or (param.get('ph_dur') is None and (predict_pitch or predict_variances)) + ) + flag = (predict_dur, predict_pitch, predict_variances) + predictor_flags.append(flag) + batches.append(self.preprocess_input( + param, idx=i, + load_dur=not flag[0] and (flag[1] or flag[2]), + load_pitch=not flag[1] and flag[2] + )) + + out_dir.mkdir(parents=True, exist_ok=True) + for i in range(num_runs): + results = [] + for param, flag, batch in tqdm.tqdm( + zip(params, predictor_flags, batches), desc='infer segments', total=len(params) + ): + if 'seed' in param: + torch.manual_seed(param["seed"] & 0xffff_ffff) + torch.cuda.manual_seed_all(param["seed"] & 0xffff_ffff) + elif seed >= 0: + torch.manual_seed(seed & 0xffff_ffff) + torch.cuda.manual_seed_all(seed & 0xffff_ffff) + param_copy = copy.deepcopy(param) + + flag_saved = ( + self.model.fs2.predict_dur, + self.model.predict_pitch, + self.model.predict_variances + ) + ( + self.model.fs2.predict_dur, + self.model.predict_pitch, + self.model.predict_variances + ) = flag + dur_pred, pitch_pred, variance_pred = self.forward_model(batch) + ( + self.model.fs2.predict_dur, + self.model.predict_pitch, + self.model.predict_variances + ) = flag_saved + + if dur_pred is not None and (self.auto_completion_mode or self.global_predict_dur): + dur_pred = dur_pred[0].cpu().numpy() + param_copy['ph_dur'] = ' '.join(str(round(dur, 6)) for dur in (dur_pred * self.timestep).tolist()) + if pitch_pred is not None and (self.auto_completion_mode or self.global_predict_pitch): + pitch_pred = pitch_pred[0].cpu().numpy() + f0_pred = librosa.midi_to_hz(pitch_pred) + param_copy['f0_seq'] = ' '.join([str(round(freq, 1)) for freq in f0_pred.tolist()]) + param_copy['f0_timestep'] = str(self.timestep) + variance_pred = { + k: v[0].cpu().numpy() + for k, v in variance_pred.items() + if (self.auto_completion_mode and param.get(k) is None) or k in self.variance_prediction_set + } + for v_name, v_pred in variance_pred.items(): + param_copy[v_name] = ' '.join([str(round(v, 4)) for v in v_pred.tolist()]) + param_copy[f'{v_name}_timestep'] = str(self.timestep) + + # Restore ph_spk_mix and spk_mix + if 'ph_spk_mix' in param_copy and 'spk_mix' in param_copy: + if 'ph_spk_mix_backup' in param_copy: + if param_copy['ph_spk_mix_backup'] is None: + del param_copy['ph_spk_mix'] + else: + param_copy['ph_spk_mix'] = param_copy['ph_spk_mix_backup'] + del param['ph_spk_mix_backup'] + if 'spk_mix_backup' in param_copy: + if param_copy['ph_spk_mix_backup'] is None: + del param_copy['spk_mix'] + else: + param_copy['spk_mix'] = param_copy['spk_mix_backup'] + del param['spk_mix_backup'] + + results.append(param_copy) + + if num_runs > 1: + filename = f'{title}-{str(i).zfill(3)}.ds' + else: + filename = f'{title}.ds' + save_path = out_dir / filename + with open(save_path, 'w', encoding='utf8') as f: + print(f'| save params: {save_path}') + json.dump(results, f, ensure_ascii=False, indent=2) diff --git a/inference/uni_pc.py b/inference/uni_pc.py new file mode 100644 index 0000000..4226570 --- /dev/null +++ b/inference/uni_pc.py @@ -0,0 +1,731 @@ +import torch +import torch.nn.functional as F +import math + + +class NoiseScheduleVP: + def __init__( + self, + schedule='discrete', + betas=None, + alphas_cumprod=None, + continuous_beta_0=0.1, + continuous_beta_1=20., + dtype=torch.float32, + ): + """Create a wrapper class for the forward SDE (VP type). + *** + Update: We support discrete-time diffusion models by implementing a picewise linear interpolation for log_alpha_t. + We recommend to use schedule='discrete' for the discrete-time diffusion models, especially for high-resolution images. + *** + The forward SDE ensures that the condition distribution q_{t|0}(x_t | x_0) = N ( alpha_t * x_0, sigma_t^2 * I ). + We further define lambda_t = log(alpha_t) - log(sigma_t), which is the half-logSNR (described in the DPM-Solver paper). + Therefore, we implement the functions for computing alpha_t, sigma_t and lambda_t. For t in [0, T], we have: + log_alpha_t = self.marginal_log_mean_coeff(t) + sigma_t = self.marginal_std(t) + lambda_t = self.marginal_lambda(t) + Moreover, as lambda(t) is an invertible function, we also support its inverse function: + t = self.inverse_lambda(lambda_t) + =============================================================== + We support both discrete-time DPMs (trained on n = 0, 1, ..., N-1) and continuous-time DPMs (trained on t in [t_0, T]). + 1. For discrete-time DPMs: + For discrete-time DPMs trained on n = 0, 1, ..., N-1, we convert the discrete steps to continuous time steps by: + t_i = (i + 1) / N + e.g. for N = 1000, we have t_0 = 1e-3 and T = t_{N-1} = 1. + We solve the corresponding diffusion ODE from time T = 1 to time t_0 = 1e-3. + Args: + betas: A `torch.Tensor`. The beta array for the discrete-time DPM. (See the original DDPM paper for details) + alphas_cumprod: A `torch.Tensor`. The cumprod alphas for the discrete-time DPM. (See the original DDPM paper for details) + Note that we always have alphas_cumprod = cumprod(1 - betas). Therefore, we only need to set one of `betas` and `alphas_cumprod`. + **Important**: Please pay special attention for the args for `alphas_cumprod`: + The `alphas_cumprod` is the \hat{alpha_n} arrays in the notations of DDPM. Specifically, DDPMs assume that + q_{t_n | 0}(x_{t_n} | x_0) = N ( \sqrt{\hat{alpha_n}} * x_0, (1 - \hat{alpha_n}) * I ). + Therefore, the notation \hat{alpha_n} is different from the notation alpha_t in DPM-Solver. In fact, we have + alpha_{t_n} = \sqrt{\hat{alpha_n}}, + and + log(alpha_{t_n}) = 0.5 * log(\hat{alpha_n}). + 2. For continuous-time DPMs: + We support two types of VPSDEs: linear (DDPM) and cosine (improved-DDPM). The hyperparameters for the noise + schedule are the default settings in DDPM and improved-DDPM: + Args: + beta_min: A `float` number. The smallest beta for the linear schedule. + beta_max: A `float` number. The largest beta for the linear schedule. + cosine_s: A `float` number. The hyperparameter in the cosine schedule. + cosine_beta_max: A `float` number. The hyperparameter in the cosine schedule. + T: A `float` number. The ending time of the forward process. + =============================================================== + Args: + schedule: A `str`. The noise schedule of the forward SDE. 'discrete' for discrete-time DPMs, + 'linear' or 'cosine' for continuous-time DPMs. + Returns: + A wrapper object of the forward SDE (VP type). + + =============================================================== + Example: + # For discrete-time DPMs, given betas (the beta array for n = 0, 1, ..., N - 1): + >>> ns = NoiseScheduleVP('discrete', betas=betas) + # For discrete-time DPMs, given alphas_cumprod (the \hat{alpha_n} array for n = 0, 1, ..., N - 1): + >>> ns = NoiseScheduleVP('discrete', alphas_cumprod=alphas_cumprod) + # For continuous-time DPMs (VPSDE), linear schedule: + >>> ns = NoiseScheduleVP('linear', continuous_beta_0=0.1, continuous_beta_1=20.) + """ + + if schedule not in ['discrete', 'linear', 'cosine']: + raise ValueError("Unsupported noise schedule {}. The schedule needs to be 'discrete' or 'linear' or 'cosine'".format(schedule)) + + self.schedule = schedule + if schedule == 'discrete': + if betas is not None: + log_alphas = 0.5 * torch.log(1 - betas).cumsum(dim=0) + else: + assert alphas_cumprod is not None + log_alphas = 0.5 * torch.log(alphas_cumprod) + self.total_N = len(log_alphas) + self.T = 1. + self.t_array = torch.linspace(0., 1., self.total_N + 1)[1:].reshape((1, -1)).to(dtype=dtype) + self.log_alpha_array = log_alphas.reshape((1, -1,)).to(dtype=dtype) + else: + self.total_N = 1000 + self.beta_0 = continuous_beta_0 + self.beta_1 = continuous_beta_1 + self.cosine_s = 0.008 + self.cosine_beta_max = 999. + self.cosine_t_max = math.atan(self.cosine_beta_max * (1. + self.cosine_s) / math.pi) * 2. * (1. + self.cosine_s) / math.pi - self.cosine_s + self.cosine_log_alpha_0 = math.log(math.cos(self.cosine_s / (1. + self.cosine_s) * math.pi / 2.)) + self.schedule = schedule + if schedule == 'cosine': + # For the cosine schedule, T = 1 will have numerical issues. So we manually set the ending time T. + # Note that T = 0.9946 may be not the optimal setting. However, we find it works well. + self.T = 0.9946 + else: + self.T = 1. + + def marginal_log_mean_coeff(self, t): + """ + Compute log(alpha_t) of a given continuous-time label t in [0, T]. + """ + if self.schedule == 'discrete': + return interpolate_fn(t.reshape((-1, 1)), self.t_array.to(t.device), self.log_alpha_array.to(t.device)).reshape((-1)) + elif self.schedule == 'linear': + return -0.25 * t ** 2 * (self.beta_1 - self.beta_0) - 0.5 * t * self.beta_0 + elif self.schedule == 'cosine': + log_alpha_fn = lambda s: torch.log(torch.cos((s + self.cosine_s) / (1. + self.cosine_s) * math.pi / 2.)) + log_alpha_t = log_alpha_fn(t) - self.cosine_log_alpha_0 + return log_alpha_t + + def marginal_alpha(self, t): + """ + Compute alpha_t of a given continuous-time label t in [0, T]. + """ + return torch.exp(self.marginal_log_mean_coeff(t)) + + def marginal_std(self, t): + """ + Compute sigma_t of a given continuous-time label t in [0, T]. + """ + return torch.sqrt(1. - torch.exp(2. * self.marginal_log_mean_coeff(t))) + + def marginal_lambda(self, t): + """ + Compute lambda_t = log(alpha_t) - log(sigma_t) of a given continuous-time label t in [0, T]. + """ + log_mean_coeff = self.marginal_log_mean_coeff(t) + log_std = 0.5 * torch.log(1. - torch.exp(2. * log_mean_coeff)) + return log_mean_coeff - log_std + + def inverse_lambda(self, lamb): + """ + Compute the continuous-time label t in [0, T] of a given half-logSNR lambda_t. + """ + if self.schedule == 'linear': + tmp = 2. * (self.beta_1 - self.beta_0) * torch.logaddexp(-2. * lamb, torch.zeros((1,)).to(lamb)) + Delta = self.beta_0**2 + tmp + return tmp / (torch.sqrt(Delta) + self.beta_0) / (self.beta_1 - self.beta_0) + elif self.schedule == 'discrete': + log_alpha = -0.5 * torch.logaddexp(torch.zeros((1,)).to(lamb.device), -2. * lamb) + t = interpolate_fn(log_alpha.reshape((-1, 1)), torch.flip(self.log_alpha_array.to(lamb.device), [1]), torch.flip(self.t_array.to(lamb.device), [1])) + return t.reshape((-1,)) + else: + log_alpha = -0.5 * torch.logaddexp(-2. * lamb, torch.zeros((1,)).to(lamb)) + t_fn = lambda log_alpha_t: torch.arccos(torch.exp(log_alpha_t + self.cosine_log_alpha_0)) * 2. * (1. + self.cosine_s) / math.pi - self.cosine_s + t = t_fn(log_alpha) + return t + + +def model_wrapper( + model, + noise_schedule, + model_type="noise", + model_kwargs={}, + guidance_type="uncond", + condition=None, + unconditional_condition=None, + guidance_scale=1., + classifier_fn=None, + classifier_kwargs={}, +): + """Create a wrapper function for the noise prediction model. + """ + + def get_model_input_time(t_continuous): + """ + Convert the continuous-time `t_continuous` (in [epsilon, T]) to the model input time. + For discrete-time DPMs, we convert `t_continuous` in [1 / N, 1] to `t_input` in [0, 1000 * (N - 1) / N]. + For continuous-time DPMs, we just use `t_continuous`. + """ + if noise_schedule.schedule == 'discrete': + return (t_continuous - 1. / noise_schedule.total_N) * noise_schedule.total_N + else: + return t_continuous + + def noise_pred_fn(x, t_continuous, cond=None): + t_input = get_model_input_time(t_continuous) + if cond is None: + output = model(x, t_input, **model_kwargs) + else: + output = model(x, t_input, cond, **model_kwargs) + if model_type == "noise": + return output + elif model_type == "x_start": + alpha_t, sigma_t = noise_schedule.marginal_alpha(t_continuous), noise_schedule.marginal_std(t_continuous) + return (x - alpha_t * output) / sigma_t + elif model_type == "v": + alpha_t, sigma_t = noise_schedule.marginal_alpha(t_continuous), noise_schedule.marginal_std(t_continuous) + return alpha_t * output + sigma_t * x + elif model_type == "score": + sigma_t = noise_schedule.marginal_std(t_continuous) + return -sigma_t * output + + def cond_grad_fn(x, t_input): + """ + Compute the gradient of the classifier, i.e. nabla_{x} log p_t(cond | x_t). + """ + with torch.enable_grad(): + x_in = x.detach().requires_grad_(True) + log_prob = classifier_fn(x_in, t_input, condition, **classifier_kwargs) + return torch.autograd.grad(log_prob.sum(), x_in)[0] + + def model_fn(x, t_continuous): + """ + The noise predicition model function that is used for DPM-Solver. + """ + if guidance_type == "uncond": + return noise_pred_fn(x, t_continuous) + elif guidance_type == "classifier": + assert classifier_fn is not None + t_input = get_model_input_time(t_continuous) + cond_grad = cond_grad_fn(x, t_input) + sigma_t = noise_schedule.marginal_std(t_continuous) + noise = noise_pred_fn(x, t_continuous) + return noise - guidance_scale * sigma_t * cond_grad + elif guidance_type == "classifier-free": + if guidance_scale == 1. or unconditional_condition is None: + return noise_pred_fn(x, t_continuous, cond=condition) + else: + x_in = torch.cat([x] * 2) + t_in = torch.cat([t_continuous] * 2) + c_in = torch.cat([unconditional_condition, condition]) + noise_uncond, noise = noise_pred_fn(x_in, t_in, cond=c_in).chunk(2) + return noise_uncond + guidance_scale * (noise - noise_uncond) + + assert model_type in ["noise", "x_start", "v"] + assert guidance_type in ["uncond", "classifier", "classifier-free"] + return model_fn + + +class UniPC: + def __init__( + self, + model_fn, + noise_schedule, + algorithm_type="data_prediction", + correcting_x0_fn=None, + correcting_xt_fn=None, + thresholding_max_val=1., + dynamic_thresholding_ratio=0.995, + variant='bh1' + ): + """Construct a UniPC. + + We support both data_prediction and noise_prediction. + """ + self.model = lambda x, t: model_fn(x, t.expand((x.shape[0]))) + self.noise_schedule = noise_schedule + assert algorithm_type in ["data_prediction", "noise_prediction"] + + if correcting_x0_fn == "dynamic_thresholding": + self.correcting_x0_fn = self.dynamic_thresholding_fn + else: + self.correcting_x0_fn = correcting_x0_fn + + self.correcting_xt_fn = correcting_xt_fn + self.dynamic_thresholding_ratio = dynamic_thresholding_ratio + self.thresholding_max_val = thresholding_max_val + + self.variant = variant + self.predict_x0 = algorithm_type == "data_prediction" + + def dynamic_thresholding_fn(self, x0, t=None): + """ + The dynamic thresholding method. + """ + dims = x0.dim() + p = self.dynamic_thresholding_ratio + s = torch.quantile(torch.abs(x0).reshape((x0.shape[0], -1)), p, dim=1) + s = expand_dims(torch.maximum(s, self.thresholding_max_val * torch.ones_like(s).to(s.device)), dims) + x0 = torch.clamp(x0, -s, s) / s + return x0 + + def noise_prediction_fn(self, x, t): + """ + Return the noise prediction model. + """ + return self.model(x, t) + + def data_prediction_fn(self, x, t): + """ + Return the data prediction model (with corrector). + """ + noise = self.noise_prediction_fn(x, t) + alpha_t, sigma_t = self.noise_schedule.marginal_alpha(t), self.noise_schedule.marginal_std(t) + x0 = (x - sigma_t * noise) / alpha_t + if self.correcting_x0_fn is not None: + x0 = self.correcting_x0_fn(x0) + return x0 + + def model_fn(self, x, t): + """ + Convert the model to the noise prediction model or the data prediction model. + """ + if self.predict_x0: + return self.data_prediction_fn(x, t) + else: + return self.noise_prediction_fn(x, t) + + def get_time_steps(self, skip_type, t_T, t_0, N, device): + """Compute the intermediate time steps for sampling. + """ + if skip_type == 'logSNR': + lambda_T = self.noise_schedule.marginal_lambda(torch.tensor(t_T).to(device)) + lambda_0 = self.noise_schedule.marginal_lambda(torch.tensor(t_0).to(device)) + logSNR_steps = torch.linspace(lambda_T.cpu().item(), lambda_0.cpu().item(), N + 1).to(device) + return self.noise_schedule.inverse_lambda(logSNR_steps) + elif skip_type == 'time_uniform': + return torch.linspace(t_T, t_0, N + 1).to(device) + elif skip_type == 'time_quadratic': + t_order = 2 + t = torch.linspace(t_T**(1. / t_order), t_0**(1. / t_order), N + 1).pow(t_order).to(device) + return t + else: + raise ValueError("Unsupported skip_type {}, need to be 'logSNR' or 'time_uniform' or 'time_quadratic'".format(skip_type)) + + def get_orders_and_timesteps_for_singlestep_solver(self, steps, order, skip_type, t_T, t_0, device): + """ + Get the order of each step for sampling by the singlestep DPM-Solver. + """ + if order == 3: + K = steps // 3 + 1 + if steps % 3 == 0: + orders = [3,] * (K - 2) + [2, 1] + elif steps % 3 == 1: + orders = [3,] * (K - 1) + [1] + else: + orders = [3,] * (K - 1) + [2] + elif order == 2: + if steps % 2 == 0: + K = steps // 2 + orders = [2,] * K + else: + K = steps // 2 + 1 + orders = [2,] * (K - 1) + [1] + elif order == 1: + K = steps + orders = [1,] * steps + else: + raise ValueError("'order' must be '1' or '2' or '3'.") + if skip_type == 'logSNR': + # To reproduce the results in DPM-Solver paper + timesteps_outer = self.get_time_steps(skip_type, t_T, t_0, K, device) + else: + timesteps_outer = self.get_time_steps(skip_type, t_T, t_0, steps, device)[torch.cumsum(torch.tensor([0,] + orders), 0).to(device)] + return timesteps_outer, orders + + def denoise_to_zero_fn(self, x, s): + """ + Denoise at the final step, which is equivalent to solve the ODE from lambda_s to infty by first-order discretization. + """ + return self.data_prediction_fn(x, s) + + def multistep_uni_pc_update(self, x, model_prev_list, t_prev_list, t, order, **kwargs): + if len(t.shape) == 0: + t = t.view(-1) + if 'bh' in self.variant: + return self.multistep_uni_pc_bh_update(x, model_prev_list, t_prev_list, t, order, **kwargs) + else: + assert self.variant == 'vary_coeff' + return self.multistep_uni_pc_vary_update(x, model_prev_list, t_prev_list, t, order, **kwargs) + + def multistep_uni_pc_vary_update(self, x, model_prev_list, t_prev_list, t, order, use_corrector=True): + #print(f'using unified predictor-corrector with order {order} (solver type: vary coeff)') + ns = self.noise_schedule + assert order <= len(model_prev_list) + + # first compute rks + t_prev_0 = t_prev_list[-1] + lambda_prev_0 = ns.marginal_lambda(t_prev_0) + lambda_t = ns.marginal_lambda(t) + model_prev_0 = model_prev_list[-1] + sigma_prev_0, sigma_t = ns.marginal_std(t_prev_0), ns.marginal_std(t) + log_alpha_t = ns.marginal_log_mean_coeff(t) + alpha_t = torch.exp(log_alpha_t) + + h = lambda_t - lambda_prev_0 + + rks = [] + D1s = [] + for i in range(1, order): + t_prev_i = t_prev_list[-(i + 1)] + model_prev_i = model_prev_list[-(i + 1)] + lambda_prev_i = ns.marginal_lambda(t_prev_i) + rk = (lambda_prev_i - lambda_prev_0) / h + rks.append(rk) + D1s.append((model_prev_i - model_prev_0) / rk) + + rks.append(1.) + rks = torch.tensor(rks, device=x.device) + + K = len(rks) + # build C matrix + C = [] + + col = torch.ones_like(rks) + for k in range(1, K + 1): + C.append(col) + col = col * rks / (k + 1) + C = torch.stack(C, dim=1) + + if len(D1s) > 0: + D1s = torch.stack(D1s, dim=1) # (B, K) + C_inv_p = torch.linalg.inv(C[:-1, :-1]) + A_p = C_inv_p + + if use_corrector: + #print('using corrector') + C_inv = torch.linalg.inv(C) + A_c = C_inv + + hh = -h if self.predict_x0 else h + h_phi_1 = torch.expm1(hh) + h_phi_ks = [] + factorial_k = 1 + h_phi_k = h_phi_1 + for k in range(1, K + 2): + h_phi_ks.append(h_phi_k) + h_phi_k = h_phi_k / hh - 1 / factorial_k + factorial_k *= (k + 1) + + model_t = None + if self.predict_x0: + x_t_ = ( + sigma_t / sigma_prev_0 * x + - alpha_t * h_phi_1 * model_prev_0 + ) + # now predictor + x_t = x_t_ + if len(D1s) > 0: + # compute the residuals for predictor + for k in range(K - 1): + x_t = x_t - alpha_t * h_phi_ks[k + 1] * torch.einsum('bkchw,k->bchw', D1s, A_p[k]) + # now corrector + if use_corrector: + model_t = self.model_fn(x_t, t) + D1_t = (model_t - model_prev_0) + x_t = x_t_ + k = 0 + for k in range(K - 1): + x_t = x_t - alpha_t * h_phi_ks[k + 1] * torch.einsum('bkchw,k->bchw', D1s, A_c[k][:-1]) + x_t = x_t - alpha_t * h_phi_ks[K] * (D1_t * A_c[k][-1]) + else: + log_alpha_prev_0, log_alpha_t = ns.marginal_log_mean_coeff(t_prev_0), ns.marginal_log_mean_coeff(t) + x_t_ = ( + (torch.exp(log_alpha_t - log_alpha_prev_0)) * x + - (sigma_t * h_phi_1) * model_prev_0 + ) + # now predictor + x_t = x_t_ + if len(D1s) > 0: + # compute the residuals for predictor + for k in range(K - 1): + x_t = x_t - sigma_t * h_phi_ks[k + 1] * torch.einsum('bkchw,k->bchw', D1s, A_p[k]) + # now corrector + if use_corrector: + model_t = self.model_fn(x_t, t) + D1_t = (model_t - model_prev_0) + x_t = x_t_ + k = 0 + for k in range(K - 1): + x_t = x_t - sigma_t * h_phi_ks[k + 1] * torch.einsum('bkchw,k->bchw', D1s, A_c[k][:-1]) + x_t = x_t - sigma_t * h_phi_ks[K] * (D1_t * A_c[k][-1]) + return x_t, model_t + + def multistep_uni_pc_bh_update(self, x, model_prev_list, t_prev_list, t, order, x_t=None, use_corrector=True): + #print(f'using unified predictor-corrector with order {order} (solver type: B(h))') + ns = self.noise_schedule + assert order <= len(model_prev_list) + + # first compute rks + t_prev_0 = t_prev_list[-1] + lambda_prev_0 = ns.marginal_lambda(t_prev_0) + lambda_t = ns.marginal_lambda(t) + model_prev_0 = model_prev_list[-1] + sigma_prev_0, sigma_t = ns.marginal_std(t_prev_0), ns.marginal_std(t) + log_alpha_prev_0, log_alpha_t = ns.marginal_log_mean_coeff(t_prev_0), ns.marginal_log_mean_coeff(t) + alpha_t = torch.exp(log_alpha_t) + + h = lambda_t - lambda_prev_0 + + rks = [] + D1s = [] + for i in range(1, order): + t_prev_i = t_prev_list[-(i + 1)] + model_prev_i = model_prev_list[-(i + 1)] + lambda_prev_i = ns.marginal_lambda(t_prev_i) + rk = (lambda_prev_i - lambda_prev_0) / h + rks.append(rk) + D1s.append((model_prev_i - model_prev_0) / rk) + + rks.append(1.) + rks = torch.tensor(rks, device=x.device) + + R = [] + b = [] + + hh = -h if self.predict_x0 else h + h_phi_1 = torch.expm1(hh) # h\phi_1(h) = e^h - 1 + h_phi_k = h_phi_1 / hh - 1 + + factorial_i = 1 + + if self.variant == 'bh1': + B_h = hh + elif self.variant == 'bh2': + B_h = torch.expm1(hh) + else: + raise NotImplementedError() + + for i in range(1, order + 1): + R.append(torch.pow(rks, i - 1)) + b.append(h_phi_k * factorial_i / B_h) + factorial_i *= (i + 1) + h_phi_k = h_phi_k / hh - 1 / factorial_i + + R = torch.stack(R) + b = torch.cat(b) + + # now predictor + use_predictor = len(D1s) > 0 and x_t is None + if len(D1s) > 0: + D1s = torch.stack(D1s, dim=1) # (B, K) + if x_t is None: + # for order 2, we use a simplified version + if order == 2: + rhos_p = torch.tensor([0.5], device=b.device) + else: + rhos_p = torch.linalg.solve(R[:-1, :-1], b[:-1]) + else: + D1s = None + + if use_corrector: + #print('using corrector') + # for order 1, we use a simplified version + if order == 1: + rhos_c = torch.tensor([0.5], device=b.device) + else: + rhos_c = torch.linalg.solve(R, b) + + model_t = None + if self.predict_x0: + x_t_ = ( + sigma_t / sigma_prev_0 * x + - alpha_t * h_phi_1 * model_prev_0 + ) + + if x_t is None: + if use_predictor: + pred_res = torch.einsum('k,bkchw->bchw', rhos_p, D1s) + else: + pred_res = 0 + x_t = x_t_ - alpha_t * B_h * pred_res + + if use_corrector: + model_t = self.model_fn(x_t, t) + if D1s is not None: + corr_res = torch.einsum('k,bkchw->bchw', rhos_c[:-1], D1s) + else: + corr_res = 0 + D1_t = (model_t - model_prev_0) + x_t = x_t_ - alpha_t * B_h * (corr_res + rhos_c[-1] * D1_t) + else: + x_t_ = ( + torch.exp(log_alpha_t - log_alpha_prev_0) * x + - sigma_t * h_phi_1 * model_prev_0 + ) + if x_t is None: + if use_predictor: + pred_res = torch.einsum('k,bkchw->bchw', rhos_p, D1s) + else: + pred_res = 0 + x_t = x_t_ - sigma_t * B_h * pred_res + + if use_corrector: + model_t = self.model_fn(x_t, t) + if D1s is not None: + corr_res = torch.einsum('k,bkchw->bchw', rhos_c[:-1], D1s) + else: + corr_res = 0 + D1_t = (model_t - model_prev_0) + x_t = x_t_ - sigma_t * B_h * (corr_res + rhos_c[-1] * D1_t) + return x_t, model_t + + def sample(self, x, steps=20, t_start=None, t_end=None, order=2, skip_type='time_uniform', + method='multistep', lower_order_final=True, denoise_to_zero=False, atol=0.0078, rtol=0.05, return_intermediate=False, + ): + """ + Compute the sample at time `t_end` by UniPC, given the initial `x` at time `t_start`. + """ + t_0 = 1. / self.noise_schedule.total_N if t_end is None else t_end + t_T = self.noise_schedule.T if t_start is None else t_start + assert t_0 > 0 and t_T > 0, "Time range needs to be greater than 0. For discrete-time DPMs, it needs to be in [1 / N, 1], where N is the length of betas array" + if return_intermediate: + assert method in ['multistep', 'singlestep', 'singlestep_fixed'], "Cannot use adaptive solver when saving intermediate values" + if self.correcting_xt_fn is not None: + assert method in ['multistep', 'singlestep', 'singlestep_fixed'], "Cannot use adaptive solver when correcting_xt_fn is not None" + device = x.device + intermediates = [] + with torch.no_grad(): + if method == 'multistep': + assert steps >= order + timesteps = self.get_time_steps(skip_type=skip_type, t_T=t_T, t_0=t_0, N=steps, device=device) + assert timesteps.shape[0] - 1 == steps + # Init the initial values. + step = 0 + t = timesteps[step] + t_prev_list = [t] + model_prev_list = [self.model_fn(x, t)] + if self.correcting_xt_fn is not None: + x = self.correcting_xt_fn(x, t, step) + if return_intermediate: + intermediates.append(x) + + # Init the first `order` values by lower order multistep UniPC. + for step in range(1, order): + t = timesteps[step] + x, model_x = self.multistep_uni_pc_update(x, model_prev_list, t_prev_list, t, step, use_corrector=True) + if model_x is None: + model_x = self.model_fn(x, t) + if self.correcting_xt_fn is not None: + x = self.correcting_xt_fn(x, t, step) + if return_intermediate: + intermediates.append(x) + t_prev_list.append(t) + model_prev_list.append(model_x) + + # Compute the remaining values by `order`-th order multistep DPM-Solver. + for step in range(order, steps + 1): + t = timesteps[step] + if lower_order_final: + step_order = min(order, steps + 1 - step) + else: + step_order = order + if step == steps: + #print('do not run corrector at the last step') + use_corrector = False + else: + use_corrector = True + x, model_x = self.multistep_uni_pc_update(x, model_prev_list, t_prev_list, t, step_order, use_corrector=use_corrector) + if self.correcting_xt_fn is not None: + x = self.correcting_xt_fn(x, t, step) + if return_intermediate: + intermediates.append(x) + for i in range(order - 1): + t_prev_list[i] = t_prev_list[i + 1] + model_prev_list[i] = model_prev_list[i + 1] + t_prev_list[-1] = t + # We do not need to evaluate the final model value. + if step < steps: + if model_x is None: + model_x = self.model_fn(x, t) + model_prev_list[-1] = model_x + else: + raise ValueError("Got wrong method {}".format(method)) + + if denoise_to_zero: + t = torch.ones((1,)).to(device) * t_0 + x = self.denoise_to_zero_fn(x, t) + if self.correcting_xt_fn is not None: + x = self.correcting_xt_fn(x, t, step + 1) + if return_intermediate: + intermediates.append(x) + if return_intermediate: + return x, intermediates + else: + return x + + +############################################################# +# other utility functions +############################################################# + +def interpolate_fn(x, xp, yp): + """ + A piecewise linear function y = f(x), using xp and yp as keypoints. + We implement f(x) in a differentiable way (i.e. applicable for autograd). + The function f(x) is well-defined for all x-axis. (For x beyond the bounds of xp, we use the outmost points of xp to define the linear function.) + + Args: + x: PyTorch tensor with shape [N, C], where N is the batch size, C is the number of channels (we use C = 1 for DPM-Solver). + xp: PyTorch tensor with shape [C, K], where K is the number of keypoints. + yp: PyTorch tensor with shape [C, K]. + Returns: + The function values f(x), with shape [N, C]. + """ + N, K = x.shape[0], xp.shape[1] + all_x = torch.cat([x.unsqueeze(2), xp.unsqueeze(0).repeat((N, 1, 1))], dim=2) + sorted_all_x, x_indices = torch.sort(all_x, dim=2) + x_idx = torch.argmin(x_indices, dim=2) + cand_start_idx = x_idx - 1 + start_idx = torch.where( + torch.eq(x_idx, 0), + torch.tensor(1, device=x.device), + torch.where( + torch.eq(x_idx, K), torch.tensor(K - 2, device=x.device), cand_start_idx, + ), + ) + end_idx = torch.where(torch.eq(start_idx, cand_start_idx), start_idx + 2, start_idx + 1) + start_x = torch.gather(sorted_all_x, dim=2, index=start_idx.unsqueeze(2)).squeeze(2) + end_x = torch.gather(sorted_all_x, dim=2, index=end_idx.unsqueeze(2)).squeeze(2) + start_idx2 = torch.where( + torch.eq(x_idx, 0), + torch.tensor(0, device=x.device), + torch.where( + torch.eq(x_idx, K), torch.tensor(K - 2, device=x.device), cand_start_idx, + ), + ) + y_positions_expanded = yp.unsqueeze(0).expand(N, -1, -1) + start_y = torch.gather(y_positions_expanded, dim=2, index=start_idx2.unsqueeze(2)).squeeze(2) + end_y = torch.gather(y_positions_expanded, dim=2, index=(start_idx2 + 1).unsqueeze(2)).squeeze(2) + cand = start_y + (x - start_x) * (end_y - start_y) / (end_x - start_x) + return cand + + +def expand_dims(v, dims): + """ + Expand the tensor `v` to the dim `dims`. + + Args: + `v`: a PyTorch tensor with shape [N]. + `dim`: a `int`. + Returns: + a PyTorch tensor with shape [N, 1, 1, ..., 1] and the total dimension is `dims`. + """ + return v[(...,) + (None,)*(dims - 1)] \ No newline at end of file diff --git a/inference/val_nsf_hifigan.py b/inference/val_nsf_hifigan.py new file mode 100644 index 0000000..c0ed107 --- /dev/null +++ b/inference/val_nsf_hifigan.py @@ -0,0 +1,78 @@ +import os +import sys + +import librosa +import numpy as np +import resampy +import torch +import torchcrepe +import tqdm + +from utils.binarizer_utils import get_pitch_parselmouth, get_mel_torch +from modules.vocoders.nsf_hifigan import NsfHifiGAN +from utils.infer_utils import save_wav +from utils.hparams import set_hparams, hparams + +sys.argv = [ + 'inference/svs/ds_acoustic.py', + '--config', + 'configs/acoustic.yaml', +] + + +def get_pitch(wav_data, mel, hparams, threshold=0.3): + device = torch.device("cuda" if torch.cuda.is_available() else "cpu") + # crepe只支持16khz采样率,需要重采样 + wav16k = resampy.resample(wav_data, hparams['audio_sample_rate'], 16000) + wav16k_torch = torch.FloatTensor(wav16k).unsqueeze(0).to(device) + + # 频率范围 + f0_min = 40 + f0_max = 800 + + # 重采样后按照hopsize=80,也就是5ms一帧分析f0 + f0, pd = torchcrepe.predict(wav16k_torch, 16000, 80, f0_min, f0_max, pad=True, model='full', batch_size=1024, + device=device, return_periodicity=True) + + # 滤波,去掉静音,设置uv阈值,参考原仓库readme + pd = torchcrepe.filter.median(pd, 3) + pd = torchcrepe.threshold.Silence(-60.)(pd, wav16k_torch, 16000, 80) + f0 = torchcrepe.threshold.At(threshold)(f0, pd) + f0 = torchcrepe.filter.mean(f0, 3) + + # 将nan频率(uv部分)转换为0频率 + f0 = torch.where(torch.isnan(f0), torch.full_like(f0, 0), f0) + + # 去掉0频率,并线性插值 + nzindex = torch.nonzero(f0[0]).squeeze() + f0 = torch.index_select(f0[0], dim=0, index=nzindex).cpu().numpy() + time_org = 0.005 * nzindex.cpu().numpy() + time_frame = np.arange(len(mel)) * hparams['hop_size'] / hparams['audio_sample_rate'] + f0 = np.interp(time_frame, time_org, f0, left=f0[0], right=f0[-1]) + return f0 + + +set_hparams() +device = torch.device("cuda" if torch.cuda.is_available() else "cpu") +vocoder = NsfHifiGAN() +in_path = 'path/to/input/wavs' +out_path = 'path/to/output/wavs' +os.makedirs(out_path, exist_ok=True) +for filename in tqdm.tqdm(os.listdir(in_path)): + if not filename.endswith('.wav'): + continue + wav, _ = librosa.load(os.path.join(in_path, filename), sr=hparams['audio_sample_rate'], mono=True) + mel = get_mel_torch( + wav, hparams['audio_sample_rate'], num_mel_bins=hparams['audio_num_mel_bins'], + hop_size=hparams['hop_size'], win_size=hparams['win_size'], fft_size=hparams['fft_size'], + fmin=hparams['fmin'], fmax=hparams['fmax'], + device=device + ) + + f0, _ = get_pitch_parselmouth( + wav, samplerate=hparams['audio_sample_rate'], length=len(mel), + hop_size=hparams['hop_size'] + ) + + wav_out = vocoder.spec2wav(mel, f0=f0) + save_wav(wav_out, os.path.join(out_path, filename), hparams['audio_sample_rate']) diff --git a/modules/__init__.py b/modules/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/modules/aux_decoder/__init__.py b/modules/aux_decoder/__init__.py new file mode 100644 index 0000000..54ceb21 --- /dev/null +++ b/modules/aux_decoder/__init__.py @@ -0,0 +1,70 @@ +import torch.nn +from torch import nn + +from .convnext import ConvNeXtDecoder +from utils import filter_kwargs + +AUX_DECODERS = { + 'convnext': ConvNeXtDecoder +} +AUX_LOSSES = { + 'convnext': nn.L1Loss +} + + +def build_aux_decoder( + in_dims: int, out_dims: int, + aux_decoder_arch: str, aux_decoder_args: dict +) -> torch.nn.Module: + decoder_cls = AUX_DECODERS[aux_decoder_arch] + kwargs = filter_kwargs(aux_decoder_args, decoder_cls) + return AUX_DECODERS[aux_decoder_arch](in_dims, out_dims, **kwargs) + + +def build_aux_loss(aux_decoder_arch): + return AUX_LOSSES[aux_decoder_arch]() + + +class AuxDecoderAdaptor(nn.Module): + def __init__(self, in_dims: int, out_dims: int, num_feats: int, + spec_min: list, spec_max: list, + aux_decoder_arch: str, aux_decoder_args: dict): + super().__init__() + self.decoder = build_aux_decoder( + in_dims=in_dims, out_dims=out_dims * num_feats, + aux_decoder_arch=aux_decoder_arch, + aux_decoder_args=aux_decoder_args + ) + self.out_dims = out_dims + self.n_feats = num_feats + if spec_min is not None and spec_max is not None: + # spec: [B, T, M] or [B, F, T, M] + # spec_min and spec_max: [1, 1, M] or [1, 1, F, M] => transpose(-3, -2) => [1, 1, M] or [1, F, 1, M] + spec_min = torch.FloatTensor(spec_min)[None, None, :].transpose(-3, -2) + spec_max = torch.FloatTensor(spec_max)[None, None, :].transpose(-3, -2) + self.register_buffer('spec_min', spec_min, persistent=False) + self.register_buffer('spec_max', spec_max, persistent=False) + + def norm_spec(self, x): + k = (self.spec_max - self.spec_min) / 2. + b = (self.spec_max + self.spec_min) / 2. + return (x - b) / k + + def denorm_spec(self, x): + k = (self.spec_max - self.spec_min) / 2. + b = (self.spec_max + self.spec_min) / 2. + return x * k + b + + def forward(self, condition, infer=False): + x = self.decoder(condition, infer=infer) # [B, T, F x C] + + if self.n_feats > 1: + # This is the temporary solution since PyTorch 1.13 + # does not support exporting aten::unflatten to ONNX + # x = x.unflatten(dim=2, sizes=(self.n_feats, self.in_dims)) + x = x.reshape(-1, x.shape[1], self.n_feats, self.out_dims) # [B, T, F, C] + x = x.transpose(1, 2) # [B, F, T, C] + if infer: + x = self.denorm_spec(x) + + return x # [B, T, C] or [B, F, T, C] diff --git a/modules/aux_decoder/convnext.py b/modules/aux_decoder/convnext.py new file mode 100644 index 0000000..ad3fa1e --- /dev/null +++ b/modules/aux_decoder/convnext.py @@ -0,0 +1,89 @@ +from typing import Optional + +import torch +import torch.nn as nn + +from modules.commons.common_layers import AdamWConv1d + + +class ConvNeXtBlock(nn.Module): + """ConvNeXt Block adapted from https://github.com/facebookresearch/ConvNeXt to 1D audio signal. + + Args: + dim (int): Number of input channels. + intermediate_dim (int): Dimensionality of the intermediate layer. + layer_scale_init_value (float, optional): Initial value for the layer scale. None means no scaling. + Defaults to None. + """ + + def __init__( + self, + dim: int, + intermediate_dim: int, + layer_scale_init_value: Optional[float] = None, drop_out: float = 0.0 + + ): + super().__init__() + self.dwconv = nn.Conv1d(dim, dim, kernel_size=7, padding=3, groups=dim) # depthwise conv + + self.norm = nn.LayerNorm(dim, eps=1e-6) + self.pwconv1 = nn.Linear(dim, intermediate_dim) # pointwise/1x1 convs, implemented with linear layers + self.act = nn.GELU() + self.pwconv2 = nn.Linear(intermediate_dim, dim) + self.gamma = ( + nn.Parameter(layer_scale_init_value * torch.ones(dim), requires_grad=True) + if layer_scale_init_value > 0 + else None + ) + # self.drop_path = DropPath(drop_path) if drop_path > 0. else nn.Identity() + self.drop_path = nn.Identity() + self.dropout = nn.Dropout(drop_out) if drop_out > 0. else nn.Identity() + + def forward(self, x: torch.Tensor, ) -> torch.Tensor: + residual = x + x = self.dwconv(x) + x = x.transpose(1, 2) # (B, C, T) -> (B, T, C) + + x = self.norm(x) + x = self.pwconv1(x) + x = self.act(x) + x = self.pwconv2(x) + if self.gamma is not None: + x = self.gamma * x + x = x.transpose(1, 2) # (B, T, C) -> (B, C, T) + x = self.dropout(x) + + x = residual + self.drop_path(x) + return x + + +class ConvNeXtDecoder(nn.Module): + def __init__( + self, in_dims, out_dims, /, *, + num_channels=512, num_layers=6, kernel_size=7, dropout_rate=0.1 + ): + super().__init__() + self.inconv = nn.Conv1d( + in_dims, num_channels, kernel_size, + stride=1, padding=(kernel_size - 1) // 2 + ) + self.conv = nn.ModuleList( + ConvNeXtBlock( + dim=num_channels, intermediate_dim=num_channels * 4, + layer_scale_init_value=1e-6, drop_out=dropout_rate + ) for _ in range(num_layers) + ) + self.outconv = AdamWConv1d( + num_channels, out_dims, kernel_size, + stride=1, padding=(kernel_size - 1) // 2 + ) + + # noinspection PyUnusedLocal + def forward(self, x, infer=False): + x = x.transpose(1, 2) + x = self.inconv(x) + for conv in self.conv: + x = conv(x) + x = self.outconv(x) + x = x.transpose(1, 2) + return x diff --git a/modules/backbones/__init__.py b/modules/backbones/__init__.py new file mode 100644 index 0000000..ebd9034 --- /dev/null +++ b/modules/backbones/__init__.py @@ -0,0 +1,20 @@ +import torch.nn +from modules.backbones.wavenet import WaveNet +from modules.backbones.lynxnet import LYNXNet +from modules.backbones.lynxnet2 import LYNXNet2 +from utils import filter_kwargs + +BACKBONES = { + 'wavenet': WaveNet, + 'lynxnet': LYNXNet, + 'lynxnet2': LYNXNet2, +} + + +def build_backbone( + out_dims: int, num_feats: int, + backbone_type: str, backbone_args: dict +) -> torch.nn.Module: + backbone = BACKBONES[backbone_type] + kwargs = filter_kwargs(backbone_args, backbone) + return BACKBONES[backbone_type](out_dims, num_feats, **kwargs) diff --git a/modules/backbones/lynxnet.py b/modules/backbones/lynxnet.py new file mode 100644 index 0000000..9529d1e --- /dev/null +++ b/modules/backbones/lynxnet.py @@ -0,0 +1,147 @@ +# refer to: +# https://github.com/CNChTu/Diffusion-SVC/blob/v2.0_dev/diffusion/naive_v2/model_conformer_naive.py +# https://github.com/CNChTu/Diffusion-SVC/blob/v2.0_dev/diffusion/naive_v2/naive_v2_diff.py + +import torch.nn as nn +import torch.nn.functional as F + +from modules.commons.common_layers import SinusoidalPosEmb, SwiGLU, Transpose, AdamWConv1d +from modules.commons.common_layers import KaimingNormalConv1d as Conv1d +from utils.hparams import hparams + + +class LYNXConvModule(nn.Module): + @staticmethod + def calc_same_padding(kernel_size): + pad = kernel_size // 2 + return pad, pad - (kernel_size + 1) % 2 + + def __init__(self, dim, expansion_factor, kernel_size=31, activation='PReLU', dropout=0.0): + super().__init__() + inner_dim = dim * expansion_factor + activation_classes = { + 'SiLU': nn.SiLU, + 'ReLU': nn.ReLU, + 'PReLU': lambda: nn.PReLU(inner_dim) + } + activation = activation if activation is not None else 'PReLU' + if activation not in activation_classes: + raise ValueError(f'{activation} is not a valid activation') + _activation = activation_classes[activation]() + padding = self.calc_same_padding(kernel_size) + if float(dropout) > 0.: + _dropout = nn.Dropout(dropout) + else: + _dropout = nn.Identity() + self.net = nn.Sequential( + nn.LayerNorm(dim), + Transpose((1, 2)), + nn.Conv1d(dim, inner_dim * 2, 1), + SwiGLU(dim=1), + nn.Conv1d(inner_dim, inner_dim, kernel_size=kernel_size, padding=padding[0], groups=inner_dim), + _activation, + nn.Conv1d(inner_dim, dim, 1), + Transpose((1, 2)), + _dropout + ) + + def forward(self, x): + return self.net(x) + + +class LYNXNetResidualLayer(nn.Module): + def __init__(self, dim_cond, dim, expansion_factor, kernel_size=31, activation='PReLU', dropout=0.0): + super().__init__() + self.diffusion_projection = nn.Conv1d(dim, dim, 1) + self.conditioner_projection = nn.Conv1d(dim_cond, dim, 1) + self.convmodule = LYNXConvModule(dim=dim, expansion_factor=expansion_factor, kernel_size=kernel_size, + activation=activation, dropout=dropout) + + def forward(self, x, conditioner, diffusion_step, front_cond_inject=False): + if front_cond_inject: + x = x + self.conditioner_projection(conditioner) + res_x = x + else: + res_x = x + x = x + self.conditioner_projection(conditioner) + x = x + self.diffusion_projection(diffusion_step) + x = x.transpose(1, 2) + x = self.convmodule(x) # (#batch, dim, length) + x = x.transpose(1, 2) + res_x + return x # (#batch, length, dim) + + +class LYNXNet(nn.Module): + def __init__(self, in_dims, n_feats, *, num_layers=6, num_channels=512, expansion_factor=2, kernel_size=31, + activation='PReLU', dropout_rate=0.0, strong_cond=False): + """ + LYNXNet(Linear Gated Depthwise Separable Convolution Network) + TIPS:You can control the style of the generated results by modifying the 'activation', + - 'PReLU'(default) : Similar to WaveNet + - 'SiLU' : Voice will be more pronounced, not recommended for use under DDPM + - 'ReLU' : Contrary to 'SiLU', Voice will be weakened + """ + super().__init__() + self.in_dims = in_dims + self.n_feats = n_feats + self.input_projection = Conv1d(in_dims * n_feats, num_channels, 1) + self.diffusion_embedding = nn.Sequential( + SinusoidalPosEmb(num_channels), + nn.Linear(num_channels, num_channels * 4), + nn.GELU(), + nn.Linear(num_channels * 4, num_channels), + ) + self.residual_layers = nn.ModuleList( + [ + LYNXNetResidualLayer( + dim_cond=hparams['hidden_size'], + dim=num_channels, + expansion_factor=expansion_factor, + kernel_size=kernel_size, + activation=activation, + dropout=dropout_rate + ) + for _ in range(num_layers) + ] + ) + self.norm = nn.LayerNorm(num_channels) + self.output_projection = AdamWConv1d(num_channels, in_dims * n_feats, kernel_size=1) + self.strong_cond = strong_cond + nn.init.zeros_(self.output_projection.weight) + + def forward(self, spec, diffusion_step, cond): + """ + :param spec: [B, F, M, T] + :param diffusion_step: [B, 1] + :param cond: [B, H, T] + :return: + """ + + if self.n_feats == 1: + x = spec[:, 0] # [B, M, T] + else: + x = spec.flatten(start_dim=1, end_dim=2) # [B, F x M, T] + + x = self.input_projection(x) # x [B, residual_channel, T] + if not self.strong_cond: + x = F.gelu(x) + + diffusion_step = self.diffusion_embedding(diffusion_step).unsqueeze(-1) + + for layer in self.residual_layers: + x = layer(x, cond, diffusion_step, front_cond_inject=self.strong_cond) + + # post-norm + x = self.norm(x.transpose(1, 2)).transpose(1, 2) + + # output_projection + x = self.output_projection(x) # [B, 128, T] + + if self.n_feats == 1: + x = x[:, None, :, :] + else: + # This is the temporary solution since PyTorch 1.13 + # does not support exporting aten::unflatten to ONNX + # x = x.unflatten(dim=1, sizes=(self.n_feats, self.in_dims)) + x = x.reshape(-1, self.n_feats, self.in_dims, x.shape[2]) + return x diff --git a/modules/backbones/lynxnet2.py b/modules/backbones/lynxnet2.py new file mode 100644 index 0000000..6e55d5f --- /dev/null +++ b/modules/backbones/lynxnet2.py @@ -0,0 +1,115 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F + +from modules.commons.common_layers import SinusoidalPosEmb, SwiGLU, ATanGLU, Transpose, AdamWLinear +from utils.hparams import hparams + + +class LYNXNet2Block(nn.Module): + def __init__(self, dim, expansion_factor, kernel_size=31, dropout=0., glu_type='swiglu'): + super().__init__() + inner_dim = int(dim * expansion_factor) + if glu_type == 'swiglu': + _glu = SwiGLU() + elif glu_type == 'atanglu': + _glu = ATanGLU() + else: + raise ValueError(f'{glu_type} is not a valid activation') + if float(dropout) > 0.: + _dropout = nn.Dropout(dropout) + else: + _dropout = nn.Identity() + self.net = nn.Sequential( + nn.LayerNorm(dim), + Transpose((1, 2)), + nn.Conv1d(dim, dim, kernel_size=kernel_size, padding=kernel_size // 2, groups=dim), + Transpose((1, 2)), + nn.Linear(dim, inner_dim * 2), + _glu, + nn.Linear(inner_dim, inner_dim * 2), + _glu, + nn.Linear(inner_dim, dim), + _dropout + ) + + def forward(self, x): + return x + self.net(x) + + +class LYNXNet2(nn.Module): + def __init__(self, in_dims, n_feats, *, num_layers=6, num_channels=512, expansion_factor=1, kernel_size=31, + dropout_rate=0.0, use_conditioner_cache=False, glu_type='swiglu'): + """ + LYNXNet2(Linear Gated Depthwise Separable Convolution Network Version 2) + """ + super().__init__() + self.in_dims = in_dims + self.n_feats = n_feats + self.input_projection = nn.Linear(in_dims * n_feats, num_channels) + self.use_conditioner_cache = use_conditioner_cache + if self.use_conditioner_cache: + # Conv1d is used for condition cache compatibility + self.conditioner_projection = nn.Conv1d(hparams['hidden_size'], num_channels, 1) + else: + self.conditioner_projection = nn.Linear(hparams['hidden_size'], num_channels) + self.diffusion_embedding = nn.Sequential( + SinusoidalPosEmb(num_channels), + nn.Linear(num_channels, num_channels * 4), + nn.GELU(), + nn.Linear(num_channels * 4, num_channels), + ) + self.residual_layers = nn.ModuleList( + [ + LYNXNet2Block( + dim=num_channels, + expansion_factor=expansion_factor, + kernel_size=kernel_size, + dropout=dropout_rate, + glu_type=glu_type + ) + for _ in range(num_layers) + ] + ) + self.norm = nn.LayerNorm(num_channels) + self.output_projection = AdamWLinear(num_channels, in_dims * n_feats) + nn.init.kaiming_normal_(self.input_projection.weight) + nn.init.kaiming_normal_(self.conditioner_projection.weight) + nn.init.zeros_(self.output_projection.weight) + + def forward(self, spec, diffusion_step, cond): + """ + :param spec: [B, F, M, T] + :param diffusion_step: [B, 1] + :param cond: [B, H, T] + :return: + """ + + if self.n_feats == 1: + x = spec[:, 0] # [B, M, T] + else: + x = spec.flatten(start_dim=1, end_dim=2) # [B, F x M, T] + + x = self.input_projection(x.transpose(1, 2)) # [B, T, F x M] + if self.use_conditioner_cache: + x = x + self.conditioner_projection(cond).transpose(1, 2) + else: + x = x + self.conditioner_projection(cond.transpose(1, 2)) + x = x + self.diffusion_embedding(diffusion_step).unsqueeze(1) + + for layer in self.residual_layers: + x = layer(x) + + # post-norm + x = self.norm(x) + + # output projection + x = self.output_projection(x).transpose(1, 2) # [B, 128, T] + + if self.n_feats == 1: + x = x[:, None, :, :] + else: + # Using reshape instead of unflatten for ONNX export compatibility + # x = x.unflatten(dim=1, sizes=(self.n_feats, self.in_dims)) + x = x.reshape(-1, self.n_feats, self.in_dims, x.shape[2]) + return x diff --git a/modules/backbones/wavenet.py b/modules/backbones/wavenet.py new file mode 100644 index 0000000..77ccc64 --- /dev/null +++ b/modules/backbones/wavenet.py @@ -0,0 +1,104 @@ +import math +from math import sqrt + +import torch +import torch.nn as nn +import torch.nn.functional as F + +from modules.commons.common_layers import SinusoidalPosEmb, AdamWConv1d +from modules.commons.common_layers import KaimingNormalConv1d as Conv1d +from utils.hparams import hparams + + +class ResidualBlock(nn.Module): + def __init__(self, encoder_hidden, residual_channels, dilation): + super().__init__() + self.residual_channels = residual_channels + self.dilated_conv = nn.Conv1d( + residual_channels, + 2 * residual_channels, + kernel_size=3, + padding=dilation, + dilation=dilation + ) + self.diffusion_projection = nn.Linear(residual_channels, residual_channels) + self.conditioner_projection = nn.Conv1d(encoder_hidden, 2 * residual_channels, 1) + self.output_projection = nn.Conv1d(residual_channels, 2 * residual_channels, 1) + + def forward(self, x, conditioner, diffusion_step): + diffusion_step = self.diffusion_projection(diffusion_step).unsqueeze(-1) + conditioner = self.conditioner_projection(conditioner) + y = x + diffusion_step + + y = self.dilated_conv(y) + conditioner + + # Using torch.split instead of torch.chunk to avoid using onnx::Slice + gate, filter = torch.split(y, [self.residual_channels, self.residual_channels], dim=1) + y = torch.sigmoid(gate) * torch.tanh(filter) + + y = self.output_projection(y) + + # Using torch.split instead of torch.chunk to avoid using onnx::Slice + residual, skip = torch.split(y, [self.residual_channels, self.residual_channels], dim=1) + return (x + residual) / math.sqrt(2.0), skip + + +class WaveNet(nn.Module): + def __init__(self, in_dims, n_feats, *, num_layers=20, num_channels=256, dilation_cycle_length=4): + super().__init__() + self.in_dims = in_dims + self.n_feats = n_feats + self.input_projection = Conv1d(in_dims * n_feats, num_channels, 1) + self.diffusion_embedding = SinusoidalPosEmb(num_channels) + self.mlp = nn.Sequential( + nn.Linear(num_channels, num_channels * 4), + nn.Mish(), + nn.Linear(num_channels * 4, num_channels) + ) + self.residual_layers = nn.ModuleList([ + ResidualBlock( + encoder_hidden=hparams['hidden_size'], + residual_channels=num_channels, + dilation=2 ** (i % dilation_cycle_length) + ) + for i in range(num_layers) + ]) + self.skip_projection = Conv1d(num_channels, num_channels, 1) + self.output_projection = AdamWConv1d(num_channels, in_dims * n_feats, 1) + nn.init.zeros_(self.output_projection.weight) + + def forward(self, spec, diffusion_step, cond): + """ + :param spec: [B, F, M, T] + :param diffusion_step: [B, 1] + :param cond: [B, H, T] + :return: + """ + if self.n_feats == 1: + # Use indexing instead of squeeze to avoid emitting an onnx::If + # whose branches have different rank, which breaks shape inference + # for the downstream Conv on PyTorch >= 2.0. + x = spec[:, 0] # [B, M, T] + else: + x = spec.flatten(start_dim=1, end_dim=2) # [B, F x M, T] + x = self.input_projection(x) # [B, C, T] + + x = F.relu(x) + diffusion_step = self.diffusion_embedding(diffusion_step) + diffusion_step = self.mlp(diffusion_step) + skip = [] + for layer in self.residual_layers: + x, skip_connection = layer(x, cond, diffusion_step) + skip.append(skip_connection) + + x = torch.sum(torch.stack(skip), dim=0) / sqrt(len(self.residual_layers)) + x = self.skip_projection(x) + x = F.relu(x) + x = self.output_projection(x) # [B, M, T] + if self.n_feats == 1: + x = x[:, None, :, :] + else: + # Using reshape instead of unflatten for ONNX export compatibility + # x = x.unflatten(dim=1, sizes=(self.n_feats, self.in_dims)) + x = x.reshape(-1, self.n_feats, self.in_dims, x.shape[2]) + return x diff --git a/modules/commons/common_layers.py b/modules/commons/common_layers.py new file mode 100644 index 0000000..4da6569 --- /dev/null +++ b/modules/commons/common_layers.py @@ -0,0 +1,427 @@ +from __future__ import annotations + +import math +import numpy as np +import torch +import torch.nn.functional as F +import torch.onnx.operators +from torch import nn +from torch.nn import LayerNorm, ReLU, GELU, SiLU + +import utils + + +class NormalInitEmbedding(torch.nn.Embedding): + def __init__( + self, + num_embeddings: int, + embedding_dim: int, + padding_idx: int | None = None, + *args, + **kwargs + ): + super().__init__(num_embeddings, embedding_dim, *args, padding_idx=padding_idx, **kwargs) + nn.init.normal_(self.weight, mean=0, std=self.embedding_dim ** -0.5) + if padding_idx is not None: + nn.init.constant_(self.weight[padding_idx], 0) + + +class AdamWLinear(torch.nn.Linear): + def __init__( + self, + in_features: int, + out_features: int, + *args, + bias: bool = True, + **kwargs + ): + super().__init__(in_features, out_features, *args, bias=bias, **kwargs) + nn.init.xavier_uniform_(self.weight) + if bias: + nn.init.constant_(self.bias, 0.) + + +class XavierUniformInitLinear(torch.nn.Linear): + def __init__( + self, + in_features: int, + out_features: int, + *args, + bias: bool = True, + **kwargs + ): + super().__init__(in_features, out_features, *args, bias=bias, **kwargs) + nn.init.xavier_uniform_(self.weight) + if bias: + nn.init.constant_(self.bias, 0.) + + +class SinusoidalPositionalEmbedding(nn.Module): + """This module produces sinusoidal positional embeddings of any length. + + Padding symbols are ignored. + """ + + def __init__(self, embedding_dim, padding_idx, init_size=1024): + super().__init__() + self.embedding_dim = embedding_dim + self.padding_idx = padding_idx + self.weights = SinusoidalPositionalEmbedding.get_embedding( + init_size, + embedding_dim, + padding_idx, + ) + self.register_buffer('_float_tensor', torch.FloatTensor(1)) + + @staticmethod + def get_embedding(num_embeddings, embedding_dim, padding_idx=None): + """Build sinusoidal embeddings. + + This matches the implementation in tensor2tensor, but differs slightly + from the description in Section 3.5 of "Attention Is All You Need". + """ + half_dim = embedding_dim // 2 + emb = math.log(10000) / (half_dim - 1) + emb = torch.exp(torch.arange(half_dim, dtype=torch.float) * -emb) + emb = torch.arange(num_embeddings, dtype=torch.float).unsqueeze(1) * emb.unsqueeze(0) + emb = torch.cat([torch.sin(emb), torch.cos(emb)], dim=1).view(num_embeddings, -1) + if embedding_dim % 2 == 1: + # zero pad + emb = torch.cat([emb, torch.zeros(num_embeddings, 1)], dim=1) + if padding_idx is not None: + emb[padding_idx, :] = 0 + return emb + + def forward(self, x, incremental_state=None, timestep=None, positions=None): + """Input is expected to be of size [bsz x seqlen].""" + bsz, seq_len = x.shape[:2] + max_pos = self.padding_idx + 1 + seq_len + if self.weights is None or max_pos > self.weights.size(0): + # recompute/expand embeddings if needed + self.weights = SinusoidalPositionalEmbedding.get_embedding( + max_pos, + self.embedding_dim, + self.padding_idx, + ) + self.weights = self.weights.to(self._float_tensor) + + if incremental_state is not None: + # positions is the same for every token when decoding a single step + pos = timestep.view(-1)[0] + 1 if timestep is not None else seq_len + return self.weights[self.padding_idx + pos, :].expand(bsz, 1, -1) + + positions = utils.make_positions(x, self.padding_idx) if positions is None else positions + return self.weights.index_select(0, positions.view(-1)).view(bsz, seq_len, -1).detach() + + @staticmethod + def max_positions(): + """Maximum number of supported positions.""" + return int(1e5) # an arbitrary large number + + +class SwiGLU(nn.Module): + # Swish-Applies the gated linear unit function. + def __init__(self, dim=-1): + super().__init__() + self.dim = dim + + def forward(self, x): + # out, gate = x.chunk(2, dim=self.dim) + # Using torch.split instead of chunk for ONNX export compatibility. + out, gate = torch.split(x, x.size(self.dim) // 2, dim=self.dim) + gate = F.silu(gate) + if x.dtype == torch.float16: + out_min, out_max = torch.aminmax(out.detach()) + gate_min, gate_max = torch.aminmax(gate.detach()) + max_abs_out = torch.max(-out_min, out_max).float() + max_abs_gate = torch.max(-gate_min, gate_max).float() + max_abs_value = max_abs_out * max_abs_gate + if max_abs_value > 1000: + ratio = (1000 / max_abs_value).half() + gate = gate * ratio + return (out * gate).clamp(-1000 * ratio, 1000 * ratio) / ratio + return out * gate + + +class ATanGLUFunction(torch.autograd.Function): + @staticmethod + def forward(ctx, out, gate): + atan_gate = torch.atan(gate) + decay_out = out / gate.square().add(1.0) + ctx.save_for_backward(decay_out, atan_gate) + return out * atan_gate + + @staticmethod + def backward(ctx, grad_output): + decay_out, atan_gate = ctx.saved_tensors + grad_out_part = grad_output * atan_gate + grad_gate_part = grad_output * decay_out + return grad_out_part, grad_gate_part + + +class ATanGLU(nn.Module): + # ArcTan-Applies the gated linear unit function. + def __init__(self, dim=-1): + super().__init__() + self.dim = dim + + def forward(self, x): + # out, gate = x.chunk(2, dim=self.dim) + # Using torch.split instead of chunk for ONNX export compatibility. + out, gate = torch.split(x, x.size(self.dim) // 2, dim=self.dim) + if self.training: + return ATanGLUFunction.apply(out, gate) + else: + return out * torch.atan(gate) + + +class AdamWConv1d(torch.nn.Conv1d): + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + nn.init.kaiming_normal_(self.weight) + + +class KaimingNormalConv1d(torch.nn.Conv1d): + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + nn.init.kaiming_normal_(self.weight) + + +class Transpose(nn.Module): + def __init__(self, dims): + super().__init__() + assert len(dims) == 2, 'dims must be a tuple of two dimensions' + self.dims = dims + + def forward(self, x): + return x.transpose(*self.dims) + + +class Mixed_LayerNorm(nn.Module): + def __init__( + self, + channels: int, + condition_channels: int, + beta_distribution_concentration: float = 0.2, + eps: float = 1e-5, + bias: bool = True + ): + super().__init__() + self.channels = channels + self.eps = eps + + self.beta_distribution = torch.distributions.Beta( + beta_distribution_concentration, + beta_distribution_concentration + ) + + self.affine = XavierUniformInitLinear(condition_channels, channels * 2, bias=bias) + if self.affine.bias is not None: + self.affine.bias.data[:channels] = 0 # betas (shift) + self.affine.bias.data[channels:] = 1 # gammas (scale) + + def forward( + self, + x: torch.FloatTensor, + condition: torch.FloatTensor # -> shape [Batch, Cond_d] + ) -> torch.FloatTensor: + x = F.layer_norm(x, normalized_shape=(self.channels,), weight=None, bias=None, eps=self.eps) + + affine_params = self.affine(condition) + if affine_params.ndim == 2: + affine_params = affine_params.unsqueeze(1) + betas, gammas = torch.split(affine_params, self.channels, dim=-1) + + if not self.training or x.size(0) == 1: + return gammas * x + betas + + shuffle_indices = torch.randperm(x.size(0), device=x.device) + shuffled_betas = betas[shuffle_indices] + shuffled_gammas = gammas[shuffle_indices] + + beta_samples = self.beta_distribution.sample((x.size(0), 1, 1)).to(x.device) + mixed_betas = beta_samples * betas + (1 - beta_samples) * shuffled_betas + mixed_gammas = beta_samples * gammas + (1 - beta_samples) * shuffled_gammas + + return mixed_gammas * x + mixed_betas + + +class TransformerFFNLayer(nn.Module): + def __init__(self, hidden_size, filter_size, kernel_size=1, dropout=0., act='gelu'): + super().__init__() + self.kernel_size = kernel_size + self.dropout = dropout + self.act = act + filter_size_1 = filter_size + if self.act == 'relu': + self.act_fn = ReLU() + elif self.act == 'gelu': + self.act_fn = GELU() + elif self.act == 'swish': + self.act_fn = SiLU() + elif self.act == 'swiglu': + self.act_fn = SwiGLU() + filter_size_1 = filter_size * 2 + elif self.act == 'atanglu': + self.act_fn = ATanGLU() + filter_size_1 = filter_size * 2 + else: + raise ValueError(f'{act} is not a valid activation') + self.ffn_1 = nn.Conv1d(hidden_size, filter_size_1, kernel_size, padding=kernel_size // 2) + self.ffn_2 = XavierUniformInitLinear(filter_size, hidden_size) + + def forward(self, x): + # x: B x T x C + x = self.ffn_1(x.transpose(1, 2)).transpose(1, 2) + x = x * self.kernel_size ** -0.5 + + x = self.act_fn(x) + x = F.dropout(x, self.dropout, training=self.training) + x = self.ffn_2(x) + return x + + +class MultiheadSelfAttentionWithRoPE(nn.Module): + def __init__(self, embed_dim, num_heads, dropout=0.1, bias=False, rotary_embed=None): + super().__init__() + assert embed_dim % num_heads == 0, "Embedding dimension must be divisible by number of heads" + + self.embed_dim = embed_dim + self.num_heads = num_heads + self.head_dim = embed_dim // num_heads + + # Linear layers for Q, K, V projections + self.in_proj = nn.Linear(embed_dim, embed_dim * 3, bias=bias) + + # Final linear layer after concatenation + self.out_proj = nn.Linear(embed_dim, embed_dim, bias=bias) + + # Dropout layer + self.dropout = nn.Dropout(dropout) + + # Rotary Embeddings + self.rotary_embed = rotary_embed + + # Initialization parameters + nn.init.xavier_uniform_(self.in_proj.weight) + nn.init.xavier_uniform_(self.out_proj.weight) + if bias: + nn.init.constant_(self.in_proj.bias, 0.0) + nn.init.constant_(self.out_proj.bias, 0.0) + + def forward(self, x, key_padding_mask=None): + # x: (B, L, C) + # key_padding_mask: (B, L) + batch_size, seq_len, embed_dim = x.size() + + # Project inputs to Q, K, V + Q, K, V = torch.split(self.in_proj(x), self.embed_dim, dim=-1) + + # Reshape Q, K, V for multi-head attention + Q = Q.view(batch_size, seq_len, self.num_heads, self.head_dim).transpose(1, 2) # (B, H, L, D) + K = K.view(batch_size, seq_len, self.num_heads, self.head_dim).transpose(1, 2) # (B, H, L, D) + V = V.view(batch_size, seq_len, self.num_heads, self.head_dim).transpose(1, 2) # (B, H, L, D) + + # Apply RoPE + if self.rotary_embed is not None: + Q = self.rotary_embed.rotate_queries_or_keys(Q) + K = self.rotary_embed.rotate_queries_or_keys(K) + + # Compute attention scores + scores = torch.matmul(Q, K.transpose(-2, -1)) / math.sqrt(self.head_dim) # (B, H, L, L) + + # Apply key padding mask if provided + if key_padding_mask is not None: + # Expand mask to match attention scores shape + mask = key_padding_mask.unsqueeze(1).unsqueeze(1) # (B, 1, 1, L) + scores = scores.masked_fill(mask == 1, -np.inf) # Masked positions are set to -inf + + # Compute attention weights + attn_weights = F.softmax(scores, dim=-1) # (B, H, L, L) + attn_weights = self.dropout(attn_weights) + + # Apply attention weights to V + attn_output = torch.matmul(attn_weights, V) # (B, H, L, D) + + # Reshape and concatenate heads + attn_output = attn_output.transpose(1, 2).contiguous().view(batch_size, seq_len, embed_dim) # (B, L, C) + + # Final linear projection + output = self.out_proj(attn_output) # (B, L, C) + + return output + + +class EncSALayer(nn.Module): + def __init__(self, c, num_heads, dropout, attention_dropout=0.1, + relu_dropout=0.1, kernel_size=9, act='gelu', rotary_embed=None, + layer_idx=None, mix_ln_layer=None + ): + super().__init__() + self.dropout = dropout + self.use_mix_ln = ( + layer_idx is not None + and mix_ln_layer is not None + and layer_idx in mix_ln_layer + ) + if self.use_mix_ln: + self.layer_norm1 = Mixed_LayerNorm(c, c) + else: + self.layer_norm1 = LayerNorm(c) + # Always use the in-house manual attention. With rotary_embed=None this + # is a plain multi-head self-attention that is ONNX-export safe across + # dynamic sequence lengths. Using torch.nn.MultiheadAttention here was + # the source of the "Reshape baked tgt_len" bug on PyTorch >= 2.0 + # because its SDPA-branched implementation specializes tgt_len to a + # Python int and re-injects it into the output Reshape. + self.self_attn = MultiheadSelfAttentionWithRoPE( + c, num_heads, dropout=attention_dropout, bias=False, rotary_embed=rotary_embed + ) + if self.use_mix_ln: + self.layer_norm2 = Mixed_LayerNorm(c, c) + else: + self.layer_norm2 = LayerNorm(c) + self.ffn = TransformerFFNLayer( + c, 4 * c, kernel_size=kernel_size, dropout=relu_dropout, act=act + ) + + def forward(self, x, encoder_padding_mask=None, cond=None, **kwargs): + layer_norm_training = kwargs.get('layer_norm_training', None) + if layer_norm_training is not None: + self.layer_norm1.training = layer_norm_training + self.layer_norm2.training = layer_norm_training + residual = x + if self.use_mix_ln: + x = self.layer_norm1(x, cond) + else: + x = self.layer_norm1(x) + x = self.self_attn(x, key_padding_mask=encoder_padding_mask) + x = F.dropout(x, self.dropout, training=self.training) + x = residual + x + x = x * (1 - encoder_padding_mask.float())[..., None] + + residual = x + if self.use_mix_ln: + x = self.layer_norm2(x, cond) + else: + x = self.layer_norm2(x) + x = self.ffn(x) + x = F.dropout(x, self.dropout, training=self.training) + x = residual + x + x = x * (1 - encoder_padding_mask.float())[..., None] + return x + + +class SinusoidalPosEmb(nn.Module): + def __init__(self, dim): + super().__init__() + self.dim = dim + + def forward(self, x): + device = x.device + half_dim = self.dim // 2 + emb = math.log(10000) / (half_dim - 1) + emb = torch.exp(torch.arange(half_dim, device=device) * -emb) + emb = x.unsqueeze(-1) * emb.unsqueeze(0) + emb = torch.cat((emb.sin(), emb.cos()), dim=-1) + return emb diff --git a/modules/commons/espnet_positional_embedding.py b/modules/commons/espnet_positional_embedding.py new file mode 100644 index 0000000..26ac372 --- /dev/null +++ b/modules/commons/espnet_positional_embedding.py @@ -0,0 +1,113 @@ +import math +import torch + + +class PositionalEncoding(torch.nn.Module): + """Positional encoding. + Args: + d_model (int): Embedding dimension. + dropout_rate (float): Dropout rate. + max_len (int): Maximum input length. + reverse (bool): Whether to reverse the input position. + """ + + def __init__(self, d_model, dropout_rate, max_len=5000, reverse=False): + """Construct an PositionalEncoding object.""" + super(PositionalEncoding, self).__init__() + self.d_model = d_model + self.reverse = reverse + self.xscale = math.sqrt(self.d_model) + self.dropout = torch.nn.Dropout(p=dropout_rate) + self.pe = None + self.extend_pe(torch.tensor(0.0).expand(1, max_len)) + + def extend_pe(self, x): + """Reset the positional encodings.""" + if self.pe is not None: + if self.pe.size(1) >= x.size(1): + if self.pe.dtype != x.dtype or self.pe.device != x.device: + self.pe = self.pe.to(dtype=x.dtype, device=x.device) + return + if self.reverse: + position = torch.arange( + x.size(1) - 1, -1, -1.0, dtype=torch.float32 + ).unsqueeze(1) + else: + position = torch.arange(0, x.size(1), dtype=torch.float32).unsqueeze(1) + div_term = torch.exp( + torch.arange(0, self.d_model, 2, dtype=torch.float32) + * -(math.log(10000.0) / self.d_model) + ) + pe = torch.stack([ + torch.sin(position * div_term), + torch.cos(position * div_term) + ], dim=2).view(-1, self.d_model).unsqueeze(0) + self.pe = pe.to(device=x.device, dtype=x.dtype) + + def forward(self, x: torch.Tensor): + """Add positional encoding. + Args: + x (torch.Tensor): Input tensor (batch, time, `*`). + Returns: + torch.Tensor: Encoded tensor (batch, time, `*`). + """ + self.extend_pe(x) + x = x * self.xscale + self.pe[:, : x.size(1)] + return self.dropout(x) + + +class ScaledPositionalEncoding(PositionalEncoding): + """Scaled positional encoding module. + See Sec. 3.2 https://arxiv.org/abs/1809.08895 + Args: + d_model (int): Embedding dimension. + dropout_rate (float): Dropout rate. + max_len (int): Maximum input length. + """ + + def __init__(self, d_model, dropout_rate, max_len=5000): + """Initialize class.""" + super().__init__(d_model=d_model, dropout_rate=dropout_rate, max_len=max_len) + self.alpha = torch.nn.Parameter(torch.tensor(1.0)) + + def reset_parameters(self): + """Reset parameters.""" + self.alpha.data = torch.tensor(1.0) + + def forward(self, x): + """Add positional encoding. + Args: + x (torch.Tensor): Input tensor (batch, time, `*`). + Returns: + torch.Tensor: Encoded tensor (batch, time, `*`). + """ + self.extend_pe(x) + x = x + self.alpha * self.pe[:, : x.size(1)] + return self.dropout(x) + + +class RelPositionalEncoding(PositionalEncoding): + """Relative positional encoding module. + See : Appendix B in https://arxiv.org/abs/1901.02860 + Args: + d_model (int): Embedding dimension. + dropout_rate (float): Dropout rate. + max_len (int): Maximum input length. + """ + + def __init__(self, d_model, dropout_rate, max_len=5000): + """Initialize class.""" + super().__init__(d_model, dropout_rate, max_len, reverse=True) + + def forward(self, x): + """Compute positional encoding. + Args: + x (torch.Tensor): Input tensor (batch, time, `*`). + Returns: + torch.Tensor: Encoded tensor (batch, time, `*`). + torch.Tensor: Positional embedding tensor (1, time, `*`). + """ + self.extend_pe(x) + x = x * self.xscale + pos_emb = self.pe[:, : x.size(1)] + return self.dropout(x) + self.dropout(pos_emb) diff --git a/modules/commons/rotary_embedding_torch.py b/modules/commons/rotary_embedding_torch.py new file mode 100644 index 0000000..1a1fa19 --- /dev/null +++ b/modules/commons/rotary_embedding_torch.py @@ -0,0 +1,63 @@ +import torch +from einops import rearrange, repeat +from torch import einsum, Tensor +from torch.nn import Module + + +def rotate_half(x: Tensor, interleaved=True) -> Tensor: + if not interleaved: + # x_half1, x_half2 = x.chunk(2, dim=-1) + # Using torch.split instead of chunk for ONNX export compatibility. + x1, x2 = torch.split(x, x.size(-1) // 2, dim=-1) + return torch.cat((-x2, x1), dim=-1) + else: + x = rearrange(x, '... (d r) -> ... d r', r=2) + x1, x2 = x.unbind(dim=-1) + x = torch.stack((-x2, x1), dim=-1) + return rearrange(x, '... d r -> ... (d r)') + + +def apply_rotary_emb(freqs: Tensor, t: Tensor, interleaved=True) -> Tensor: + rot_dim = freqs.shape[-1] + t_to_rotate = t[..., :rot_dim] + t_pass_through = t[..., rot_dim:] + + t_rotated = (t_to_rotate * freqs.cos()) + (rotate_half(t_to_rotate, interleaved) * freqs.sin()) + + return torch.cat((t_rotated, t_pass_through), dim=-1) + + +class RotaryEmbedding(Module): + def __init__( + self, + dim, + theta=10000, + max_seq_len=8192, + interleaved: bool = True + ): + super().__init__() + self.interleaved = interleaved + self.cached_freqs_seq_len = max_seq_len + inv_freq = 1. / (theta ** (torch.arange(0, dim, 2).float() / dim)) + self.register_buffer('inv_freq', inv_freq, persistent=False) + self.register_buffer('cached_freqs', self._precompute_cache(max_seq_len), persistent=False) + + def _precompute_cache(self, seq_len: int): + seq = torch.arange(seq_len, device=self.inv_freq.device, dtype=self.inv_freq.dtype) + freqs = einsum('i, j -> i j', seq, self.inv_freq) + if self.interleaved: + freqs = repeat(freqs, '... n -> ... (n r)', r=2) + else: + freqs = torch.cat((freqs, freqs), dim=-1) + return freqs + + def forward(self, seq_len: int) -> Tensor: + if seq_len > self.cached_freqs_seq_len: + raise RuntimeError("sequence exceeds RoPE max_seq_len!") + return self.cached_freqs[0: seq_len].detach() + + def rotate_queries_or_keys(self, t: Tensor) -> Tensor: + device, dtype, seq_len = t.device, t.dtype, t.shape[-2] + freqs = self.forward(seq_len=seq_len) + + return apply_rotary_emb(freqs.to(device=device, dtype=dtype), t, self.interleaved) diff --git a/modules/compat.py b/modules/compat.py new file mode 100644 index 0000000..8311b16 --- /dev/null +++ b/modules/compat.py @@ -0,0 +1,24 @@ +def get_backbone_type(root_config: dict, nested_config: dict = None): + if nested_config is None: + nested_config = root_config + return nested_config.get( + 'backbone_type', + root_config.get( + 'backbone_type', + root_config.get('diff_decoder_type', 'wavenet') + ) + ) + + +def get_backbone_args(config: dict, backbone_type: str): + args = config.get('backbone_args') + if args is not None: + return args + elif backbone_type == 'wavenet': + return { + 'num_layers': config.get('residual_layers'), + 'num_channels': config.get('residual_channels'), + 'dilation_cycle_length': config.get('dilation_cycle_length'), + } + else: + return None diff --git a/modules/core/__init__.py b/modules/core/__init__.py new file mode 100644 index 0000000..ab38ee1 --- /dev/null +++ b/modules/core/__init__.py @@ -0,0 +1,2 @@ +from .ddpm import GaussianDiffusion, PitchDiffusion, MultiVarianceDiffusion +from .reflow import RectifiedFlow, PitchRectifiedFlow, MultiVarianceRectifiedFlow diff --git a/modules/core/ddpm.py b/modules/core/ddpm.py new file mode 100644 index 0000000..85b1284 --- /dev/null +++ b/modules/core/ddpm.py @@ -0,0 +1,509 @@ +from __future__ import annotations + +from collections import deque +from functools import partial +from typing import List, Tuple + +import numpy as np +import torch +from torch import nn +from tqdm import tqdm + +from modules.backbones import build_backbone +from utils.hparams import hparams + + +def extract(a, t, x_shape): + b, *_ = t.shape + out = a.gather(-1, t) + return out.reshape(b, *((1,) * (len(x_shape) - 1))) + + +def noise_like(shape, device, repeat=False): + repeat_noise = lambda: torch.randn((1, *shape[1:]), device=device).repeat(shape[0], *((1,) * (len(shape) - 1))) + noise = lambda: torch.randn(shape, device=device) + return repeat_noise() if repeat else noise() + + +def linear_beta_schedule(timesteps, max_beta=0.01): + """ + linear schedule + """ + betas = np.linspace(1e-4, max_beta, timesteps) + return betas + + +def cosine_beta_schedule(timesteps, s=0.008): + """ + cosine schedule + as proposed in https://openreview.net/forum?id=-NEXDKk8gZ + """ + steps = timesteps + 1 + x = np.linspace(0, steps, steps) + alphas_cumprod = np.cos(((x / steps) + s) / (1 + s) * np.pi * 0.5) ** 2 + alphas_cumprod = alphas_cumprod / alphas_cumprod[0] + betas = 1 - (alphas_cumprod[1:] / alphas_cumprod[:-1]) + return np.clip(betas, a_min=0, a_max=0.999) + + +beta_schedule = { + "cosine": cosine_beta_schedule, + "linear": linear_beta_schedule, +} + + +class GaussianDiffusion(nn.Module): + def __init__(self, out_dims, num_feats=1, timesteps=1000, k_step=1000, + backbone_type=None, backbone_args=None, betas=None, + spec_min=None, spec_max=None): + super().__init__() + self.denoise_fn: nn.Module = build_backbone(out_dims, num_feats, backbone_type, backbone_args) + self.out_dims = out_dims + self.num_feats = num_feats + + if betas is not None: + betas = betas.detach().cpu().numpy() if isinstance(betas, torch.Tensor) else betas + else: + schedule_args = {} + if hparams['schedule_type'] == 'linear': + schedule_args['max_beta'] = hparams.get('max_beta', 0.01) + betas = beta_schedule[hparams['schedule_type']](timesteps, **schedule_args) + + alphas = 1. - betas + alphas_cumprod = np.cumprod(alphas, axis=0) + alphas_cumprod_prev = np.append(1., alphas_cumprod[:-1]) + + self.use_shallow_diffusion = hparams.get('use_shallow_diffusion', False) + if self.use_shallow_diffusion: + assert k_step <= timesteps, 'K_step should not be larger than timesteps.' + self.timesteps = timesteps + self.k_step = k_step if self.use_shallow_diffusion else timesteps + self.noise_list = deque(maxlen=4) + + to_torch = partial(torch.tensor, dtype=torch.float32) + + self.register_buffer('betas', to_torch(betas)) + self.register_buffer('alphas_cumprod', to_torch(alphas_cumprod)) + self.register_buffer('alphas_cumprod_prev', to_torch(alphas_cumprod_prev)) + + # calculations for diffusion q(x_t | x_{t-1}) and others + self.register_buffer('sqrt_alphas_cumprod', to_torch(np.sqrt(alphas_cumprod))) + self.register_buffer('sqrt_one_minus_alphas_cumprod', to_torch(np.sqrt(1. - alphas_cumprod))) + self.register_buffer('log_one_minus_alphas_cumprod', to_torch(np.log(1. - alphas_cumprod))) + self.register_buffer('sqrt_recip_alphas_cumprod', to_torch(np.sqrt(1. / alphas_cumprod))) + self.register_buffer('sqrt_recipm1_alphas_cumprod', to_torch(np.sqrt(1. / alphas_cumprod - 1))) + + # calculations for posterior q(x_{t-1} | x_t, x_0) + posterior_variance = betas * (1. - alphas_cumprod_prev) / (1. - alphas_cumprod) + # above: equal to 1. / (1. / (1. - alpha_cumprod_tm1) + alpha_t / beta_t) + self.register_buffer('posterior_variance', to_torch(posterior_variance)) + # below: log calculation clipped because the posterior variance is 0 at the beginning of the diffusion chain + self.register_buffer('posterior_log_variance_clipped', to_torch(np.log(np.maximum(posterior_variance, 1e-20)))) + self.register_buffer('posterior_mean_coef1', to_torch( + betas * np.sqrt(alphas_cumprod_prev) / (1. - alphas_cumprod))) + self.register_buffer('posterior_mean_coef2', to_torch( + (1. - alphas_cumprod_prev) * np.sqrt(alphas) / (1. - alphas_cumprod))) + + # spec: [B, T, M] or [B, F, T, M] + # spec_min and spec_max: [1, 1, M] or [1, 1, F, M] => transpose(-3, -2) => [1, 1, M] or [1, F, 1, M] + spec_min = torch.FloatTensor(spec_min)[None, None, :out_dims].transpose(-3, -2) + spec_max = torch.FloatTensor(spec_max)[None, None, :out_dims].transpose(-3, -2) + self.register_buffer('spec_min', spec_min) + self.register_buffer('spec_max', spec_max) + + # for compatibility with ONNX continuous acceleration + self.time_scale_factor = self.timesteps + self.t_start = 1 - self.k_step / self.timesteps + factors = torch.LongTensor([i for i in range(1, self.timesteps + 1) if self.timesteps % i == 0]) + self.register_buffer('timestep_factors', factors, persistent=False) + + def q_mean_variance(self, x_start, t): + mean = extract(self.sqrt_alphas_cumprod, t, x_start.shape) * x_start + variance = extract(1. - self.alphas_cumprod, t, x_start.shape) + log_variance = extract(self.log_one_minus_alphas_cumprod, t, x_start.shape) + return mean, variance, log_variance + + def predict_start_from_noise(self, x_t, t, noise): + return ( + extract(self.sqrt_recip_alphas_cumprod, t, x_t.shape) * x_t - + extract(self.sqrt_recipm1_alphas_cumprod, t, x_t.shape) * noise + ) + + def q_posterior(self, x_start, x_t, t): + posterior_mean = ( + extract(self.posterior_mean_coef1, t, x_t.shape) * x_start + + extract(self.posterior_mean_coef2, t, x_t.shape) * x_t + ) + posterior_variance = extract(self.posterior_variance, t, x_t.shape) + posterior_log_variance_clipped = extract(self.posterior_log_variance_clipped, t, x_t.shape) + return posterior_mean, posterior_variance, posterior_log_variance_clipped + + def p_mean_variance(self, x, t, cond): + noise_pred = self.denoise_fn(x, t, cond=cond) + x_recon = self.predict_start_from_noise(x, t=t, noise=noise_pred) + + # This is previously inherited from original DiffSinger repository + # and disabled due to some loudness issues when speedup = 1. + # x_recon.clamp_(-1., 1.) + + model_mean, posterior_variance, posterior_log_variance = self.q_posterior(x_start=x_recon, x_t=x, t=t) + return model_mean, posterior_variance, posterior_log_variance + + @torch.no_grad() + def p_sample(self, x, t, cond, clip_denoised=True, repeat_noise=False): + b, *_, device = *x.shape, x.device + model_mean, _, model_log_variance = self.p_mean_variance(x=x, t=t, cond=cond) + noise = noise_like(x.shape, device, repeat_noise) + # no noise when t == 0 + nonzero_mask = (1 - (t == 0).float()).reshape(b, *((1,) * (len(x.shape) - 1))) + return model_mean + nonzero_mask * (0.5 * model_log_variance).exp() * noise + + @torch.no_grad() + def p_sample_ddim(self, x, t, interval, cond): + a_t = extract(self.alphas_cumprod, t, x.shape) + a_prev = extract(self.alphas_cumprod, torch.max(t - interval, torch.zeros_like(t)), x.shape) + + noise_pred = self.denoise_fn(x, t, cond=cond) + x_prev = a_prev.sqrt() * ( + x / a_t.sqrt() + (((1 - a_prev) / a_prev).sqrt() - ((1 - a_t) / a_t).sqrt()) * noise_pred + ) + return x_prev + + @torch.no_grad() + def p_sample_plms(self, x, t, interval, cond, clip_denoised=True, repeat_noise=False): + """ + Use the PLMS method from + [Pseudo Numerical Methods for Diffusion Models on Manifolds](https://arxiv.org/abs/2202.09778). + """ + + def get_x_pred(x, noise_t, t): + a_t = extract(self.alphas_cumprod, t, x.shape) + a_prev = extract(self.alphas_cumprod, torch.max(t - interval, torch.zeros_like(t)), x.shape) + a_t_sq, a_prev_sq = a_t.sqrt(), a_prev.sqrt() + + x_delta = (a_prev - a_t) * ((1 / (a_t_sq * (a_t_sq + a_prev_sq))) * x - 1 / ( + a_t_sq * (((1 - a_prev) * a_t).sqrt() + ((1 - a_t) * a_prev).sqrt())) * noise_t) + x_pred = x + x_delta + + return x_pred + + noise_list = self.noise_list + noise_pred = self.denoise_fn(x, t, cond=cond) + + if len(noise_list) == 0: + x_pred = get_x_pred(x, noise_pred, t) + noise_pred_prev = self.denoise_fn(x_pred, max(t - interval, 0), cond=cond) + noise_pred_prime = (noise_pred + noise_pred_prev) / 2 + elif len(noise_list) == 1: + noise_pred_prime = (3 * noise_pred - noise_list[-1]) / 2 + elif len(noise_list) == 2: + noise_pred_prime = (23 * noise_pred - 16 * noise_list[-1] + 5 * noise_list[-2]) / 12 + else: + noise_pred_prime = (55 * noise_pred - 59 * noise_list[-1] + 37 * noise_list[-2] - 9 * noise_list[-3]) / 24 + + x_prev = get_x_pred(x, noise_pred_prime, t) + noise_list.append(noise_pred) + + return x_prev + + def q_sample(self, x_start, t, noise): + return ( + extract(self.sqrt_alphas_cumprod, t, x_start.shape) * x_start + + extract(self.sqrt_one_minus_alphas_cumprod, t, x_start.shape) * noise + ) + + def p_losses(self, x_start, t, cond, noise=None): + if noise is None: + noise = torch.randn_like(x_start) + + x_noisy = self.q_sample(x_start=x_start, t=t, noise=noise) + x_recon = self.denoise_fn(x_noisy, t, cond) + + return x_recon, noise + + def inference(self, cond, b=1, x_start=None, device=None): + depth = hparams.get('K_step_infer', self.k_step) + speedup = hparams['diff_speedup'] + if speedup > 0: + assert depth % speedup == 0, f'Acceleration ratio must be a factor of diffusion depth {depth}.' + + noise = torch.randn(b, self.num_feats, self.out_dims, cond.shape[2], device=device) + if self.use_shallow_diffusion: + t_max = min(depth, self.k_step) + else: + t_max = self.k_step + + if t_max >= self.timesteps: + x = noise + elif t_max > 0: + assert x_start is not None, 'Missing shallow diffusion source.' + x = self.q_sample( + x_start, torch.full((b,), t_max - 1, device=device, dtype=torch.long), noise + ) + else: + assert x_start is not None, 'Missing shallow diffusion source.' + x = x_start + + if speedup > 1 and t_max > 0: + algorithm = hparams['diff_accelerator'] + if algorithm == 'dpm-solver': + from inference.dpm_solver_pytorch import NoiseScheduleVP, model_wrapper, DPM_Solver + # 1. Define the noise schedule. + noise_schedule = NoiseScheduleVP(schedule='discrete', betas=self.betas[:t_max]) + + # 2. Convert your discrete-time `model` to the continuous-time + # noise prediction model. Here is an example for a diffusion model + # `model` with the noise prediction type ("noise") . + def my_wrapper(fn): + def wrapped(x, t, **kwargs): + ret = fn(x, t, **kwargs) + self.bar.update(1) + return ret + + return wrapped + + model_fn = model_wrapper( + my_wrapper(self.denoise_fn), + noise_schedule, + model_type="noise", # or "x_start" or "v" or "score" + model_kwargs={"cond": cond} + ) + + # 3. Define dpm-solver and sample by singlestep DPM-Solver. + # (We recommend singlestep DPM-Solver for unconditional sampling) + # You can adjust the `steps` to balance the computation + # costs and the sample quality. + dpm_solver = DPM_Solver(model_fn, noise_schedule, algorithm_type="dpmsolver++") + + steps = t_max // hparams["diff_speedup"] + self.bar = tqdm(desc="sample time step", total=steps, disable=not hparams['infer'], leave=False) + x = dpm_solver.sample( + x, + steps=steps, + order=2, + skip_type="time_uniform", + method="multistep", + ) + self.bar.close() + elif algorithm == 'unipc': + from inference.uni_pc import NoiseScheduleVP, model_wrapper, UniPC + # 1. Define the noise schedule. + noise_schedule = NoiseScheduleVP(schedule='discrete', betas=self.betas[:t_max]) + + # 2. Convert your discrete-time `model` to the continuous-time + # noise prediction model. Here is an example for a diffusion model + # `model` with the noise prediction type ("noise") . + def my_wrapper(fn): + def wrapped(x, t, **kwargs): + ret = fn(x, t, **kwargs) + self.bar.update(1) + return ret + + return wrapped + + model_fn = model_wrapper( + my_wrapper(self.denoise_fn), + noise_schedule, + model_type="noise", # or "x_start" or "v" or "score" + model_kwargs={"cond": cond} + ) + + # 3. Define uni_pc and sample by multistep UniPC. + # You can adjust the `steps` to balance the computation + # costs and the sample quality. + uni_pc = UniPC(model_fn, noise_schedule, variant='bh2') + + steps = t_max // hparams["diff_speedup"] + self.bar = tqdm(desc="sample time step", total=steps, disable=not hparams['infer'], leave=False) + x = uni_pc.sample( + x, + steps=steps, + order=2, + skip_type="time_uniform", + method="multistep", + ) + self.bar.close() + elif algorithm == 'pndm': + self.noise_list = deque(maxlen=4) + iteration_interval = speedup + for i in tqdm( + reversed(range(0, t_max, iteration_interval)), desc='sample time step', + total=t_max // iteration_interval, disable=not hparams['infer'], leave=False + ): + x = self.p_sample_plms( + x, torch.full((b,), i, device=device, dtype=torch.long), + iteration_interval, cond=cond + ) + elif algorithm == 'ddim': + iteration_interval = speedup + for i in tqdm( + reversed(range(0, t_max, iteration_interval)), desc='sample time step', + total=t_max // iteration_interval, disable=not hparams['infer'], leave=False + ): + x = self.p_sample_ddim( + x, torch.full((b,), i, device=device, dtype=torch.long), + iteration_interval, cond=cond + ) + else: + raise ValueError(f"Unsupported acceleration algorithm for DDPM: {algorithm}.") + else: + for i in tqdm(reversed(range(0, t_max)), desc='sample time step', total=t_max, + disable=not hparams['infer'], leave=False): + x = self.p_sample(x, torch.full((b,), i, device=device, dtype=torch.long), cond) + x = x.transpose(2, 3).squeeze(1) # [B, F, M, T] => [B, T, M] or [B, F, T, M] + return x + + def forward(self, condition, gt_spec=None, src_spec=None, infer=True): + """ + conditioning diffusion, use fastspeech2 encoder output as the condition + """ + cond = condition.transpose(1, 2) + b, device = condition.shape[0], condition.device + + if not infer: + # gt_spec: [B, T, M] or [B, F, T, M] + spec = self.norm_spec(gt_spec).transpose(-2, -1) # [B, M, T] or [B, F, M, T] + if self.num_feats == 1: + spec = spec[:, None, :, :] # [B, F=1, M, T] + t = torch.randint(0, self.k_step, (b,), device=device).long() + x_recon, noise = self.p_losses(spec, t, cond=cond) + return x_recon, noise + else: + # src_spec: [B, T, M] or [B, F, T, M] + if src_spec is not None: + spec = self.norm_spec(src_spec).transpose(-2, -1) + if self.num_feats == 1: + spec = spec[:, None, :, :] + else: + spec = None + x = self.inference(cond, b=b, x_start=spec, device=device) + return self.denorm_spec(x) + + def norm_spec(self, x): + return (x - self.spec_min) / (self.spec_max - self.spec_min) * 2 - 1 + + def denorm_spec(self, x): + return (x + 1) / 2 * (self.spec_max - self.spec_min) + self.spec_min + + +class RepetitiveDiffusion(GaussianDiffusion): + def __init__(self, vmin: float | int | list, vmax: float | int | list, + repeat_bins: int, timesteps=1000, k_step=1000, + backbone_type=None, backbone_args=None, + betas=None): + assert (isinstance(vmin, (float, int)) and isinstance(vmax, (float, int))) or len(vmin) == len(vmax) + num_feats = 1 if isinstance(vmin, (float, int)) else len(vmin) + spec_min = [vmin] if num_feats == 1 else [[v] for v in vmin] + spec_max = [vmax] if num_feats == 1 else [[v] for v in vmax] + self.repeat_bins = repeat_bins + super().__init__( + out_dims=repeat_bins, num_feats=num_feats, + timesteps=timesteps, k_step=k_step, + backbone_type=backbone_type, backbone_args=backbone_args, + betas=betas, spec_min=spec_min, spec_max=spec_max + ) + + def norm_spec(self, x): + """ + + :param x: [B, T] or [B, F, T] + :return [B, T, R] or [B, F, T, R] + """ + if self.num_feats == 1: + repeats = [1, 1, self.repeat_bins] + else: + repeats = [1, 1, 1, self.repeat_bins] + return super().norm_spec(x.unsqueeze(-1).repeat(repeats)) + + def denorm_spec(self, x): + """ + + :param x: [B, T, R] or [B, F, T, R] + :return [B, T] or [B, F, T] + """ + return super().denorm_spec(x).mean(dim=-1) + + +class PitchDiffusion(RepetitiveDiffusion): + def __init__(self, vmin: float, vmax: float, + cmin: float, cmax: float, repeat_bins, + timesteps=1000, k_step=1000, + backbone_type=None, backbone_args=None, + betas=None): + self.vmin = vmin # norm min + self.vmax = vmax # norm max + self.cmin = cmin # clip min + self.cmax = cmax # clip max + super().__init__( + vmin=vmin, vmax=vmax, repeat_bins=repeat_bins, + timesteps=timesteps, k_step=k_step, + backbone_type=backbone_type, backbone_args=backbone_args, + betas=betas + ) + + def norm_spec(self, x): + return super().norm_spec(x.clamp(min=self.cmin, max=self.cmax)) + + def denorm_spec(self, x): + return super().denorm_spec(x).clamp(min=self.cmin, max=self.cmax) + + +class MultiVarianceDiffusion(RepetitiveDiffusion): + def __init__( + self, ranges: List[Tuple[float, float]], + clamps: List[Tuple[float | None, float | None] | None], + repeat_bins, timesteps=1000, k_step=1000, + backbone_type=None, backbone_args=None, + betas=None + ): + assert len(ranges) == len(clamps) + self.clamps = clamps + vmin = [r[0] for r in ranges] + vmax = [r[1] for r in ranges] + if len(vmin) == 1: + vmin = vmin[0] + if len(vmax) == 1: + vmax = vmax[0] + super().__init__( + vmin=vmin, vmax=vmax, repeat_bins=repeat_bins, + timesteps=timesteps, k_step=k_step, + backbone_type=backbone_type, backbone_args=backbone_args, + betas=betas + ) + + def clamp_spec(self, xs: list | tuple): + clamped = [] + for x, c in zip(xs, self.clamps): + if c is None: + clamped.append(x) + continue + clamped.append(x.clamp(min=c[0], max=c[1])) + return clamped + + def norm_spec(self, xs: list | tuple): + """ + + :param xs: sequence of [B, T] + :return: [B, F, T] => super().norm_spec(xs) => [B, F, T, R] + """ + assert len(xs) == self.num_feats + clamped = self.clamp_spec(xs) + xs = torch.stack(clamped, dim=1) # [B, F, T] + if self.num_feats == 1: + xs = xs.squeeze(1) # [B, T] + return super().norm_spec(xs) + + def denorm_spec(self, xs): + """ + + :param xs: [B, T, R] or [B, F, T, R] => super().denorm_spec(xs) => [B, T] or [B, F, T] + :return: sequence of [B, T] + """ + xs = super().denorm_spec(xs) + if self.num_feats == 1: + xs = [xs] + else: + xs = xs.unbind(dim=1) + assert len(xs) == self.num_feats + return self.clamp_spec(xs) + diff --git a/modules/core/reflow.py b/modules/core/reflow.py new file mode 100644 index 0000000..c2f9f1e --- /dev/null +++ b/modules/core/reflow.py @@ -0,0 +1,262 @@ +from __future__ import annotations + +from typing import List, Tuple + +import torch +import torch.nn as nn +from tqdm import tqdm + +from modules.backbones import build_backbone +from utils.hparams import hparams + + +class RectifiedFlow(nn.Module): + def __init__(self, out_dims, num_feats=1, t_start=0., time_scale_factor=1000, + backbone_type=None, backbone_args=None, + spec_min=None, spec_max=None): + super().__init__() + self.velocity_fn: nn.Module = build_backbone(out_dims, num_feats, backbone_type, backbone_args) + self.out_dims = out_dims + self.num_feats = num_feats + self.use_shallow_diffusion = hparams.get('use_shallow_diffusion', False) + if self.use_shallow_diffusion: + assert 0. <= t_start <= 1., 'T_start should be in [0, 1].' + else: + t_start = 0. + self.t_start = t_start + self.time_scale_factor = time_scale_factor + + # spec: [B, T, M] or [B, F, T, M] + # spec_min and spec_max: [1, 1, M] or [1, 1, F, M] => transpose(-3, -2) => [1, 1, M] or [1, F, 1, M] + spec_min = torch.FloatTensor(spec_min)[None, None, :out_dims].transpose(-3, -2) + spec_max = torch.FloatTensor(spec_max)[None, None, :out_dims].transpose(-3, -2) + self.register_buffer('spec_min', spec_min, persistent=False) + self.register_buffer('spec_max', spec_max, persistent=False) + + def p_losses(self, x_end, t, cond): + x_start = torch.randn_like(x_end) + x_t = x_start + t[:, None, None, None] * (x_end - x_start) + v_pred = self.velocity_fn(x_t, t * self.time_scale_factor, cond) + + return v_pred, x_end - x_start + + def forward(self, condition, gt_spec=None, src_spec=None, infer=True): + cond = condition.transpose(1, 2) + b, device = condition.shape[0], condition.device + + if not infer: + # gt_spec: [B, T, M] or [B, F, T, M] + spec = self.norm_spec(gt_spec).transpose(-2, -1) # [B, M, T] or [B, F, M, T] + if self.num_feats == 1: + spec = spec[:, None, :, :] # [B, F=1, M, T] + t = self.t_start + (1.0 - self.t_start) * torch.rand((b,), device=device) + v_pred, v_gt = self.p_losses(spec, t, cond=cond) + return v_pred, v_gt, t + else: + # src_spec: [B, T, M] or [B, F, T, M] + if src_spec is not None: + spec = self.norm_spec(src_spec).transpose(-2, -1) + if self.num_feats == 1: + spec = spec[:, None, :, :] + else: + spec = None + x = self.inference(cond, b=b, x_end=spec, device=device) + return self.denorm_spec(x) + + @torch.no_grad() + def sample_euler(self, x, t, dt, cond): + x += self.velocity_fn(x, self.time_scale_factor * t, cond) * dt + t += dt + return x, t + + @torch.no_grad() + def sample_rk2(self, x, t, dt, cond): + k_1 = self.velocity_fn(x, self.time_scale_factor * t, cond) + k_2 = self.velocity_fn(x + 0.5 * k_1 * dt, self.time_scale_factor * (t + 0.5 * dt), cond) + x += k_2 * dt + t += dt + return x, t + + @torch.no_grad() + def sample_rk4(self, x, t, dt, cond): + k_1 = self.velocity_fn(x, self.time_scale_factor * t, cond) + k_2 = self.velocity_fn(x + 0.5 * k_1 * dt, self.time_scale_factor * (t + 0.5 * dt), cond) + k_3 = self.velocity_fn(x + 0.5 * k_2 * dt, self.time_scale_factor * (t + 0.5 * dt), cond) + k_4 = self.velocity_fn(x + k_3 * dt, self.time_scale_factor * (t + dt), cond) + x += (k_1 + 2 * k_2 + 2 * k_3 + k_4) * dt / 6 + t += dt + return x, t + + @torch.no_grad() + def sample_rk5(self, x, t, dt, cond): + k_1 = self.velocity_fn(x, self.time_scale_factor * t, cond) + k_2 = self.velocity_fn(x + 0.25 * k_1 * dt, self.time_scale_factor * (t + 0.25 * dt), cond) + k_3 = self.velocity_fn(x + 0.125 * (k_2 + k_1) * dt, self.time_scale_factor * (t + 0.25 * dt), cond) + k_4 = self.velocity_fn(x + 0.5 * (-k_2 + 2 * k_3) * dt, self.time_scale_factor * (t + 0.5 * dt), cond) + k_5 = self.velocity_fn(x + 0.0625 * (3 * k_1 + 9 * k_4) * dt, self.time_scale_factor * (t + 0.75 * dt), cond) + k_6 = self.velocity_fn(x + (-3 * k_1 + 2 * k_2 + 12 * k_3 - 12 * k_4 + 8 * k_5) * dt / 7, + self.time_scale_factor * (t + dt), + cond) + x += (7 * k_1 + 32 * k_3 + 12 * k_4 + 32 * k_5 + 7 * k_6) * dt / 90 + t += dt + return x, t + + @torch.no_grad() + def inference(self, cond, b=1, x_end=None, device=None): + noise = torch.randn(b, self.num_feats, self.out_dims, cond.shape[2], device=device) + t_start = hparams.get('T_start_infer', self.t_start) + if self.use_shallow_diffusion and t_start > 0: + assert x_end is not None, 'Missing shallow diffusion source.' + if t_start >= 1.: + t_start = 1. + x = x_end + else: + x = t_start * x_end + (1 - t_start) * noise + else: + t_start = 0. + x = noise + + algorithm = hparams['sampling_algorithm'] + infer_step = hparams['sampling_steps'] + + if t_start < 1: + dt = (1.0 - t_start) / max(1, infer_step) + algorithm_fn = { + 'euler': self.sample_euler, + 'rk2': self.sample_rk2, + 'rk4': self.sample_rk4, + 'rk5': self.sample_rk5, + }.get(algorithm) + if algorithm_fn is None: + raise ValueError(f'Unsupported algorithm for Rectified Flow: {algorithm}.') + dts = torch.tensor([dt]).to(x) + for i in tqdm(range(infer_step), desc='sample time step', total=infer_step, + disable=not hparams['infer'], leave=False): + x, _ = algorithm_fn(x, t_start + i * dts, dt, cond) + x = x.float() + x = x.transpose(2, 3).squeeze(1) # [B, F, M, T] => [B, T, M] or [B, F, T, M] + return x + + def norm_spec(self, x): + return (x - self.spec_min) / (self.spec_max - self.spec_min) * 2 - 1 + + def denorm_spec(self, x): + return (x + 1) / 2 * (self.spec_max - self.spec_min) + self.spec_min + + +class RepetitiveRectifiedFlow(RectifiedFlow): + def __init__(self, vmin: float | int | list, vmax: float | int | list, + repeat_bins: int, time_scale_factor=1000, + backbone_type=None, backbone_args=None): + assert (isinstance(vmin, (float, int)) and isinstance(vmax, (float, int))) or len(vmin) == len(vmax) + num_feats = 1 if isinstance(vmin, (float, int)) else len(vmin) + spec_min = [vmin] if num_feats == 1 else [[v] for v in vmin] + spec_max = [vmax] if num_feats == 1 else [[v] for v in vmax] + self.repeat_bins = repeat_bins + super().__init__( + out_dims=repeat_bins, num_feats=num_feats, + time_scale_factor=time_scale_factor, + backbone_type=backbone_type, backbone_args=backbone_args, + spec_min=spec_min, spec_max=spec_max + ) + + def norm_spec(self, x): + """ + + :param x: [B, T] or [B, F, T] + :return [B, T, R] or [B, F, T, R] + """ + if self.num_feats == 1: + repeats = [1, 1, self.repeat_bins] + else: + repeats = [1, 1, 1, self.repeat_bins] + return super().norm_spec(x.unsqueeze(-1).repeat(repeats)) + + def denorm_spec(self, x): + """ + + :param x: [B, T, R] or [B, F, T, R] + :return [B, T] or [B, F, T] + """ + return super().denorm_spec(x).mean(dim=-1) + + +class PitchRectifiedFlow(RepetitiveRectifiedFlow): + def __init__(self, vmin: float, vmax: float, + cmin: float, cmax: float, repeat_bins, + time_scale_factor=1000, + backbone_type=None, backbone_args=None): + self.vmin = vmin # norm min + self.vmax = vmax # norm max + self.cmin = cmin # clip min + self.cmax = cmax # clip max + super().__init__( + vmin=vmin, vmax=vmax, repeat_bins=repeat_bins, + time_scale_factor=time_scale_factor, + backbone_type=backbone_type, backbone_args=backbone_args + ) + + def norm_spec(self, x): + return super().norm_spec(x.clamp(min=self.cmin, max=self.cmax)) + + def denorm_spec(self, x): + return super().denorm_spec(x).clamp(min=self.cmin, max=self.cmax) + + +class MultiVarianceRectifiedFlow(RepetitiveRectifiedFlow): + def __init__( + self, ranges: List[Tuple[float, float]], + clamps: List[Tuple[float | None, float | None] | None], + repeat_bins, time_scale_factor=1000, + backbone_type=None, backbone_args=None + ): + assert len(ranges) == len(clamps) + self.clamps = clamps + vmin = [r[0] for r in ranges] + vmax = [r[1] for r in ranges] + if len(vmin) == 1: + vmin = vmin[0] + if len(vmax) == 1: + vmax = vmax[0] + super().__init__( + vmin=vmin, vmax=vmax, repeat_bins=repeat_bins, + time_scale_factor=time_scale_factor, + backbone_type=backbone_type, backbone_args=backbone_args + ) + + def clamp_spec(self, xs: list | tuple): + clamped = [] + for x, c in zip(xs, self.clamps): + if c is None: + clamped.append(x) + continue + clamped.append(x.clamp(min=c[0], max=c[1])) + return clamped + + def norm_spec(self, xs: list | tuple): + """ + + :param xs: sequence of [B, T] + :return: [B, F, T] => super().norm_spec(xs) => [B, F, T, R] + """ + assert len(xs) == self.num_feats + clamped = self.clamp_spec(xs) + xs = torch.stack(clamped, dim=1) # [B, F, T] + if self.num_feats == 1: + xs = xs.squeeze(1) # [B, T] + return super().norm_spec(xs) + + def denorm_spec(self, xs): + """ + + :param xs: [B, T, R] or [B, F, T, R] => super().denorm_spec(xs) => [B, T] or [B, F, T] + :return: sequence of [B, T] + """ + xs = super().denorm_spec(xs) + if self.num_feats == 1: + xs = [xs] + else: + xs = xs.unbind(dim=1) + assert len(xs) == self.num_feats + return self.clamp_spec(xs) + diff --git a/modules/fastspeech/acoustic_encoder.py b/modules/fastspeech/acoustic_encoder.py new file mode 100644 index 0000000..cbd0480 --- /dev/null +++ b/modules/fastspeech/acoustic_encoder.py @@ -0,0 +1,185 @@ +import torch +import torch.nn as nn +from torch.nn import functional as F + +from modules.commons.common_layers import ( + NormalInitEmbedding as Embedding, + SinusoidalPosEmb, + AdamWLinear, +) +from modules.fastspeech.tts_modules import FastSpeech2Encoder, mel2ph_to_dur, StretchRegulator +from utils.hparams import hparams +from utils.phoneme_utils import PAD_INDEX + + +class FastSpeech2Acoustic(nn.Module): + def __init__(self, vocab_size): + super().__init__() + self.txt_embed = Embedding(vocab_size, hparams['hidden_size'], PAD_INDEX) + self.use_lang_id = hparams.get('use_lang_id', False) + if self.use_lang_id: + self.lang_embed = Embedding(hparams['num_lang'] + 1, hparams['hidden_size'], padding_idx=0) + + self.use_stretch_embed = hparams.get('use_stretch_embed', False) + if self.use_stretch_embed: + self.sr = StretchRegulator() + self.stretch_embed = nn.Sequential( + SinusoidalPosEmb(hparams['hidden_size']), + nn.Linear(hparams['hidden_size'], hparams['hidden_size'] * 4), + nn.GELU(), + nn.Linear(hparams['hidden_size'] * 4, hparams['hidden_size']), + ) + self.stretch_embed_rnn = nn.GRU(hparams['hidden_size'], hparams['hidden_size'], 1, batch_first=True) + self._stretch_embed_rnn_flattened = False + + self.dur_embed = AdamWLinear(1, hparams['hidden_size']) + self.use_mix_ln = hparams.get('use_mix_ln', False) + if self.use_mix_ln: + self.mix_ln_layer = hparams['mix_ln_layer'] + else: + self.mix_ln_layer = [] + self.encoder = FastSpeech2Encoder( + hidden_size=hparams['hidden_size'], num_layers=hparams['enc_layers'], + ffn_kernel_size=hparams['enc_ffn_kernel_size'], ffn_act=hparams['ffn_act'], + dropout=hparams['dropout'], num_heads=hparams['num_heads'], + use_pos_embed=hparams['use_pos_embed'], rel_pos=hparams.get('rel_pos', False), + use_rope=hparams.get('use_rope', False), rope_interleaved=hparams.get('rope_interleaved', True), + mix_ln_layer=self.mix_ln_layer + ) + + self.pitch_embed = AdamWLinear(1, hparams['hidden_size']) + self.variance_embed_list = [] + self.use_energy_embed = hparams.get('use_energy_embed', False) + self.use_breathiness_embed = hparams.get('use_breathiness_embed', False) + self.use_voicing_embed = hparams.get('use_voicing_embed', False) + self.use_tension_embed = hparams.get('use_tension_embed', False) + if self.use_energy_embed: + self.variance_embed_list.append('energy') + if self.use_breathiness_embed: + self.variance_embed_list.append('breathiness') + if self.use_voicing_embed: + self.variance_embed_list.append('voicing') + if self.use_tension_embed: + self.variance_embed_list.append('tension') + + self.use_variance_embeds = len(self.variance_embed_list) > 0 + if self.use_variance_embeds: + self.variance_embeds = nn.ModuleDict({ + v_name: AdamWLinear(1, hparams['hidden_size']) + for v_name in self.variance_embed_list + }) + + self.use_variance_scaling = hparams.get('use_variance_scaling', False) + if self.use_variance_scaling: + self.variance_scaling_factor = { + 'energy': 1. / 96, # 96 dB — max dynamic range of 16-bit audio + 'breathiness': 1. / 96, + 'voicing': 1. / 96, + 'tension': 0.1, # 1 / 10; tension logits are roughly [-10, 10] + 'key_shift': 1. / 12, # one octave — max key shift in most editors + 'speed': 1. + } + else: + self.variance_scaling_factor = { + 'energy': 1., + 'breathiness': 1., + 'voicing': 1., + 'tension': 1., + 'key_shift': 1., + 'speed': 1. + } + + self.use_key_shift_embed = hparams.get('use_key_shift_embed', False) + if self.use_key_shift_embed: + self.key_shift_embed = AdamWLinear(1, hparams['hidden_size']) + + self.use_speed_embed = hparams.get('use_speed_embed', False) + if self.use_speed_embed: + self.speed_embed = AdamWLinear(1, hparams['hidden_size']) + + self.use_spk_id = hparams['use_spk_id'] + if self.use_spk_id: + self.spk_embed = Embedding(hparams['num_spk'], hparams['hidden_size']) + + def forward_variance_embedding(self, condition, key_shift=None, speed=None, **variances): + if self.use_variance_embeds: + variance_embeds = torch.stack([ + self.variance_embeds[v_name](variances[v_name][:, :, None] * self.variance_scaling_factor[v_name]) + for v_name in self.variance_embed_list + ], dim=-1).sum(-1) + condition += variance_embeds + + if self.use_key_shift_embed: + key_shift_embed = self.key_shift_embed(key_shift[:, :, None] * self.variance_scaling_factor['key_shift']) + condition += key_shift_embed + + if self.use_speed_embed: + speed_embed = self.speed_embed(speed[:, :, None] * self.variance_scaling_factor['speed']) + condition += speed_embed + + return condition + + def forward( + self, txt_tokens, mel2ph, f0, + key_shift=None, speed=None, + spk_embed_id=None, languages=None, + **kwargs + ): + spk_embed = None + if self.use_spk_id: + spk_mix_embed = kwargs.get('spk_mix_embed') + if spk_mix_embed is not None: + spk_embed = spk_mix_embed + else: + spk_embed = self.spk_embed(spk_embed_id)[:, None, :] + txt_embed = self.txt_embed(txt_tokens) + dur = mel2ph_to_dur(mel2ph, txt_tokens.shape[1]) + if self.use_variance_scaling: + dur_embed = self.dur_embed(torch.log(1 + dur[:, :, None].float())) + else: + dur_embed = self.dur_embed(dur[:, :, None].float()) + if self.use_lang_id: + lang_embed = self.lang_embed(languages) + extra_embed = dur_embed + lang_embed + else: + extra_embed = dur_embed + encoder_out = self.encoder(txt_embed, extra_embed, txt_tokens == 0, spk_embed) + + encoder_out = F.pad(encoder_out, [0, 0, 1, 0]) + mel2ph_ = mel2ph[..., None].repeat([1, 1, encoder_out.shape[-1]]) + condition = torch.gather(encoder_out, 1, mel2ph_) + + if self.use_stretch_embed: + stretch = torch.round(1000 * self.sr(mel2ph, dur)) + if self.training and stretch.numel() > 1000: + # construct a phoneme stretching index lookup table with a total of 1001 indexes (0~1000) + table = self.stretch_embed(torch.arange(0, 1001, device=stretch.device)) + stretch_embed = torch.index_select(table, 0, stretch.view(-1).long()).view_as(condition) + else: + stretch_embed = self.stretch_embed(stretch) + condition += stretch_embed + # flatten_parameters fuses the GRU weights into a contiguous buffer for cuDNN. + # It only needs to happen once after weight init, device change, or load_state_dict. + # We guard with a flag to avoid the redundant call on every forward. + # Limitation: the flag lives on this module and is invisible to PyTorch. After + # load_state_dict() or model.to(device) replaces the GRU weights, the flag stays + # True and flatten_parameters is skipped — cuDNN will fall back to the slower path. + # To restore the fast path, reset the flag manually: model._stretch_embed_rnn_flattened = False + if not self._stretch_embed_rnn_flattened: + self.stretch_embed_rnn.flatten_parameters() + self._stretch_embed_rnn_flattened = True + stretch_embed_rnn_out, _ = self.stretch_embed_rnn(condition) + condition = condition + stretch_embed_rnn_out + + if self.use_spk_id: + condition += spk_embed + + f0_mel = (1 + f0 / 700).log() + pitch_embed = self.pitch_embed(f0_mel[:, :, None]) + condition += pitch_embed + + condition = self.forward_variance_embedding( + condition, key_shift=key_shift, speed=speed, **kwargs + ) + + return condition diff --git a/modules/fastspeech/param_adaptor.py b/modules/fastspeech/param_adaptor.py new file mode 100644 index 0000000..77ebb83 --- /dev/null +++ b/modules/fastspeech/param_adaptor.py @@ -0,0 +1,95 @@ +from __future__ import annotations + +import torch + +import modules.compat as compat +from modules.core.ddpm import MultiVarianceDiffusion +from utils import filter_kwargs +from utils.hparams import hparams + +VARIANCE_CHECKLIST = ['energy', 'breathiness', 'voicing', 'tension'] + + +class ParameterAdaptorModule(torch.nn.Module): + def __init__(self): + super().__init__() + self.variance_prediction_list = [] + self.predict_energy = hparams.get('predict_energy', False) + self.predict_breathiness = hparams.get('predict_breathiness', False) + self.predict_voicing = hparams.get('predict_voicing', False) + self.predict_tension = hparams.get('predict_tension', False) + if self.predict_energy: + self.variance_prediction_list.append('energy') + if self.predict_breathiness: + self.variance_prediction_list.append('breathiness') + if self.predict_voicing: + self.variance_prediction_list.append('voicing') + if self.predict_tension: + self.variance_prediction_list.append('tension') + self.predict_variances = len(self.variance_prediction_list) > 0 + + def build_adaptor(self, cls=MultiVarianceDiffusion): + ranges = [] + clamps = [] + + if self.predict_energy: + ranges.append(( + hparams['energy_db_min'], + hparams['energy_db_max'] + )) + clamps.append((hparams['energy_db_min'], 0.)) + + if self.predict_breathiness: + ranges.append(( + hparams['breathiness_db_min'], + hparams['breathiness_db_max'] + )) + clamps.append((hparams['breathiness_db_min'], 0.)) + + if self.predict_voicing: + ranges.append(( + hparams['voicing_db_min'], + hparams['voicing_db_max'] + )) + clamps.append((hparams['voicing_db_min'], 0.)) + + if self.predict_tension: + ranges.append(( + hparams['tension_logit_min'], + hparams['tension_logit_max'] + )) + clamps.append(( + hparams['tension_logit_min'], + hparams['tension_logit_max'] + )) + + variances_hparams = hparams['variances_prediction_args'] + total_repeat_bins = variances_hparams['total_repeat_bins'] + assert total_repeat_bins % len(self.variance_prediction_list) == 0, \ + f'Total number of repeat bins must be divisible by number of ' \ + f'variance parameters ({len(self.variance_prediction_list)}).' + repeat_bins = total_repeat_bins // len(self.variance_prediction_list) + backbone_type = compat.get_backbone_type(hparams, nested_config=variances_hparams) + backbone_args = compat.get_backbone_args(variances_hparams, backbone_type=backbone_type) + kwargs = filter_kwargs( + { + 'ranges': ranges, + 'clamps': clamps, + 'repeat_bins': repeat_bins, + 'timesteps': hparams.get('timesteps'), + 'time_scale_factor': hparams.get('time_scale_factor'), + 'backbone_type': backbone_type, + 'backbone_args': backbone_args + }, + cls + ) + return cls(**kwargs) + + def collect_variance_inputs(self, **kwargs) -> list: + return [kwargs.get(name) for name in self.variance_prediction_list] + + def collect_variance_outputs(self, variances: list | tuple) -> dict: + return { + name: pred + for name, pred in zip(self.variance_prediction_list, variances) + } diff --git a/modules/fastspeech/tts_modules.py b/modules/fastspeech/tts_modules.py new file mode 100644 index 0000000..10f7741 --- /dev/null +++ b/modules/fastspeech/tts_modules.py @@ -0,0 +1,455 @@ +import math + +import torch +import torch.nn as nn +from torch.nn import functional as F +from modules.commons.rotary_embedding_torch import RotaryEmbedding +from modules.commons.common_layers import SinusoidalPositionalEmbedding, EncSALayer, AdamWLinear +from modules.commons.espnet_positional_embedding import RelPositionalEncoding + +DEFAULT_MAX_SOURCE_POSITIONS = 2000 +DEFAULT_MAX_TARGET_POSITIONS = 2000 + + +class TransformerEncoderLayer(nn.Module): + def __init__(self, hidden_size, dropout, kernel_size=None, act='gelu', num_heads=2, rotary_embed=None, + layer_idx=None, mix_ln_layer=None): + super().__init__() + self.op = EncSALayer( + hidden_size, num_heads, dropout=dropout, + attention_dropout=0.0, relu_dropout=dropout, + kernel_size=kernel_size, + act=act, rotary_embed=rotary_embed, + layer_idx=layer_idx, mix_ln_layer=mix_ln_layer + ) + + def forward(self, x, **kwargs): + return self.op(x, **kwargs) + + +###################### +# fastspeech modules +###################### +class LayerNorm(torch.nn.LayerNorm): + """Layer normalization module. + :param int nout: output dim size + :param int dim: dimension to be normalized + """ + + def __init__(self, nout, dim=-1): + """Construct an LayerNorm object.""" + super(LayerNorm, self).__init__(nout, eps=1e-12) + self.dim = dim + + def forward(self, x): + """Apply layer normalization. + :param torch.Tensor x: input tensor + :return: layer normalized tensor + :rtype torch.Tensor + """ + if self.dim == -1: + return super(LayerNorm, self).forward(x) + return super(LayerNorm, self).forward(x.transpose(1, -1)).transpose(1, -1) + + +class DurationPredictor(torch.nn.Module): + """Duration predictor module. + This is a module of duration predictor described in `FastSpeech: Fast, Robust and Controllable Text to Speech`_. + The duration predictor predicts a duration of each frame in log domain from the hidden embeddings of encoder. + .. _`FastSpeech: Fast, Robust and Controllable Text to Speech`: + https://arxiv.org/pdf/1905.09263.pdf + Note: + The calculation domain of outputs is different between in `forward` and in `inference`. In `forward`, + the outputs are calculated in log domain but in `inference`, those are calculated in linear domain. + """ + + def __init__(self, in_dims, n_layers=2, n_chans=384, kernel_size=3, + dropout_rate=0.1, offset=1.0, dur_loss_type='mse', arch='resnet'): + """Initialize duration predictor module. + Args: + in_dims (int): Input dimension. + n_layers (int, optional): Number of convolutional layers. + n_chans (int, optional): Number of channels of convolutional layers. + kernel_size (int, optional): Kernel size of convolutional layers. + dropout_rate (float, optional): Dropout rate. + offset (float, optional): Offset value to avoid nan in log domain. + """ + super(DurationPredictor, self).__init__() + self.offset = offset + self.conv = torch.nn.ModuleList() + self.kernel_size = kernel_size + self.use_resnet = (arch == 'resnet') + for idx in range(n_layers): + in_chans = in_dims if idx == 0 else n_chans + if self.use_resnet: + self.conv.append(nn.Sequential( + LayerNorm(in_chans, dim=1), + nn.Conv1d(in_chans, n_chans, kernel_size, stride=1, padding=kernel_size // 2), + nn.ReLU(), + nn.Conv1d(n_chans, n_chans, 1), + nn.Dropout(dropout_rate) + )) + else: + self.conv.append(nn.Sequential( + nn.Identity(), # this is a placeholder for ConstantPad1d which is now merged into Conv1d + nn.Conv1d(in_chans, n_chans, kernel_size, stride=1, padding=kernel_size // 2), + nn.ReLU(), + LayerNorm(n_chans, dim=1), + nn.Dropout(dropout_rate) + )) + if self.use_resnet and in_dims != n_chans: + self.res_conv = nn.Conv1d(in_dims, n_chans, 1) + else: + self.res_conv = None + self.loss_type = dur_loss_type + if self.loss_type in ['mse', 'huber']: + self.out_dims = 1 + # elif hparams['dur_loss_type'] == 'mog': + # out_dims = 15 + # elif hparams['dur_loss_type'] == 'crf': + # out_dims = 32 + # from torchcrf import CRF + # self.crf = CRF(out_dims, batch_first=True) + else: + raise NotImplementedError() + self.linear = AdamWLinear(n_chans, self.out_dims) + + def out2dur(self, xs): + if self.loss_type in ['mse', 'huber']: + # NOTE: calculate loss in log domain + dur = xs.squeeze(-1).exp() - self.offset # (B, Tmax) + # elif hparams['dur_loss_type'] == 'crf': + # dur = torch.LongTensor(self.crf.decode(xs)).cuda() + else: + raise NotImplementedError() + return dur + + def forward(self, xs, x_masks=None, infer=True): + """Calculate forward propagation. + Args: + xs (Tensor): Batch of input sequences (B, Tmax, idim). + x_masks (BoolTensor, optional): Batch of masks indicating padded part (B, Tmax). + infer (bool): Whether inference + Returns: + (train) FloatTensor, (infer) LongTensor: Batch of predicted durations in linear domain (B, Tmax). + """ + xs = xs.transpose(1, -1) # (B, idim, Tmax) + masks = 1 - x_masks.float() + masks_ = masks[:, None, :] + for idx, f in enumerate(self.conv): + if self.use_resnet: + residual = self.res_conv(xs) if idx == 0 and self.res_conv is not None else xs + xs = residual + f(xs) + else: + xs = f(xs) + if x_masks is not None: + xs = xs * masks_ + xs = self.linear(xs.transpose(1, -1)) # [B, T, C] + xs = xs * masks[:, :, None] # (B, T, C) + + dur_pred = self.out2dur(xs) + if infer: + dur_pred = dur_pred.clamp(min=0.) # avoid negative value + return dur_pred + + +class VariancePredictor(torch.nn.Module): + def __init__(self, vmin, vmax, in_dims, + n_layers=5, n_chans=512, kernel_size=5, + dropout_rate=0.1): + """Initialize variance predictor module. + Args: + in_dims (int): Input dimension. + n_layers (int, optional): Number of convolutional layers. + n_chans (int, optional): Number of channels of convolutional layers. + kernel_size (int, optional): Kernel size of convolutional layers. + dropout_rate (float, optional): Dropout rate. + """ + super(VariancePredictor, self).__init__() + + self.vmin = vmin + self.vmax = vmax + self.conv = torch.nn.ModuleList() + self.kernel_size = kernel_size + for idx in range(n_layers): + in_chans = in_dims if idx == 0 else n_chans + self.conv.append(torch.nn.Sequential( + torch.nn.Conv1d(in_chans, n_chans, kernel_size, stride=1, padding=kernel_size // 2), + torch.nn.ReLU(), + LayerNorm(n_chans, dim=1), + torch.nn.Dropout(dropout_rate) + )) + self.linear = torch.nn.Linear(n_chans, 1) + self.embed_positions = SinusoidalPositionalEmbedding(in_dims, 0, init_size=4096) + self.pos_embed_alpha = nn.Parameter(torch.Tensor([1])) + + def out2value(self, xs): + return (xs + 1) / 2 * (self.vmax - self.vmin) + self.vmin + + def forward(self, xs, infer=True): + """ + :param xs: [B, T, H] + :param infer: whether inference + :return: [B, T] + """ + positions = self.pos_embed_alpha * self.embed_positions(xs[..., 0]) + xs = xs + positions + xs = xs.transpose(1, -1) # (B, idim, Tmax) + for f in self.conv: + xs = f(xs) # (B, C, Tmax) + xs = self.linear(xs.transpose(1, -1)).squeeze(-1) # (B, Tmax) + if infer: + xs = self.out2value(xs) + return xs + + +class PitchPredictor(torch.nn.Module): + def __init__(self, vmin, vmax, num_bins, deviation, + in_dims, n_layers=5, n_chans=384, kernel_size=5, + dropout_rate=0.1): + """Initialize pitch predictor module. + Args: + in_dims (int): Input dimension. + n_layers (int, optional): Number of convolutional layers. + n_chans (int, optional): Number of channels of convolutional layers. + kernel_size (int, optional): Kernel size of convolutional layers. + dropout_rate (float, optional): Dropout rate. + """ + super(PitchPredictor, self).__init__() + self.vmin = vmin + self.vmax = vmax + self.interval = (vmax - vmin) / (num_bins - 1) # align with centers of bins + self.sigma = deviation / self.interval + self.register_buffer('x', torch.arange(num_bins).float().reshape(1, 1, -1)) # [1, 1, N] + + self.base_pitch_embed = torch.nn.Linear(1, in_dims) + self.conv = torch.nn.ModuleList() + self.kernel_size = kernel_size + for idx in range(n_layers): + in_chans = in_dims if idx == 0 else n_chans + self.conv.append(torch.nn.Sequential( + torch.nn.Conv1d(in_chans, n_chans, kernel_size, stride=1, padding=kernel_size // 2), + torch.nn.ReLU(), + LayerNorm(n_chans, dim=1), + torch.nn.Dropout(dropout_rate) + )) + self.linear = torch.nn.Linear(n_chans, num_bins) + self.embed_positions = SinusoidalPositionalEmbedding(in_dims, 0, init_size=4096) + self.pos_embed_alpha = nn.Parameter(torch.Tensor([1])) + + def bins_to_values(self, bins): + return bins * self.interval + self.vmin + + def out2pitch(self, probs): + logits = probs.sigmoid() # [B, T, N] + # return logits + # logits_sum = logits.sum(dim=2) # [B, T] + bins = torch.sum(self.x * logits, dim=2) / torch.sum(logits, dim=2) # [B, T] + pitch = self.bins_to_values(bins) + # uv = logits_sum / (self.sigma * math.sqrt(2 * math.pi)) < 0.3 + # pitch[uv] = torch.nan + return pitch + + def forward(self, xs, base): + """ + :param xs: [B, T, H] + :param base: [B, T] + :return: [B, T, N] + """ + xs = xs + self.base_pitch_embed(base[..., None]) + positions = self.pos_embed_alpha * self.embed_positions(xs[..., 0]) + xs = xs + positions + xs = xs.transpose(1, -1) # (B, idim, Tmax) + for f in self.conv: + xs = f(xs) # (B, C, Tmax) + xs = self.linear(xs.transpose(1, -1)) # (B, Tmax, H) + return self.out2pitch(xs) + base, xs + + +class RhythmRegulator(torch.nn.Module): + def __init__(self, eps=1e-5): + super().__init__() + self.eps = eps + + def forward(self, ph_dur, ph2word, word_dur): + """ + Example (no batch dim version): + 1. ph_dur = [4,2,3,2] + 2. word_dur = [3,4,2], ph2word = [1,2,2,3] + 3. word_dur_in = [4,5,2] + 4. alpha_w = [0.75,0.8,1], alpha_ph = [0.75,0.8,0.8,1] + 5. ph_dur_out = [3,1.6,2.4,2] + :param ph_dur: [B, T_ph] + :param ph2word: [B, T_ph] + :param word_dur: [B, T_w] + """ + ph_dur = ph_dur.float() * (ph2word > 0) + word_dur = word_dur.float() + word_dur_in = ph_dur.new_zeros(ph_dur.shape[0], ph2word.max() + 1).scatter_add( + 1, ph2word, ph_dur + )[:, 1:] # [B, T_ph] => [B, T_w] + alpha_w = word_dur / word_dur_in.clamp(min=self.eps) # avoid dividing by zero + alpha_ph = torch.gather(F.pad(alpha_w, [1, 0]), 1, ph2word) # [B, T_w] => [B, T_ph] + ph_dur_out = ph_dur * alpha_ph + return ph_dur_out.round().long() + + +class LengthRegulator(torch.nn.Module): + # noinspection PyMethodMayBeStatic + def forward(self, dur, dur_padding=None, alpha=None): + """ + Example (no batch dim version): + 1. dur = [2,2,3] + 2. token_idx = [[1],[2],[3]], dur_cumsum = [2,4,7], dur_cumsum_prev = [0,2,4] + 3. token_mask = [[1,1,0,0,0,0,0], + [0,0,1,1,0,0,0], + [0,0,0,0,1,1,1]] + 4. token_idx * token_mask = [[1,1,0,0,0,0,0], + [0,0,2,2,0,0,0], + [0,0,0,0,3,3,3]] + 5. (token_idx * token_mask).sum(0) = [1,1,2,2,3,3,3] + + :param dur: Batch of durations of each frame (B, T_txt) + :param dur_padding: Batch of padding of each frame (B, T_txt) + :param alpha: duration rescale coefficient + :return: + mel2ph (B, T_speech) + """ + assert alpha is None or alpha > 0 + if alpha is not None: + dur = torch.round(dur.float() * alpha).long() + if dur_padding is not None: + dur = dur * (1 - dur_padding.long()) + token_idx = torch.arange(1, dur.shape[1] + 1)[None, :, None].to(dur.device) + dur_cumsum = torch.cumsum(dur, 1) + dur_cumsum_prev = F.pad(dur_cumsum, [1, -1], mode='constant', value=0) + + pos_idx = torch.arange(dur.sum(-1).max())[None, None].to(dur.device) + token_mask = (pos_idx >= dur_cumsum_prev[:, :, None]) & (pos_idx < dur_cumsum[:, :, None]) + mel2ph = (token_idx * token_mask.long()).sum(1) + return mel2ph + + +class StretchRegulator(torch.nn.Module): + # noinspection PyMethodMayBeStatic + def forward(self, mel2ph, dur=None): + """ + Example (no batch dim version): + 1. dur = [2,4,3] + 2. mel2ph = [1,1,2,2,2,2,3,3,3] + 3. mel2dur = [2,2,4,4,4,4,3,3,3] + 4. bound_mask = [0,1,0,0,0,1,0,0,1] + 5. 1 - bound_mask * mel2dur = [1,-1,1,1,1,-3,1,1,-2] => pad => [0,1,-1,1,1,1,-3,1,1] + 6. stretch_denorm = [0,1,0,1,2,3,0,1,2] + + :param dur: Batch of durations of each frame (B, T_txt) + :param mel2ph: Batch of mel2ph (B, T_speech) + :return: + stretch (B, T_speech) + """ + if dur is None: + dur = mel2ph_to_dur(mel2ph, mel2ph.max()) + dur = torch.cat([torch.ones_like(dur[:, :1]), dur], dim=1) # Avoid dividing by zero + mel2dur = torch.gather(dur, 1, mel2ph) + bound_mask = torch.gt(mel2ph[:, 1:], mel2ph[:, :-1]) + stretch_delta = 1 - bound_mask * mel2dur[:, :-1] + stretch_delta = F.pad(stretch_delta, [1, 0]) + stretch_denorm = torch.cumsum(stretch_delta, dim=1) + stretch = stretch_denorm.float() / mel2dur + return stretch * (mel2ph > 0) + + +def mel2ph_to_dur(mel2ph, T_txt, max_dur=None): + B, _ = mel2ph.shape + dur = mel2ph.new_zeros(B, T_txt + 1).scatter_add(1, mel2ph, torch.ones_like(mel2ph)) + dur = dur[:, 1:] + if max_dur is not None: + dur = dur.clamp(max=max_dur) + return dur + + +class FastSpeech2Encoder(nn.Module): + def __init__( + self, hidden_size, num_layers, + ffn_kernel_size=9, ffn_act='gelu', + dropout=None, num_heads=2, use_pos_embed=True, rel_pos=True, + use_rope=False, rope_interleaved=True, mix_ln_layer=None + ): + super().__init__() + self.num_layers = num_layers + embed_dim = self.hidden_size = hidden_size + self.dropout = dropout + self.use_pos_embed = use_pos_embed + if use_pos_embed and use_rope: + if embed_dim % (num_heads * 2) != 0: + raise ValueError( + "RoPE requires the hidden size to be multiple of " + f"num_heads * 2 = {num_heads * 2}, but got {embed_dim}." + ) + rotary_embed = RotaryEmbedding(dim=embed_dim // num_heads, interleaved=rope_interleaved) + else: + rotary_embed = None + self.layers = nn.ModuleList([ + TransformerEncoderLayer( + self.hidden_size, self.dropout, + kernel_size=ffn_kernel_size, act=ffn_act, + num_heads=num_heads, rotary_embed=rotary_embed, + layer_idx=i, mix_ln_layer=mix_ln_layer + ) + for i in range(self.num_layers) + ]) + self.layer_norm = nn.LayerNorm(embed_dim) + + self.embed_scale = math.sqrt(hidden_size) + self.padding_idx = 0 + self.rel_pos = rel_pos + if use_rope: + self.embed_positions = None + elif self.rel_pos: + self.embed_positions = RelPositionalEncoding(hidden_size, dropout_rate=0.0) + else: + self.embed_positions = SinusoidalPositionalEmbedding( + hidden_size, self.padding_idx, init_size=DEFAULT_MAX_TARGET_POSITIONS, + ) + + def forward_embedding(self, main_embed, extra_embed=None, padding_mask=None): + # embed tokens and positions + x = self.embed_scale * main_embed + if extra_embed is not None: + x = x + extra_embed + if self.use_pos_embed and self.embed_positions is not None: + if self.rel_pos: + x = self.embed_positions(x) + else: + positions = self.embed_positions(~padding_mask) + x = x + positions + x = F.dropout(x, p=self.dropout, training=self.training) + return x + + def forward(self, main_embed, extra_embed, padding_mask, spk_embed=None, attn_mask=None, return_hiddens=False): + x = self.forward_embedding(main_embed, extra_embed, padding_mask=padding_mask) # [B, T, H] + nonpadding_mask_BT = 1 - padding_mask.float()[:, :, None] # [B, T, 1] + + # NOTICE: + # The following codes are commented out because + # `self.use_pos_embed` is always False in the older versions, + # and this argument did not compat with `hparams['use_pos_embed']`, + # which defaults to True. The new version fixed this inconsistency, + # resulting in temporary removal of pos_embed_alpha, which has actually + # never been used before. + + # if self.use_pos_embed: + # positions = self.pos_embed_alpha * self.embed_positions(x[..., 0]) + # x = x + positions + # x = F.dropout(x, p=self.dropout, training=self.training) + + x = x * nonpadding_mask_BT + hiddens = [] + for layer in self.layers: + x = layer(x, encoder_padding_mask=padding_mask, cond=spk_embed, attn_mask=attn_mask) * nonpadding_mask_BT + if return_hiddens: + hiddens.append(x) + x = self.layer_norm(x) * nonpadding_mask_BT + if return_hiddens: + x = torch.stack(hiddens, 0) # [L, B, T, C] + return x diff --git a/modules/fastspeech/variance_encoder.py b/modules/fastspeech/variance_encoder.py new file mode 100644 index 0000000..7129648 --- /dev/null +++ b/modules/fastspeech/variance_encoder.py @@ -0,0 +1,158 @@ +import torch +import torch.nn as nn +from torch.nn import functional as F + +from modules.commons.common_layers import ( + NormalInitEmbedding as Embedding, + XavierUniformInitLinear as Linear, + AdamWLinear, +) +from modules.fastspeech.tts_modules import FastSpeech2Encoder, DurationPredictor +from utils.hparams import hparams +from utils.phoneme_utils import PAD_INDEX + + +class FastSpeech2Variance(nn.Module): + def __init__(self, vocab_size): + super().__init__() + self.predict_dur = hparams['predict_dur'] + self.linguistic_mode = 'word' if hparams['predict_dur'] else 'phoneme' + self.use_lang_id = hparams['use_lang_id'] + self.use_variance_scaling = hparams.get('use_variance_scaling', False) + self.txt_embed = Embedding(vocab_size, hparams['hidden_size'], PAD_INDEX) + if self.use_lang_id: + self.lang_embed = Embedding(hparams['num_lang'] + 1, hparams['hidden_size'], padding_idx=0) + + if self.predict_dur: + self.onset_embed = Embedding(2, hparams['hidden_size']) + self.word_dur_embed = AdamWLinear(1, hparams['hidden_size']) + else: + self.ph_dur_embed = AdamWLinear(1, hparams['hidden_size']) + + self.encoder = FastSpeech2Encoder( + hidden_size=hparams['hidden_size'], num_layers=hparams['enc_layers'], + ffn_kernel_size=hparams['enc_ffn_kernel_size'], ffn_act=hparams['ffn_act'], + dropout=hparams['dropout'], num_heads=hparams['num_heads'], + use_pos_embed=hparams['use_pos_embed'], rel_pos=hparams.get('rel_pos', False), + use_rope=hparams.get('use_rope', False), rope_interleaved=hparams.get('rope_interleaved', True) + ) + + dur_hparams = hparams['dur_prediction_args'] + if self.predict_dur: + self.midi_embed = Embedding(128, hparams['hidden_size']) + self.dur_predictor = DurationPredictor( + in_dims=hparams['hidden_size'], + n_chans=dur_hparams['hidden_size'], + n_layers=dur_hparams['num_layers'], + dropout_rate=dur_hparams['dropout'], + kernel_size=dur_hparams['kernel_size'], + offset=dur_hparams['log_offset'], + dur_loss_type=dur_hparams['loss_type'], + arch=dur_hparams['arch'] + ) + + def forward( + self, txt_tokens, midi, ph2word, + ph_dur=None, word_dur=None, + spk_embed=None, languages=None, + infer=True + ): + """ + :param txt_tokens: (train, infer) [B, T_ph] + :param midi: (train, infer) [B, T_ph] + :param ph2word: (train, infer) [B, T_ph] + :param ph_dur: (train, [infer]) [B, T_ph] + :param word_dur: (infer) [B, T_w] + :param spk_embed: (train) [B, T_ph, H] + :param languages (train, infer) [B, T_ph] + :param infer: whether inference + :return: encoder_out, ph_dur_pred + """ + txt_embed = self.txt_embed(txt_tokens) + if self.linguistic_mode == 'word': + b = txt_tokens.shape[0] + onset = torch.diff(ph2word, dim=1, prepend=ph2word.new_zeros(b, 1)) > 0 + onset_embed = self.onset_embed(onset.long()) # [B, T_ph, H] + + if word_dur is None or not infer: + word_dur = ph_dur.new_zeros(b, ph2word.max() + 1).scatter_add( + 1, ph2word, ph_dur + )[:, 1:] # [B, T_ph] => [B, T_w] + word_dur = torch.gather(F.pad(word_dur, [1, 0], value=0), 1, ph2word) # [B, T_w] => [B, T_ph] + word_dur_embed = self.word_dur_embed(word_dur.float()[:, :, None]) + extra_embed = onset_embed + word_dur_embed + elif self.use_variance_scaling: + extra_embed = self.ph_dur_embed(torch.log(1 + ph_dur.float())[:, :, None]) + else: + extra_embed = self.ph_dur_embed(ph_dur.float()[:, :, None]) + + if self.use_lang_id: + lang_embed = self.lang_embed(languages) + extra_embed += lang_embed + encoder_out = self.encoder(txt_embed, extra_embed, txt_tokens == 0) + + if self.predict_dur: + midi_embed = self.midi_embed(midi) # => [B, T_ph, H] + dur_cond = encoder_out + midi_embed + if spk_embed is not None: + dur_cond += spk_embed + ph_dur_pred = self.dur_predictor(dur_cond, x_masks=txt_tokens == PAD_INDEX, infer=infer) + + return encoder_out, ph_dur_pred + else: + return encoder_out, None + + +class MelodyEncoder(nn.Module): + def __init__(self, enc_hparams: dict): + super().__init__() + + def get_hparam(key): + return enc_hparams.get(key, hparams.get(key)) + + # MIDI inputs + hidden_size = get_hparam('hidden_size') + self.use_variance_scaling = hparams.get('use_variance_scaling', False) + self.note_midi_embed = AdamWLinear(1, hidden_size) + self.note_dur_embed = AdamWLinear(1, hidden_size) + + # ornament inputs + self.use_glide_embed = hparams['use_glide_embed'] + self.glide_embed_scale = hparams['glide_embed_scale'] + if self.use_glide_embed: + # 0: none, 1: up, 2: down + self.note_glide_embed = Embedding(len(hparams['glide_types']) + 1, hidden_size, padding_idx=0) + + self.encoder = FastSpeech2Encoder( + hidden_size=hidden_size, num_layers=get_hparam('enc_layers'), + ffn_kernel_size=get_hparam('enc_ffn_kernel_size'), ffn_act=get_hparam('ffn_act'), + dropout=get_hparam('dropout'), num_heads=get_hparam('num_heads'), + use_pos_embed=get_hparam('use_pos_embed'), rel_pos=get_hparam('rel_pos'), + use_rope=get_hparam('use_rope'), rope_interleaved=hparams.get('rope_interleaved', True) + ) + self.out_proj = Linear(hidden_size, hparams['hidden_size']) + + def forward(self, note_midi, note_rest, note_dur, glide=None): + """ + :param note_midi: float32 [B, T_n], -1: padding + :param note_rest: bool [B, T_n] + :param note_dur: int64 [B, T_n] + :param glide: int64 [B, T_n] + :return: [B, T_n, H] + """ + if self.use_variance_scaling: + midi_embed = self.note_midi_embed(note_midi[:, :, None] / 128) + dur_embed = self.note_dur_embed(torch.log(1 + note_dur.float())[:, :, None]) + else: + midi_embed = self.note_midi_embed(note_midi[:, :, None]) + dur_embed = self.note_dur_embed(note_dur.float()[:, :, None]) + midi_embed *= ~note_rest[:, :, None] + ornament_embed = 0 + if self.use_glide_embed: + ornament_embed += self.note_glide_embed(glide) * self.glide_embed_scale + encoder_out = self.encoder( + midi_embed, dur_embed + ornament_embed, + padding_mask=note_midi < 0 + ) + encoder_out = self.out_proj(encoder_out) + return encoder_out diff --git a/modules/hnsep/__init__.py b/modules/hnsep/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/modules/hnsep/vr/__init__.py b/modules/hnsep/vr/__init__.py new file mode 100644 index 0000000..c6d4840 --- /dev/null +++ b/modules/hnsep/vr/__init__.py @@ -0,0 +1,35 @@ +import pathlib + +import torch +import yaml + +from .nets import CascadedNet + + +class DotDict(dict): + def __getattr__(*args): + val = dict.get(*args) + return DotDict(val) if type(val) is dict else val + + __setattr__ = dict.__setitem__ + __delattr__ = dict.__delitem__ + + +def load_sep_model(model_path, device='cpu'): + model_path = pathlib.Path(model_path) + config_file = model_path.with_name('config.yaml') + with open(config_file, "r") as config: + args = yaml.safe_load(config) + args = DotDict(args) + model = CascadedNet( + args.n_fft, + args.hop_length, + args.n_out, + args.n_out_lstm, + True, + is_mono=args.is_mono + ) + model.to(device) + model.load_state_dict(torch.load(model_path, map_location='cpu')) + model.eval() + return model diff --git a/modules/hnsep/vr/layers.py b/modules/hnsep/vr/layers.py new file mode 100644 index 0000000..4b4a2ec --- /dev/null +++ b/modules/hnsep/vr/layers.py @@ -0,0 +1,166 @@ +import torch +from torch import nn +import torch.nn.functional as F + + +def crop_center(h1, h2): + h1_shape = h1.size() + h2_shape = h2.size() + + if h1_shape[3] == h2_shape[3]: + return h1 + elif h1_shape[3] < h2_shape[3]: + raise ValueError('h1_shape[3] must be greater than h2_shape[3]') + + # s_freq = (h2_shape[2] - h1_shape[2]) // 2 + # e_freq = s_freq + h1_shape[2] + s_time = (h1_shape[3] - h2_shape[3]) // 2 + e_time = s_time + h2_shape[3] + h1 = h1[:, :, :, s_time:e_time] + + return h1 + + +class Conv2DBNActiv(nn.Module): + + def __init__(self, nin, nout, ksize=3, stride=1, pad=1, dilation=1, activ=nn.ReLU): + super(Conv2DBNActiv, self).__init__() + self.conv = nn.Sequential( + nn.Conv2d( + nin, nout, + kernel_size=ksize, + stride=stride, + padding=pad, + dilation=dilation, + bias=False + ), + nn.BatchNorm2d(nout), + activ() + ) + + def forward(self, x): + return self.conv(x) + + +class Encoder(nn.Module): + + def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.LeakyReLU): + super(Encoder, self).__init__() + self.conv1 = Conv2DBNActiv(nin, nout, ksize, stride, pad, activ=activ) + self.conv2 = Conv2DBNActiv(nout, nout, ksize, 1, pad, activ=activ) + + def forward(self, x): + h = self.conv1(x) + h = self.conv2(h) + + return h + + +class Decoder(nn.Module): + + def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.ReLU, dropout=False): + super(Decoder, self).__init__() + self.conv1 = Conv2DBNActiv(nin, nout, ksize, 1, pad, activ=activ) + # self.conv2 = Conv2DBNActiv(nout, nout, ksize, 1, pad, activ=activ) + self.dropout = nn.Dropout2d(0.1) if dropout else None + + def forward(self, x, skip=None, fixed_length=True): + if fixed_length: + x = F.interpolate(x, scale_factor=2, mode='bilinear', align_corners=True) + else: + _, _, h, w = x.size() + x = F.pad(x, (0, 1, 0, 1), mode='replicate') + x = F.interpolate(x, size=(2*h+1,2*w+1), mode='bilinear', align_corners=True) + x = x[:, :, :-1, :-1] + + if skip is not None: + skip = crop_center(skip, x) + x = torch.cat([x, skip], dim=1) + + h = self.conv1(x) + # h = self.conv2(h) + + if self.dropout is not None: + h = self.dropout(h) + + return h + + +class Mean(nn.Module): + def __init__(self, dim, keepdims=False): + super(Mean, self).__init__() + self.dim = dim + self.keepdims = keepdims + + def forward(self, x): + return x.mean(self.dim, keepdims=self.keepdims) + + +class ASPPModule(nn.Module): + + def __init__(self, nin, nout, dilations=(4, 8, 12), activ=nn.ReLU, dropout=False): + super(ASPPModule, self).__init__() + self.conv1 = nn.Sequential( + Mean(dim=-2, keepdims=True), # nn.AdaptiveAvgPool2d((1, None)), + Conv2DBNActiv(nin, nout, 1, 1, 0, activ=activ) + ) + self.conv2 = Conv2DBNActiv( + nin, nout, 1, 1, 0, activ=activ + ) + self.conv3 = Conv2DBNActiv( + nin, nout, 3, 1, dilations[0], dilations[0], activ=activ + ) + self.conv4 = Conv2DBNActiv( + nin, nout, 3, 1, dilations[1], dilations[1], activ=activ + ) + self.conv5 = Conv2DBNActiv( + nin, nout, 3, 1, dilations[2], dilations[2], activ=activ + ) + self.bottleneck = Conv2DBNActiv( + nout * 5, nout, 1, 1, 0, activ=activ + ) + self.dropout = nn.Dropout2d(0.1) if dropout else None + + def forward(self, x): + _, _, h, w = x.size() + # feat1 = F.interpolate(self.conv1(x), size=(h, w), mode='bilinear', align_corners=True) + feat1 = self.conv1(x).repeat(1, 1, h, 1) + feat2 = self.conv2(x) + feat3 = self.conv3(x) + feat4 = self.conv4(x) + feat5 = self.conv5(x) + out = torch.cat((feat1, feat2, feat3, feat4, feat5), dim=1) + out = self.bottleneck(out) + + if self.dropout is not None: + out = self.dropout(out) + + return out + + +class LSTMModule(nn.Module): + + def __init__(self, nin_conv, nin_lstm, nout_lstm): + super(LSTMModule, self).__init__() + self.conv = Conv2DBNActiv(nin_conv, 1, 1, 1, 0) + self.lstm = nn.LSTM( + input_size=nin_lstm, + hidden_size=nout_lstm // 2, + bidirectional=True + ) + self.dense = nn.Sequential( + nn.Linear(nout_lstm, nin_lstm), + nn.BatchNorm1d(nin_lstm), + nn.ReLU() + ) + + def forward(self, x): + N, _, nbins, nframes = x.size() + h = self.conv(x)[:, 0] # N, nbins, nframes + h = h.permute(2, 0, 1) # nframes, N, nbins + h, _ = self.lstm(h) + h = self.dense(h.reshape(-1, h.size()[-1])) # nframes * N, nbins + h = h.reshape(nframes, N, 1, nbins) + h = h.permute(1, 2, 3, 0) + + return h diff --git a/modules/hnsep/vr/nets.py b/modules/hnsep/vr/nets.py new file mode 100644 index 0000000..f9da1d8 --- /dev/null +++ b/modules/hnsep/vr/nets.py @@ -0,0 +1,202 @@ +import torch +from torch import nn +import torch.nn.functional as F + +from . import layers + + +class BaseNet(nn.Module): + + def __init__(self, nin, nout, nin_lstm, nout_lstm, dilations=((4, 2), (8, 4), (12, 6)), fixed_length=True): + super(BaseNet, self).__init__() + self.enc1 = layers.Conv2DBNActiv(nin, nout, 3, 1, 1) + self.enc2 = layers.Encoder(nout, nout * 2, 3, 2, 1) + self.enc3 = layers.Encoder(nout * 2, nout * 4, 3, 2, 1) + self.enc4 = layers.Encoder(nout * 4, nout * 6, 3, 2, 1) + self.enc5 = layers.Encoder(nout * 6, nout * 8, 3, 2, 1) + + self.aspp = layers.ASPPModule(nout * 8, nout * 8, dilations, dropout=True) + + self.dec4 = layers.Decoder(nout * (6 + 8), nout * 6, 3, 1, 1) + self.dec3 = layers.Decoder(nout * (4 + 6), nout * 4, 3, 1, 1) + self.dec2 = layers.Decoder(nout * (2 + 4), nout * 2, 3, 1, 1) + self.lstm_dec2 = layers.LSTMModule(nout * 2, nin_lstm, nout_lstm) + self.dec1 = layers.Decoder(nout * (1 + 2) + 1, nout * 1, 3, 1, 1) + + self.fixed_length = fixed_length + + def __call__(self, x): + e1 = self.enc1(x) + e2 = self.enc2(e1) + e3 = self.enc3(e2) + e4 = self.enc4(e3) + e5 = self.enc5(e4) + + h = self.aspp(e5) + + h = self.dec4(h, e4, fixed_length=self.fixed_length) + h = self.dec3(h, e3, fixed_length=self.fixed_length) + h = self.dec2(h, e2, fixed_length=self.fixed_length) + h = torch.cat([h, self.lstm_dec2(h)], dim=1) + h = self.dec1(h, e1, fixed_length=self.fixed_length) + + return h + + +class CascadedNet(nn.Module): + + def __init__(self, n_fft, hop_length, nout=32, nout_lstm=128, is_complex=False, is_mono=False, fixed_length=True): + super(CascadedNet, self).__init__() + self.n_fft = n_fft + self.hop_length = hop_length + self.seg_length = 32 * hop_length + self.is_complex = is_complex + self.is_mono = is_mono + self.register_buffer("window", torch.hann_window(n_fft), persistent=False) + self.max_bin = n_fft // 2 + self.output_bin = n_fft // 2 + 1 + self.nin_lstm = self.max_bin // 2 + self.offset = 64 + + nin = 4 if is_complex else 2 + if is_mono: + nin = nin // 2 + + self.stg1_low_band_net = nn.Sequential( + BaseNet(nin, nout // 2, self.nin_lstm // 2, nout_lstm, fixed_length=fixed_length), + layers.Conv2DBNActiv(nout // 2, nout // 4, 1, 1, 0) + ) + self.stg1_high_band_net = BaseNet( + nin, nout // 4, self.nin_lstm // 2, nout_lstm // 2, fixed_length=fixed_length + ) + + self.stg2_low_band_net = nn.Sequential( + BaseNet(nout // 4 + nin, nout, self.nin_lstm // 2, nout_lstm, fixed_length=fixed_length), + layers.Conv2DBNActiv(nout, nout // 2, 1, 1, 0) + ) + self.stg2_high_band_net = BaseNet( + nout // 4 + nin, nout // 2, self.nin_lstm // 2, nout_lstm // 2, fixed_length=fixed_length + ) + + self.stg3_full_band_net = BaseNet( + 3 * nout // 4 + nin, nout, self.nin_lstm, nout_lstm, fixed_length=fixed_length + ) + + self.out = nn.Conv2d(nout, nin, 1, bias=False) + self.aux_out = nn.Conv2d(3 * nout // 4, nin, 1, bias=False) + + def forward(self, x): + if self.is_complex: + x = torch.cat([x.real, x.imag], dim=1) + + x = x[:, :, :self.max_bin] + + bandw = x.size()[2] // 2 + l1_in = x[:, :, :bandw] + h1_in = x[:, :, bandw:] + l1 = self.stg1_low_band_net(l1_in) + h1 = self.stg1_high_band_net(h1_in) + aux1 = torch.cat([l1, h1], dim=2) + + l2_in = torch.cat([l1_in, l1], dim=1) + h2_in = torch.cat([h1_in, h1], dim=1) + l2 = self.stg2_low_band_net(l2_in) + h2 = self.stg2_high_band_net(h2_in) + aux2 = torch.cat([l2, h2], dim=2) + + f3_in = torch.cat([x, aux1, aux2], dim=1) + f3 = self.stg3_full_band_net(f3_in) + + if self.is_complex: + mask = self.out(f3) + if self.is_mono: + mask = torch.complex(mask[:, :1], mask[:, 1:]) + else: + mask = torch.complex(mask[:, :2], mask[:, 2:]) + mask = self.bounded_mask(mask) + else: + mask = torch.sigmoid(self.out(f3)) + + mask = F.pad( + input=mask, + pad=(0, 0, 0, self.output_bin - mask.size()[2]), + mode='replicate' + ) + + return mask + + def bounded_mask(self, mask, eps=1e-8): + mask_mag = torch.abs(mask) + mask = torch.tanh(mask_mag) * mask / (mask_mag + eps) + return mask + + def predict_mask(self, x): + mask = self.forward(x) + + if self.offset > 0: + mask = mask[:, :, :, self.offset:-self.offset] + assert mask.size()[3] > 0 + + return mask + + def predict(self, x): + mask = self.forward(x) + pred = x * mask + + if self.offset > 0: + pred = pred[:, :, :, self.offset:-self.offset] + assert pred.size()[3] > 0 + + return pred + + def audio2spec(self, x, use_pad=False): + B, C, T = x.shape + x = x.reshape(B * C, T) + if use_pad: + T1 = T + self.hop_length + T_pad = self.seg_length * ((T1 - 1) // self.seg_length + 1) - T1 + nl_pad = T_pad // 2 // self.hop_length + Tl_pad = nl_pad * self.hop_length + x = F.pad(x, (Tl_pad, T_pad - Tl_pad)) + spec = torch.stft( + x, + n_fft=self.n_fft, + hop_length=self.hop_length, + return_complex=True, + window=self.window, + pad_mode='constant' + ) + spec = spec.reshape(B, C, spec.shape[-2], spec.shape[-1]) + return spec + + def spec2audio(self, x): + B, C, N, T = x.shape + x = x.reshape(-1, N, T) + x = torch.istft(x, self.n_fft, self.hop_length, window=self.window) + x = x.reshape(B, C, -1) + return x + + def predict_from_audio(self, x): + B, C, T = x.shape + x = x.reshape(B * C, T) + T1 = T + self.hop_length + T_pad = self.seg_length * ((T1 - 1) // self.seg_length + 1) - T1 + nl_pad = T_pad // 2 // self.hop_length + Tl_pad = nl_pad * self.hop_length + x = F.pad(x, (Tl_pad, T_pad - Tl_pad)) + spec = torch.stft( + x, + n_fft=self.n_fft, + hop_length=self.hop_length, + return_complex=True, + window=self.window, + pad_mode='constant' + ) + spec = spec.reshape(B, C, spec.shape[-2], spec.shape[-1]) + mask = self.forward(spec) + spec_pred = spec * mask + spec_pred = spec_pred.reshape(B * C, spec.shape[-2], spec.shape[-1]) + x_pred = torch.istft(spec_pred, self.n_fft, self.hop_length, window=self.window) + x_pred = x_pred[:, Tl_pad: Tl_pad + T] + x_pred = x_pred.reshape(B, C, T) + return x_pred diff --git a/modules/losses/__init__.py b/modules/losses/__init__.py new file mode 100644 index 0000000..2a9bd82 --- /dev/null +++ b/modules/losses/__init__.py @@ -0,0 +1,3 @@ +from .diff_loss import DiffusionLoss +from .reflow_loss import RectifiedFlowLoss +from .dur_loss import DurationLoss diff --git a/modules/losses/diff_loss.py b/modules/losses/diff_loss.py new file mode 100644 index 0000000..860714b --- /dev/null +++ b/modules/losses/diff_loss.py @@ -0,0 +1,34 @@ +import torch.nn as nn +from torch import Tensor + + +class DiffusionLoss(nn.Module): + def __init__(self, loss_type): + super().__init__() + self.loss_type = loss_type + if self.loss_type == 'l1': + self.loss = nn.L1Loss(reduction='none') + elif self.loss_type == 'l2': + self.loss = nn.MSELoss(reduction='none') + else: + raise NotImplementedError() + + @staticmethod + def _mask_non_padding(x_recon, noise, non_padding=None): + if non_padding is not None: + non_padding = non_padding.transpose(1, 2).unsqueeze(1) + return x_recon * non_padding, noise * non_padding + else: + return x_recon, noise + + def _forward(self, x_recon, noise): + return self.loss(x_recon, noise) + + def forward(self, x_recon: Tensor, noise: Tensor, non_padding: Tensor = None) -> Tensor: + """ + :param x_recon: [B, 1, M, T] + :param noise: [B, 1, M, T] + :param non_padding: [B, T, M] + """ + x_recon, noise = self._mask_non_padding(x_recon, noise, non_padding) + return self._forward(x_recon, noise).mean() diff --git a/modules/losses/dur_loss.py b/modules/losses/dur_loss.py new file mode 100644 index 0000000..5aec3c9 --- /dev/null +++ b/modules/losses/dur_loss.py @@ -0,0 +1,56 @@ +import torch +import torch.nn as nn +from torch import Tensor + + +class DurationLoss(nn.Module): + """ + Loss module as combination of phone duration loss, word duration loss and sentence duration loss. + """ + + def __init__(self, offset, loss_type, + lambda_pdur=0.6, lambda_wdur=0.3, lambda_sdur=0.1): + super().__init__() + self.loss_type = loss_type + if self.loss_type == 'mse': + self.loss = nn.MSELoss() + elif self.loss_type == 'huber': + self.loss = nn.HuberLoss() + else: + raise NotImplementedError() + self.offset = offset + + self.lambda_pdur = lambda_pdur + self.lambda_wdur = lambda_wdur + self.lambda_sdur = lambda_sdur + + def linear2log(self, any_dur): + return torch.log(any_dur + self.offset) + + def forward(self, dur_pred: Tensor, dur_gt: Tensor, ph2word: Tensor) -> Tensor: + dur_gt = dur_gt.to(dtype=dur_pred.dtype) + + # pdur_loss + pdur_loss = self.lambda_pdur * self.loss(self.linear2log(dur_pred), self.linear2log(dur_gt)) + + dur_pred = dur_pred.clamp(min=0.) # clip to avoid NaN loss + + # wdur loss + shape = dur_pred.shape[0], ph2word.max() + 1 + wdur_pred = dur_pred.new_zeros(*shape).scatter_add( + 1, ph2word, dur_pred + )[:, 1:] # [B, T_ph] => [B, T_w] + wdur_gt = dur_gt.new_zeros(*shape).scatter_add( + 1, ph2word, dur_gt + )[:, 1:] # [B, T_ph] => [B, T_w] + wdur_loss = self.lambda_wdur * self.loss(self.linear2log(wdur_pred), self.linear2log(wdur_gt)) + + # sdur loss + sdur_pred = dur_pred.sum(dim=1) + sdur_gt = dur_gt.sum(dim=1) + sdur_loss = self.lambda_sdur * self.loss(self.linear2log(sdur_pred), self.linear2log(sdur_gt)) + + # combine + dur_loss = pdur_loss + wdur_loss + sdur_loss + + return dur_loss diff --git a/modules/losses/reflow_loss.py b/modules/losses/reflow_loss.py new file mode 100644 index 0000000..4917dce --- /dev/null +++ b/modules/losses/reflow_loss.py @@ -0,0 +1,50 @@ +import torch +import torch.nn as nn +from torch import Tensor + + +class RectifiedFlowLoss(nn.Module): + def __init__(self, loss_type, log_norm=True): + super().__init__() + self.loss_type = loss_type + self.log_norm = log_norm + if self.loss_type == 'l1': + self.loss = nn.L1Loss(reduction='none') + elif self.loss_type == 'l2': + self.loss = nn.MSELoss(reduction='none') + else: + raise NotImplementedError() + + @staticmethod + def _mask_non_padding(v_pred, v_gt, non_padding=None): + if non_padding is not None: + non_padding = non_padding.transpose(1, 2).unsqueeze(1) + return v_pred * non_padding, v_gt * non_padding + else: + return v_pred, v_gt + + @staticmethod + def get_weights(t): + eps = 1e-7 + t = t.float() + t = torch.clip(t, 0 + eps, 1 - eps) + weights = 0.398942 / t / (1 - t) * torch.exp( + -0.5 * torch.log(t / (1 - t)) ** 2 + ) + eps + return weights[:, None, None, None] + + def _forward(self, v_pred, v_gt, t=None): + if self.log_norm: + return self.get_weights(t) * self.loss(v_pred, v_gt) + else: + return self.loss(v_pred, v_gt) + + def forward(self, v_pred: Tensor, v_gt: Tensor, t: Tensor, non_padding: Tensor = None) -> Tensor: + """ + :param v_pred: [B, 1, M, T] + :param v_gt: [B, 1, M, T] + :param t: [B,] + :param non_padding: [B, T, M] + """ + v_pred, v_gt = self._mask_non_padding(v_pred, v_gt, non_padding) + return self._forward(v_pred, v_gt, t=t).mean() diff --git a/modules/metrics/__init__.py b/modules/metrics/__init__.py new file mode 100644 index 0000000..02cedd7 --- /dev/null +++ b/modules/metrics/__init__.py @@ -0,0 +1,2 @@ +from .curve import RawCurveAccuracy, RawCurveR2Score +from .duration import RhythmCorrectness, PhonemeDurationAccuracy diff --git a/modules/metrics/curve.py b/modules/metrics/curve.py new file mode 100644 index 0000000..8ae78fd --- /dev/null +++ b/modules/metrics/curve.py @@ -0,0 +1,73 @@ +import torch +import torchmetrics +from torch import Tensor + + +class RawCurveAccuracy(torchmetrics.Metric): + def __init__(self, *, tolerance, **kwargs): + super().__init__(**kwargs) + self.tolerance = tolerance + self.add_state('close', default=torch.tensor(0, dtype=torch.int), dist_reduce_fx='sum') + self.add_state('total', default=torch.tensor(0, dtype=torch.int), dist_reduce_fx='sum') + + def update(self, pred: Tensor, target: Tensor, mask=None) -> None: + """ + + :param pred: predicted curve + :param target: reference curve + :param mask: valid or non-padding mask + """ + if mask is None: + assert pred.shape == target.shape, f'shapes of pred and target mismatch: {pred.shape}, {target.shape}' + else: + assert pred.shape == target.shape == mask.shape, \ + f'shapes of pred, target and mask mismatch: {pred.shape}, {target.shape}, {mask.shape}' + close = torch.abs(pred - target) <= self.tolerance + if mask is not None: + close &= mask + + self.close += close.sum() + self.total += pred.numel() if mask is None else mask.sum() + + def compute(self) -> Tensor: + return self.close / self.total + + +class RawCurveR2Score(torchmetrics.Metric): + def __init__(self, **kwargs): + super().__init__(**kwargs) + self.add_state('sum_squared_error', default=torch.tensor(0.0), dist_reduce_fx='sum') + self.add_state('sum_error', default=torch.tensor(0.0), dist_reduce_fx='sum') + self.add_state('residual', default=torch.tensor(0.0), dist_reduce_fx='sum') + self.add_state('total', default=torch.tensor(0), dist_reduce_fx='sum') + + def update(self, pred: Tensor, target: Tensor, mask=None) -> None: + """ + + :param pred: predicted curve + :param target: reference curve + :param mask: valid or non-padding mask + """ + if mask is None: + assert pred.shape == target.shape, f'shapes of pred and target mismatch: {pred.shape}, {target.shape}' + else: + assert pred.shape == target.shape == mask.shape, \ + f'shapes of pred, target and mask mismatch: {pred.shape}, {target.shape}, {mask.shape}' + pred = pred[mask] + target = target[mask] + pred = pred.flatten() + target = target.flatten() + + sum_error = torch.sum(target) + sum_squared_error = torch.sum(target * target) + residual = target - pred + rss = torch.sum(residual * residual) + total = target.numel() if mask is None else mask.sum() + + self.sum_squared_error += sum_squared_error + self.sum_error += sum_error + self.residual += rss + self.total += total + + def compute(self) -> Tensor: + return 1 - self.residual / (self.sum_squared_error - self.sum_error ** 2 / self.total) diff --git a/modules/metrics/duration.py b/modules/metrics/duration.py new file mode 100644 index 0000000..8043811 --- /dev/null +++ b/modules/metrics/duration.py @@ -0,0 +1,97 @@ +import torch +import torchmetrics +from torch import Tensor + +from modules.fastspeech.tts_modules import RhythmRegulator + + +def linguistic_checks(pred, target, ph2word, mask=None): + if mask is None: + assert pred.shape == target.shape == ph2word.shape, \ + f'shapes of pred, target and ph2word mismatch: {pred.shape}, {target.shape}, {ph2word.shape}' + else: + assert pred.shape == target.shape == ph2word.shape == mask.shape, \ + f'shapes of pred, target and mask mismatch: {pred.shape}, {target.shape}, {ph2word.shape}, {mask.shape}' + assert pred.ndim == 2, f'all inputs should be 2D, but got {pred.shape}' + assert torch.any(ph2word > 0), 'empty word sequence' + assert torch.all(ph2word >= 0), 'unexpected negative word index' + assert ph2word.max() <= pred.shape[1], f'word index out of range: {ph2word.max()} > {pred.shape[1]}' + assert torch.all(pred >= 0.), f'unexpected negative ph_dur prediction' + assert torch.all(target >= 0.), f'unexpected negative ph_dur target' + + +class RhythmCorrectness(torchmetrics.Metric): + def __init__(self, *, tolerance, **kwargs): + super().__init__(**kwargs) + assert 0. < tolerance < 1., 'tolerance should be within (0, 1)' + self.tolerance = tolerance + self.add_state('correct', default=torch.tensor(0, dtype=torch.int), dist_reduce_fx='sum') + self.add_state('total', default=torch.tensor(0, dtype=torch.int), dist_reduce_fx='sum') + + def update(self, pdur_pred: Tensor, pdur_target: Tensor, ph2word: Tensor, mask=None) -> None: + """ + + :param pdur_pred: predicted ph_dur + :param pdur_target: reference ph_dur + :param ph2word: word division sequence + :param mask: valid or non-padding mask + """ + linguistic_checks(pdur_pred, pdur_target, ph2word, mask=mask) + + shape = pdur_pred.shape[0], ph2word.max() + 1 + wdur_pred = pdur_pred.new_zeros(*shape).scatter_add( + 1, ph2word, pdur_pred + )[:, 1:] # [B, T_ph] => [B, T_w] + wdur_target = pdur_target.new_zeros(*shape).scatter_add( + 1, ph2word, pdur_target + )[:, 1:] # [B, T_ph] => [B, T_w] + if mask is None: + wdur_mask = torch.ones_like(wdur_pred, dtype=torch.bool) + else: + wdur_mask = mask.new_zeros(*shape).scatter_add( + 1, ph2word, mask + )[:, 1:].bool() # [B, T_ph] => [B, T_w] + + correct = torch.abs(wdur_pred - wdur_target) <= wdur_target * self.tolerance + correct &= wdur_mask + + self.correct += correct.sum() + self.total += wdur_mask.sum() + + def compute(self) -> Tensor: + return self.correct / self.total + + +class PhonemeDurationAccuracy(torchmetrics.Metric): + def __init__(self, *, tolerance, **kwargs): + super().__init__(**kwargs) + self.tolerance = tolerance + self.rr = RhythmRegulator() + self.add_state('accurate', default=torch.tensor(0, dtype=torch.int), dist_reduce_fx='sum') + self.add_state('total', default=torch.tensor(0, dtype=torch.int), dist_reduce_fx='sum') + + def update(self, pdur_pred: Tensor, pdur_target: Tensor, ph2word: Tensor, mask=None) -> None: + """ + + :param pdur_pred: predicted ph_dur + :param pdur_target: reference ph_dur + :param ph2word: word division sequence + :param mask: valid or non-padding mask + """ + linguistic_checks(pdur_pred, pdur_target, ph2word, mask=mask) + + shape = pdur_pred.shape[0], ph2word.max() + 1 + wdur_target = pdur_target.new_zeros(*shape).scatter_add( + 1, ph2word, pdur_target + )[:, 1:] # [B, T_ph] => [B, T_w] + pdur_align = self.rr(pdur_pred, ph2word=ph2word, word_dur=wdur_target) + + accurate = torch.abs(pdur_align - pdur_target) <= pdur_target * self.tolerance + if mask is not None: + accurate &= mask + + self.accurate += accurate.sum() + self.total += pdur_pred.numel() if mask is None else mask.sum() + + def compute(self) -> Tensor: + return self.accurate / self.total diff --git a/modules/nsf_hifigan/env.py b/modules/nsf_hifigan/env.py new file mode 100644 index 0000000..04abfd9 --- /dev/null +++ b/modules/nsf_hifigan/env.py @@ -0,0 +1,32 @@ +class AttrDict(dict): + """A dictionary with attribute-style access. It maps attribute access to + the real dictionary. """ + def __init__(self, *args, **kwargs): + dict.__init__(self, *args, **kwargs) + + def __getstate__(self): + return self.__dict__.items() + + def __setstate__(self, items): + for key, val in items: + self.__dict__[key] = val + + def __repr__(self): + return "%s(%s)" % (self.__class__.__name__, dict.__repr__(self)) + + def __setitem__(self, key, value): + return super(AttrDict, self).__setitem__(key, value) + + def __getitem__(self, name): + if name not in super(AttrDict, self).keys(): + return None + return super(AttrDict, self).__getitem__(name) + + def __delitem__(self, name): + return super(AttrDict, self).__delitem__(name) + + __getattr__ = __getitem__ + __setattr__ = __setitem__ + + def copy(self): + return AttrDict(self) diff --git a/modules/nsf_hifigan/models.py b/modules/nsf_hifigan/models.py new file mode 100644 index 0000000..0849498 --- /dev/null +++ b/modules/nsf_hifigan/models.py @@ -0,0 +1,303 @@ +import json +import pathlib + +import numpy as np +import torch +import torch.nn as nn +import torch.nn.functional as F +from lightning.pytorch.utilities.rank_zero import rank_zero_info +from torch.nn import Conv1d, ConvTranspose1d +from torch.nn.utils import weight_norm, remove_weight_norm + +from .env import AttrDict +from .utils import init_weights, get_padding + +LRELU_SLOPE = 0.1 + + +def load_model(model_path: pathlib.Path): + config_file = model_path.with_name('config.json') + with open(config_file) as f: + data = f.read() + + json_config = json.loads(data) + h = AttrDict(json_config) + + generator = Generator(h) + + cp_dict = torch.load(model_path, map_location='cpu') + generator.load_state_dict(cp_dict['generator']) + generator.eval() + generator.remove_weight_norm() + del cp_dict + return generator, h + + +class ResBlock1(torch.nn.Module): + def __init__(self, h, channels, kernel_size=3, dilation=(1, 3, 5)): + super(ResBlock1, self).__init__() + self.h = h + self.convs1 = nn.ModuleList([ + weight_norm(Conv1d(channels, channels, kernel_size, 1, dilation=dilation[0], + padding=get_padding(kernel_size, dilation[0]))), + weight_norm(Conv1d(channels, channels, kernel_size, 1, dilation=dilation[1], + padding=get_padding(kernel_size, dilation[1]))), + weight_norm(Conv1d(channels, channels, kernel_size, 1, dilation=dilation[2], + padding=get_padding(kernel_size, dilation[2]))) + ]) + self.convs1.apply(init_weights) + + self.convs2 = nn.ModuleList([ + weight_norm(Conv1d(channels, channels, kernel_size, 1, dilation=1, + padding=get_padding(kernel_size, 1))), + weight_norm(Conv1d(channels, channels, kernel_size, 1, dilation=1, + padding=get_padding(kernel_size, 1))), + weight_norm(Conv1d(channels, channels, kernel_size, 1, dilation=1, + padding=get_padding(kernel_size, 1))) + ]) + self.convs2.apply(init_weights) + + def forward(self, x): + for c1, c2 in zip(self.convs1, self.convs2): + xt = F.leaky_relu(x, LRELU_SLOPE) + xt = c1(xt) + xt = F.leaky_relu(xt, LRELU_SLOPE) + xt = c2(xt) + x = xt + x + return x + + def remove_weight_norm(self): + for l in self.convs1: + remove_weight_norm(l) + for l in self.convs2: + remove_weight_norm(l) + + +class ResBlock2(torch.nn.Module): + def __init__(self, h, channels, kernel_size=3, dilation=(1, 3)): + super(ResBlock2, self).__init__() + self.h = h + self.convs = nn.ModuleList([ + weight_norm(Conv1d(channels, channels, kernel_size, 1, dilation=dilation[0], + padding=get_padding(kernel_size, dilation[0]))), + weight_norm(Conv1d(channels, channels, kernel_size, 1, dilation=dilation[1], + padding=get_padding(kernel_size, dilation[1]))) + ]) + self.convs.apply(init_weights) + + def forward(self, x): + for c in self.convs: + xt = F.leaky_relu(x, LRELU_SLOPE) + xt = c(xt) + x = xt + x + return x + + def remove_weight_norm(self): + for l in self.convs: + remove_weight_norm(l) + + +class SineGen(torch.nn.Module): + """ Definition of sine generator + SineGen(samp_rate, harmonic_num = 0, + sine_amp = 0.1, noise_std = 0.003, + voiced_threshold = 0, + flag_for_pulse=False) + samp_rate: sampling rate in Hz + harmonic_num: number of harmonic overtones (default 0) + sine_amp: amplitude of sine-waveform (default 0.1) + noise_std: std of Gaussian noise (default 0.003) + voiced_threshold: F0 threshold for U/V classification (default 0) + flag_for_pulse: this SinGen is used inside PulseGen (default False) + Note: when flag_for_pulse is True, the first time step of a voiced + segment is always sin(np.pi) or cos(0) + """ + + def __init__(self, samp_rate, harmonic_num=0, + sine_amp=0.1, noise_std=0.003, + voiced_threshold=0): + super(SineGen, self).__init__() + self.sine_amp = sine_amp + self.noise_std = noise_std + self.harmonic_num = harmonic_num + self.dim = self.harmonic_num + 1 + self.sampling_rate = samp_rate + self.voiced_threshold = voiced_threshold + + def _f02uv(self, f0): + # generate uv signal + uv = torch.ones_like(f0) + uv = uv * (f0 > self.voiced_threshold) + return uv + + def _f02sine(self, f0, upp): + """ f0: (batchsize, length, dim) + where dim indicates fundamental tone and overtones + """ + rad = f0 / self.sampling_rate * torch.arange(1, upp + 1, device=f0.device) + rad2 = torch.fmod(rad[..., -1:].float() + 0.5, 1.0) - 0.5 + rad_acc = rad2.cumsum(dim=1).fmod(1.0).to(f0) + rad += F.pad(rad_acc[:, :-1, :], (0, 0, 1, 0)) + rad = rad.reshape(f0.shape[0], -1, 1) + rad = torch.multiply(rad, torch.arange(1, self.dim + 1, device=f0.device).reshape(1, 1, -1)) + rand_ini = torch.rand(1, 1, self.dim, device=f0.device) + rand_ini[..., 0] = 0 + rad += rand_ini + sines = torch.sin(2 * np.pi * rad) + return sines + + @torch.no_grad() + def forward(self, f0, upp): + """ sine_tensor, uv = forward(f0) + input F0: tensor(batchsize=1, length, dim=1) + f0 for unvoiced steps should be 0 + output sine_tensor: tensor(batchsize=1, length, dim) + output uv: tensor(batchsize=1, length, 1) + """ + f0 = f0.unsqueeze(-1) + sine_waves = self._f02sine(f0, upp) * self.sine_amp + uv = (f0 > self.voiced_threshold).float() + uv = F.interpolate(uv.transpose(2, 1), scale_factor=upp, mode='nearest').transpose(2, 1) + noise_amp = uv * self.noise_std + (1 - uv) * self.sine_amp / 3 + noise = noise_amp * torch.randn_like(sine_waves) + sine_waves = sine_waves * uv + noise + return sine_waves + + +class SourceModuleHnNSF(torch.nn.Module): + """ SourceModule for hn-nsf + SourceModule(sampling_rate, harmonic_num=0, sine_amp=0.1, + add_noise_std=0.003, voiced_threshod=0) + sampling_rate: sampling_rate in Hz + harmonic_num: number of harmonic above F0 (default: 0) + sine_amp: amplitude of sine source signal (default: 0.1) + add_noise_std: std of additive Gaussian noise (default: 0.003) + note that amplitude of noise in unvoiced is decided + by sine_amp + voiced_threshold: threhold to set U/V given F0 (default: 0) + Sine_source, noise_source = SourceModuleHnNSF(F0_sampled) + F0_sampled (batchsize, length, 1) + Sine_source (batchsize, length, 1) + noise_source (batchsize, length 1) + uv (batchsize, length, 1) + """ + + def __init__(self, sampling_rate, harmonic_num=0, sine_amp=0.1, + add_noise_std=0.003, voiced_threshold=0): + super(SourceModuleHnNSF, self).__init__() + + self.sine_amp = sine_amp + self.noise_std = add_noise_std + + # to produce sine waveforms + self.l_sin_gen = SineGen(sampling_rate, harmonic_num, + sine_amp, add_noise_std, voiced_threshold) + + # to merge source harmonics into a single excitation + self.l_linear = torch.nn.Linear(harmonic_num + 1, 1) + self.l_tanh = torch.nn.Tanh() + + def forward(self, x, upp): + sine_wavs = self.l_sin_gen(x, upp) + sine_merge = self.l_tanh(self.l_linear(sine_wavs)) + return sine_merge + + +class Generator(torch.nn.Module): + def __init__(self, h): + super(Generator, self).__init__() + self.h = h + self.num_kernels = len(h.resblock_kernel_sizes) + self.num_upsamples = len(h.upsample_rates) + self.mini_nsf = h.mini_nsf + self.noise_sigma = h.noise_sigma + + if h.mini_nsf: + self.source_sr = h.sampling_rate / int(np.prod(h.upsample_rates[2: ])) + self.upp = int(np.prod(h.upsample_rates[: 2])) + else: + self.source_sr = h.sampling_rate + self.upp = int(np.prod(h.upsample_rates)) + self.m_source = SourceModuleHnNSF( + sampling_rate=h.sampling_rate, + harmonic_num=8 + ) + self.noise_convs = nn.ModuleList() + + self.conv_pre = weight_norm(Conv1d(h.num_mels, h.upsample_initial_channel, 7, 1, padding=3)) + + self.ups = nn.ModuleList() + self.resblocks = nn.ModuleList() + resblock = ResBlock1 if h.resblock == '1' else ResBlock2 + ch = h.upsample_initial_channel + for i, (u, k) in enumerate(zip(h.upsample_rates, h.upsample_kernel_sizes)): + ch //= 2 + self.ups.append(weight_norm(ConvTranspose1d(2 * ch, ch, k, u, padding=(k - u) // 2))) + for j, (k, d) in enumerate(zip(h.resblock_kernel_sizes, h.resblock_dilation_sizes)): + self.resblocks.append(resblock(h, ch, k, d)) + if not h.mini_nsf: + if i + 1 < len(h.upsample_rates): # + stride_f0 = int(np.prod(h.upsample_rates[i + 1:])) + self.noise_convs.append(Conv1d( + 1, ch, kernel_size=stride_f0 * 2, stride=stride_f0, padding=stride_f0 // 2)) + else: + self.noise_convs.append(Conv1d(1, ch, kernel_size=1)) + elif i == 1: + self.source_conv = Conv1d(1, ch, 1) + self.source_conv.apply(init_weights) + + self.conv_post = weight_norm(Conv1d(ch, 1, 7, 1, padding=3)) + + self.ups.apply(init_weights) + self.conv_post.apply(init_weights) + + def fastsinegen(self, f0): + n = torch.arange(1, self.upp + 1, device=f0.device) + s0 = f0.unsqueeze(-1) / self.source_sr + ds0 = F.pad(s0[:, 1:, :] - s0[:, :-1, :], (0, 0, 0, 1)) + rad = s0 * n + 0.5 * ds0 * n * (n - 1) / self.upp + rad2 = torch.fmod(rad[..., -1:].float() + 0.5, 1.0) - 0.5 + rad_acc = rad2.cumsum(dim=1).fmod(1.0).to(f0) + rad += F.pad(rad_acc[:, :-1, :], (0, 0, 1, 0)) + rad = rad.reshape(f0.shape[0], 1, -1) + sines = torch.sin(2 * np.pi * rad) + return sines + + def forward(self, x, f0): + if self.mini_nsf: + har_source = self.fastsinegen(f0) + else: + har_source = self.m_source(f0, self.upp).transpose(1, 2) + x = self.conv_pre(x) + if self.noise_sigma is not None and self.noise_sigma > 0: + x += self.noise_sigma * torch.randn_like(x) + for i in range(self.num_upsamples): + x = F.leaky_relu(x, LRELU_SLOPE) + x = self.ups[i](x) + if not self.mini_nsf: + x_source = self.noise_convs[i](har_source) + x = x + x_source + elif i == 1: + x_source = self.source_conv(har_source) + x = x + x_source + xs = None + for j in range(self.num_kernels): + if xs is None: + xs = self.resblocks[i * self.num_kernels + j](x) + else: + xs += self.resblocks[i * self.num_kernels + j](x) + x = xs / self.num_kernels + x = F.leaky_relu(x) + x = self.conv_post(x) + x = torch.tanh(x) + return x + + def remove_weight_norm(self): + # rank_zero_info('Removing weight norm...') + print('Removing weight norm...') + for l in self.ups: + remove_weight_norm(l) + for l in self.resblocks: + l.remove_weight_norm() + remove_weight_norm(self.conv_pre) + remove_weight_norm(self.conv_post) \ No newline at end of file diff --git a/modules/nsf_hifigan/nvSTFT.py b/modules/nsf_hifigan/nvSTFT.py new file mode 100644 index 0000000..d65abb4 --- /dev/null +++ b/modules/nsf_hifigan/nvSTFT.py @@ -0,0 +1,87 @@ +import os + +os.environ["LRU_CACHE_CAPACITY"] = "3" +import torch +import torch.utils.data +import numpy as np +from librosa.filters import mel as librosa_mel_fn +import torch.nn.functional as F + + +def dynamic_range_compression(x, C=1, clip_val=1e-5): + return np.log(np.clip(x, a_min=clip_val, a_max=None) * C) + + +def dynamic_range_decompression(x, C=1): + return np.exp(x) / C + + +def dynamic_range_compression_torch(x, C=1, clip_val=1e-5): + return torch.log(torch.clamp(x, min=clip_val) * C) + + +def dynamic_range_decompression_torch(x, C=1): + return torch.exp(x) / C + + +class STFT: + def __init__( + self, sr=22050, + n_mels=80, n_fft=1024, win_size=1024, hop_length=256, + fmin=20, fmax=11025, clip_val=1e-5, + device=None + ): + self.target_sr = sr + + self.n_mels = n_mels + self.n_fft = n_fft + self.win_size = win_size + self.hop_length = hop_length + self.fmin = fmin + self.fmax = fmax + self.clip_val = clip_val + + if device is None: + device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') + self.device = device + + mel_basis = librosa_mel_fn(sr=sr, n_fft=n_fft, n_mels=n_mels, fmin=fmin, fmax=fmax) + self.mel_basis = torch.from_numpy(mel_basis).float().to(device) + + def get_mel(self, y, keyshift=0, speed=1, center=False): + + factor = 2 ** (keyshift / 12) + n_fft_new = int(np.round(self.n_fft * factor)) + win_size_new = int(np.round(self.win_size * factor)) + hop_length_new = int(np.round(self.hop_length * speed)) + + if torch.min(y) < -1.: + print('min value is ', torch.min(y)) + if torch.max(y) > 1.: + print('max value is ', torch.max(y)) + + window = torch.hann_window(win_size_new, device=self.device) + + y = torch.nn.functional.pad(y.unsqueeze(1), ( + (win_size_new - hop_length_new) // 2, + (win_size_new - hop_length_new + 1) // 2 + ), mode='reflect') + y = y.squeeze(1) + + spec = torch.stft( + y, n_fft_new, hop_length=hop_length_new, + win_length=win_size_new, window=window, + center=center, pad_mode='reflect', + normalized=False, onesided=True, return_complex=True + ).abs() + if keyshift != 0: + size = self.n_fft // 2 + 1 + resize = spec.size(1) + if resize < size: + spec = F.pad(spec, (0, 0, 0, size - resize)) + spec = spec[:, :size, :] * self.win_size / win_size_new + + spec = torch.matmul(self.mel_basis, spec) + spec = dynamic_range_compression_torch(spec, clip_val=self.clip_val) + + return spec diff --git a/modules/nsf_hifigan/utils.py b/modules/nsf_hifigan/utils.py new file mode 100644 index 0000000..ea12791 --- /dev/null +++ b/modules/nsf_hifigan/utils.py @@ -0,0 +1,13 @@ +import matplotlib + +matplotlib.use("Agg") + + +def init_weights(m, mean=0.0, std=0.01): + classname = m.__class__.__name__ + if classname.find("Conv") != -1: + m.weight.data.normal_(mean, std) + + +def get_padding(kernel_size, dilation=1): + return int((kernel_size*dilation - dilation)/2) diff --git a/modules/optimizer/chained_optimizer.py b/modules/optimizer/chained_optimizer.py new file mode 100644 index 0000000..816280c --- /dev/null +++ b/modules/optimizer/chained_optimizer.py @@ -0,0 +1,132 @@ +import torch +from torch import Tensor +from torch.optim import Optimizer +from torch.optim.optimizer import ParamsT +from dataclasses import dataclass +from typing import Any, Dict, List, Type, Callable, Optional + + +@dataclass +class OptimizerSpec: + """Spec for creating an optimizer that is part of a `ChainedOptimizer`.""" + + class_type: Type[Optimizer] + init_args: Dict[str, Any] + param_filter: Optional[Callable[[Tensor], bool]] + + +class ChainedOptimizer(Optimizer): + """ + A wrapper around multiple optimizers that allows for chaining them together. + The optimizers are applied in the order they are passed in the constructor. + Each optimizer is responsible for updating a subset of the parameters, which + is determined by the `param_filter` function. If no optimizer is found for a + parameter group, an exception is raised. + """ + + def __init__( + self, + params: ParamsT, + optimizer_specs: List[OptimizerSpec], + lr: float, + weight_decay: float = 0.0, + optimizer_selection_callback: Optional[Callable[[Tensor, int], None]] = None, + **common_kwargs, + ): + self.optimizer_specs = optimizer_specs + self.optimizer_selection_callback = optimizer_selection_callback + self.optimizers: List[Optimizer] = [] + defaults = dict(lr=lr, weight_decay=weight_decay) + super().__init__(params, defaults) + + # Split the params for each optimizer + params_for_optimizers = [[] for _ in optimizer_specs] + for param_group in self.param_groups: + params = param_group["params"] + indices = param_group["optimizer_and_param_group_indices"] = set() + for param in params: + assert isinstance(param, Tensor), f"Expected a Tensor, got {type(param)}" + found_optimizer = False + for index, spec in enumerate(optimizer_specs): + if spec.param_filter is None or spec.param_filter(param): + if self.optimizer_selection_callback is not None: + self.optimizer_selection_callback(param, index) + params_for_optimizers[index].append(param) + indices.add((index, 0)) + found_optimizer = True + break + if not found_optimizer: + raise ValueError("No valid optimizer found for the given parameter") + + # Initialize the optimizers + for spec, selected_params in zip(optimizer_specs, params_for_optimizers): + optimizer_args = { + 'lr': lr, + 'weight_decay': weight_decay, + } + optimizer_args.update(common_kwargs) + optimizer_args.update(spec.init_args) + optimizer = spec.class_type(selected_params, **optimizer_args) + self.optimizers.append(optimizer) + + def state_dict(self) -> Dict[str, Any]: + return { + "optimizers": [opt.state_dict() for opt in self.optimizers], + **super().state_dict(), + } + + def load_state_dict(self, state_dict: Dict[str, Any]) -> None: + optimizers = state_dict.pop("optimizers") + super().load_state_dict(state_dict) + for i in range(len(self.optimizers)): + self.optimizers[i].load_state_dict(optimizers[i]) + + def zero_grad(self, set_to_none: bool = True) -> None: + for opt in self.optimizers: + opt.zero_grad(set_to_none=set_to_none) + + def _copy_lr_to_optimizers(self) -> None: + for param_group in self.param_groups: + indices = param_group["optimizer_and_param_group_indices"] + for optimizer_idx, param_group_idx in indices: + self.optimizers[optimizer_idx].param_groups[param_group_idx]["lr"] = param_group["lr"] + + def step(self, closure=None) -> None: + loss = None + if closure is not None: + with torch.enable_grad(): + loss = closure() + self._copy_lr_to_optimizers() + for opt in self.optimizers: + opt.step(closure=None) + return loss + + def add_param_group(self, param_group: Dict[str, Any]) -> None: + super().add_param_group(param_group) + + # If optimizer has not been initialized, skip adding the param groups + if not self.optimizers: + return + + # Split the params for each optimizer + params_for_optimizers = [[] for _ in self.optimizer_specs] + params = param_group["params"] + indices = param_group["optimizer_and_param_group_indices"] = set() + for param in params: + assert isinstance(param, Tensor), f"Expected a Tensor, got {type(param)}" + found_optimizer = False + for index, spec in enumerate(self.optimizer_specs): + if spec.param_filter is None or spec.param_filter(param): + if self.optimizer_selection_callback is not None: + self.optimizer_selection_callback(param, index) + params_for_optimizers[index].append(param) + indices.add((index, len(self.optimizers[index].param_groups))) + found_optimizer = True + break + if not found_optimizer: + raise ValueError("No valid optimizer found for the given parameter group") + + # Add the selected param group to the optimizers + for optimizer, selected_params in zip(self.optimizers, params_for_optimizers): + if selected_params: + optimizer.add_param_group({"params": selected_params}) diff --git a/modules/optimizer/muon.py b/modules/optimizer/muon.py new file mode 100644 index 0000000..8d6eec7 --- /dev/null +++ b/modules/optimizer/muon.py @@ -0,0 +1,200 @@ +import collections +import torch +import torch.nn as nn +import torch.nn.functional as F +from torch import Tensor +from torch.nn import Parameter +from typing import List +from .chained_optimizer import ChainedOptimizer, OptimizerSpec + +from modules.commons.common_layers import AdamWLinear, AdamWConv1d + + +def zeropower_via_newtonschulz5(G: Tensor, steps: int) -> Tensor: + """ + Newton-Schulz iteration to compute the zeroth power / orthogonalization of G. We opt to use a + quintic iteration whose coefficients are selected to maximize the slope at zero. For the purpose + of minimizing steps, it turns out to be empirically effective to keep increasing the slope at + zero even beyond the point where the iteration no longer converges all the way to one everywhere + on the interval. This iteration therefore does not produce UV^T but rather something like US'V^T + where S' is diagonal with S_{ii}' ~ Uniform(0.5, 1.5), which turns out not to hurt model + performance at all relative to UV^T, where USV^T = G is the SVD. + """ + assert G.ndim == 3 # batched Muon implementation by @scottjmaddox, and put into practice in the record by @YouJiacheng + a, b, c = (3.4445, -4.7750, 2.0315) + + X = G.to(torch.float32) + + # Ensure spectral norm is at most 1 + X = F.normalize(X, p=2.0, dim=(-2, -1), eps=1e-7) + + X = X.to(torch.float16) + + # Perform the NS iterations + if X.size(-2) < X.size(-1): + for _ in range(steps): + A = torch.bmm(X, X.mT) + A = torch.baddbmm(A, A, A, beta=b, alpha=c) + X = torch.baddbmm(X, A, X, beta=a, alpha=1) + else: + for _ in range(steps): + A = torch.bmm(X.mT, X) + A = torch.baddbmm(A, A, A, beta=b, alpha=c) + X = torch.baddbmm(X, X, A, beta=a, alpha=1) + + return X + + +def gram_newton_schulz(G: Tensor, steps: int) -> Tensor: + """ + Refer to: + Gram Newton-Schulz: A Fast, Hardware-Aware Newton-Schulz Algorithm for Muon + Authors: Jack Zhang, Noah Amsel, Berlin Chen, Tri Dao + Blogpost: https://dao-ailab.github.io/blog/2026/gram-newton-schulz/ + + Gram Newton-Schulz iteration to compute the orthogonalization of G. + Mathematically identical to standard Newton-Schulz but computes iterating + on the smaller NxN Gram matrix to save up to 50% FLOPs. + """ + assert G.ndim == 3 + reset_iterations = [2] + original_shape = G.shape + dtype = G.dtype + + X = G.to(torch.float32) + X = F.normalize(X, p=2.0, dim=(-2, -1), eps=1e-7) + should_transpose = X.size(-2) > X.size(-1) + if should_transpose: + X = X.mT + X = X.to(torch.float16) + + a, b, c = (3.4445, -4.7750, 2.0315) + + if X.size(-2) != X.size(-1): + R = torch.bmm(X, X.mT) + Q = None + for i in range(steps): + if i in reset_iterations and i != 0: + X = torch.bmm(Q, X) + R = torch.bmm(X, X.mT) + Q = None + Z = torch.baddbmm(R, R, R, beta=b, alpha=c) + if i != 0 and i not in reset_iterations: + Q = torch.baddbmm(Q, Q, Z, beta=a, alpha=1.0) + else: + Q = Z.clone() + Q.diagonal(dim1=-2, dim2=-1).add_(a) + if i < steps - 1 and (i + 1) not in reset_iterations: + RZ = torch.baddbmm(R, R, Z, beta=a, alpha=1.0) + R = torch.baddbmm(RZ, Z, RZ, beta=a, alpha=1.0) + X = torch.bmm(Q, X) if not should_transpose else torch.bmm(X.mT, Q) + else: + for _ in range(steps): + A = torch.bmm(X, X.mT) + B = torch.baddbmm(A, A, A, beta=b, alpha=c) + X = torch.baddbmm(X, B, X, beta=a, alpha=1.0) + + return X.to(dtype).view(original_shape) + + +class Muon(torch.optim.Optimizer): + """ + Muon - MomentUm Orthogonalized by Newton-schulz + + https://kellerjordan.github.io/posts/muon/ + + Muon internally runs standard SGD-momentum, and then performs an orthogonalization post- + processing step, in which each 2D parameter's update is replaced with the nearest orthogonal + matrix. To efficiently orthogonalize each update, we use a Newton-Schulz iteration, which has + the advantage that it can be stably run in float16 on the GPU. + + Some warnings: + - This optimizer should not be used for the embedding layer, the final fully connected layer, + or any {0,1}-D parameters; those should all be optimized by a standard method (e.g., AdamW). + - To use it with 4D convolutional filters, it works well to just flatten their last 3 dimensions. + + Arguments: + lr: The learning rate used by the internal SGD. + momentum: The momentum used by the internal SGD. + nesterov: Whether to use Nesterov-style momentum in the internal SGD. (recommended) + ns_steps: The number of Newton-Schulz iteration steps to use. + """ + + def __init__(self, params, lr=5e-4, weight_decay=0.1, momentum=0.95, nesterov=True, ns_steps=5): + defaults = dict(lr=lr, weight_decay=weight_decay, momentum=momentum, nesterov=nesterov, ns_steps=ns_steps) + super().__init__(params, defaults) + + @torch.no_grad() + def step(self, closure=None): + for group in self.param_groups: + shape_groups = {} + for p in filter(lambda p: p.grad is not None, group["params"]): + g = p.grad + state = self.state[p] + if "momentum_buffer" not in state: + state["momentum_buffer"] = torch.zeros_like(g) + key = (p.shape, p.device, p.dtype) + if key not in shape_groups: + shape_groups[key] = {"params": [], "grads": [], "buffers": []} + shape_groups[key]["params"].append(p) + shape_groups[key]["grads"].append(g) + shape_groups[key]["buffers"].append(state["momentum_buffer"]) + for key in shape_groups: + group_data = shape_groups[key] + p, g, buf, m = group_data["params"], group_data["grads"], group_data["buffers"], group["momentum"] + torch._foreach_lerp_(buf, g, 1-m) + if group["nesterov"]: + torch._foreach_lerp_(g, buf, m) + g = torch.stack(g) + else: + g = torch.stack(buf) + original_shape = g.shape + if g.ndim >= 4: # for the case of conv filters + g = g.view(g.size(0), g.size(1), -1) + g = gram_newton_schulz(g, steps=group["ns_steps"]) + + if group["weight_decay"] > 0: + torch._foreach_mul_(p, 1 - group["lr"] * group["weight_decay"]) + torch._foreach_add_(p, g.view(original_shape).unbind(0), alpha=-group["lr"] * max(g[0].size()) ** 0.5) + + +def get_params_for_muon(model) -> List[Parameter]: + """ + Filter parameters of a module into two groups: those that can be optimized by Muon, + and those that should be optimized by a standard optimizer. + Args: + module: The module to filter parameters for. + Returns: + A list of parameters that should be optimized with muon. + """ + excluded_module_classes = (nn.Embedding, AdamWLinear, AdamWConv1d) + muon_params = [] + # BFS through all submodules and exclude parameters from certain module types + queue = collections.deque([model]) + while queue: + module = queue.popleft() + if isinstance(module, excluded_module_classes): + continue + for param in module.parameters(recurse=False): + if not param.requires_grad: + continue + if param.ndim >= 2: + muon_params.append(param) + queue.extend(list(module.children())) + return muon_params + + +class Muon_AdamW(ChainedOptimizer): + def __init__(self, model, lr=0.0005, weight_decay=0.0, muon_args=None, adamw_args=None, verbose=False): + muon_args = {} if muon_args is None else muon_args + adamw_args = {} if adamw_args is None else adamw_args + muon_params_id_set = set(id(p) for p in get_params_for_muon(model)) + spec_muon = OptimizerSpec(Muon, muon_args, lambda param: id(param) in muon_params_id_set) + spec_adamw = OptimizerSpec(torch.optim.AdamW, adamw_args, None) + specs = [spec_muon, spec_adamw] + callback = None + if verbose: + callback = lambda p, spec_idx: print( + f"Adding param {p.shape} to optimizer{spec_idx} {str(specs[spec_idx].class_type)}" + ) + super().__init__(model.parameters(), specs, lr=lr, weight_decay=weight_decay, optimizer_selection_callback=callback) diff --git a/modules/pe/__init__.py b/modules/pe/__init__.py new file mode 100644 index 0000000..edf747a --- /dev/null +++ b/modules/pe/__init__.py @@ -0,0 +1,18 @@ +from utils import hparams + +from .pm import ParselmouthPE +from .pw import HarvestPE +from .rmvpe import RMVPE + + +def initialize_pe(): + pe = hparams['pe'] + pe_ckpt = hparams['pe_ckpt'] + if pe == 'parselmouth': + return ParselmouthPE() + elif pe == 'rmvpe': + return RMVPE(pe_ckpt) + elif pe == 'harvest': + return HarvestPE() + else: + raise ValueError(f" [x] Unknown f0 extractor: {pe}") diff --git a/modules/pe/pm.py b/modules/pe/pm.py new file mode 100644 index 0000000..206d646 --- /dev/null +++ b/modules/pe/pm.py @@ -0,0 +1,15 @@ +from basics.base_pe import BasePE +from utils.binarizer_utils import get_pitch_parselmouth + + +class ParselmouthPE(BasePE): + def get_pitch( + self,waveform, samplerate, length, + *, hop_size, f0_min=65, f0_max=1100, + speed=1, interp_uv=False + ): + return get_pitch_parselmouth( + waveform, samplerate=samplerate, length=length, + hop_size=hop_size, f0_min=f0_min, f0_max=f0_max, + speed=speed, interp_uv=interp_uv + ) diff --git a/modules/pe/pw.py b/modules/pe/pw.py new file mode 100644 index 0000000..6fe629f --- /dev/null +++ b/modules/pe/pw.py @@ -0,0 +1,29 @@ +from basics.base_pe import BasePE +import numpy as np +import pyworld as pw +from utils.pitch_utils import interp_f0 + + +class HarvestPE(BasePE): + def get_pitch( + self, waveform, samplerate, length, + *, hop_size, f0_min=65, f0_max=1100, + speed=1, interp_uv=False + ): + hop_size = int(np.round(hop_size * speed)) + time_step = 1000 * hop_size / samplerate + + f0, _ = pw.harvest( + waveform.astype(np.float64), samplerate, + f0_floor=f0_min, f0_ceil=f0_max, frame_period=time_step + ) + f0 = f0.astype(np.float32) + + if f0.size < length: + f0 = np.pad(f0, (0, length - f0.size)) + f0 = f0[:length] + uv = f0 == 0 + + if interp_uv: + f0, uv = interp_f0(f0, uv) + return f0, uv diff --git a/modules/pe/rmvpe/__init__.py b/modules/pe/rmvpe/__init__.py new file mode 100644 index 0000000..cf71a05 --- /dev/null +++ b/modules/pe/rmvpe/__init__.py @@ -0,0 +1,5 @@ +from .constants import * +from .model import E2E0 +from .utils import to_local_average_f0, to_viterbi_f0 +from .inference import RMVPE +from .spec import MelSpectrogram diff --git a/modules/pe/rmvpe/constants.py b/modules/pe/rmvpe/constants.py new file mode 100644 index 0000000..525a2a0 --- /dev/null +++ b/modules/pe/rmvpe/constants.py @@ -0,0 +1,9 @@ +SAMPLE_RATE = 16000 + +N_CLASS = 360 + +N_MELS = 128 +MEL_FMIN = 30 +MEL_FMAX = 8000 +WINDOW_LENGTH = 1024 +CONST = 1997.3794084376191 diff --git a/modules/pe/rmvpe/deepunet.py b/modules/pe/rmvpe/deepunet.py new file mode 100644 index 0000000..2e50d5e --- /dev/null +++ b/modules/pe/rmvpe/deepunet.py @@ -0,0 +1,173 @@ +import torch +import torch.nn as nn +from .constants import N_MELS + + +class ConvBlockRes(nn.Module): + def __init__(self, in_channels, out_channels, momentum=0.01): + super(ConvBlockRes, self).__init__() + self.conv = nn.Sequential( + nn.Conv2d(in_channels=in_channels, + out_channels=out_channels, + kernel_size=(3, 3), + stride=(1, 1), + padding=(1, 1), + bias=False), + nn.BatchNorm2d(out_channels, momentum=momentum), + nn.ReLU(), + + nn.Conv2d(in_channels=out_channels, + out_channels=out_channels, + kernel_size=(3, 3), + stride=(1, 1), + padding=(1, 1), + bias=False), + nn.BatchNorm2d(out_channels, momentum=momentum), + nn.ReLU(), + ) + if in_channels != out_channels: + self.shortcut = nn.Conv2d(in_channels, out_channels, (1, 1)) + self.is_shortcut = True + else: + self.is_shortcut = False + + def forward(self, x): + if self.is_shortcut: + return self.conv(x) + self.shortcut(x) + else: + return self.conv(x) + x + + +class ResEncoderBlock(nn.Module): + def __init__(self, in_channels, out_channels, kernel_size, n_blocks=1, momentum=0.01): + super(ResEncoderBlock, self).__init__() + self.n_blocks = n_blocks + self.conv = nn.ModuleList() + self.conv.append(ConvBlockRes(in_channels, out_channels, momentum)) + for i in range(n_blocks - 1): + self.conv.append(ConvBlockRes(out_channels, out_channels, momentum)) + self.kernel_size = kernel_size + if self.kernel_size is not None: + self.pool = nn.AvgPool2d(kernel_size=kernel_size) + + def forward(self, x): + for i in range(self.n_blocks): + x = self.conv[i](x) + if self.kernel_size is not None: + return x, self.pool(x) + else: + return x + + +class ResDecoderBlock(nn.Module): + def __init__(self, in_channels, out_channels, stride, n_blocks=1, momentum=0.01): + super(ResDecoderBlock, self).__init__() + out_padding = (0, 1) if stride == (1, 2) else (1, 1) + self.n_blocks = n_blocks + self.conv1 = nn.Sequential( + nn.ConvTranspose2d(in_channels=in_channels, + out_channels=out_channels, + kernel_size=(3, 3), + stride=stride, + padding=(1, 1), + output_padding=out_padding, + bias=False), + nn.BatchNorm2d(out_channels, momentum=momentum), + nn.ReLU(), + ) + self.conv2 = nn.ModuleList() + self.conv2.append(ConvBlockRes(out_channels * 2, out_channels, momentum)) + for i in range(n_blocks-1): + self.conv2.append(ConvBlockRes(out_channels, out_channels, momentum)) + + def forward(self, x, concat_tensor): + x = self.conv1(x) + x = torch.cat((x, concat_tensor), dim=1) + for i in range(self.n_blocks): + x = self.conv2[i](x) + return x + + +class Encoder(nn.Module): + def __init__(self, in_channels, in_size, n_encoders, kernel_size, n_blocks, out_channels=16, momentum=0.01): + super(Encoder, self).__init__() + self.n_encoders = n_encoders + self.bn = nn.BatchNorm2d(in_channels, momentum=momentum) + self.layers = nn.ModuleList() + self.latent_channels = [] + for i in range(self.n_encoders): + self.layers.append(ResEncoderBlock(in_channels, out_channels, kernel_size, n_blocks, momentum=momentum)) + self.latent_channels.append([out_channels, in_size]) + in_channels = out_channels + out_channels *= 2 + in_size //= 2 + self.out_size = in_size + self.out_channel = out_channels + + def forward(self, x): + concat_tensors = [] + x = self.bn(x) + for i in range(self.n_encoders): + _, x = self.layers[i](x) + concat_tensors.append(_) + return x, concat_tensors + + +class Intermediate(nn.Module): + def __init__(self, in_channels, out_channels, n_inters, n_blocks, momentum=0.01): + super(Intermediate, self).__init__() + self.n_inters = n_inters + self.layers = nn.ModuleList() + self.layers.append(ResEncoderBlock(in_channels, out_channels, None, n_blocks, momentum)) + for i in range(self.n_inters-1): + self.layers.append(ResEncoderBlock(out_channels, out_channels, None, n_blocks, momentum)) + + def forward(self, x): + for i in range(self.n_inters): + x = self.layers[i](x) + return x + + +class Decoder(nn.Module): + def __init__(self, in_channels, n_decoders, stride, n_blocks, momentum=0.01): + super(Decoder, self).__init__() + self.layers = nn.ModuleList() + self.n_decoders = n_decoders + for i in range(self.n_decoders): + out_channels = in_channels // 2 + self.layers.append(ResDecoderBlock(in_channels, out_channels, stride, n_blocks, momentum)) + in_channels = out_channels + + def forward(self, x, concat_tensors): + for i in range(self.n_decoders): + x = self.layers[i](x, concat_tensors[-1-i]) + return x + + +class TimbreFilter(nn.Module): + def __init__(self, latent_rep_channels): + super(TimbreFilter, self).__init__() + self.layers = nn.ModuleList() + for latent_rep in latent_rep_channels: + self.layers.append(ConvBlockRes(latent_rep[0], latent_rep[0])) + + def forward(self, x_tensors): + out_tensors = [] + for i, layer in enumerate(self.layers): + out_tensors.append(layer(x_tensors[i])) + return out_tensors + + +class DeepUnet0(nn.Module): + def __init__(self, kernel_size, n_blocks, en_de_layers=5, inter_layers=4, in_channels=1, en_out_channels=16): + super(DeepUnet0, self).__init__() + self.encoder = Encoder(in_channels, N_MELS, en_de_layers, kernel_size, n_blocks, en_out_channels) + self.intermediate = Intermediate(self.encoder.out_channel // 2, self.encoder.out_channel, inter_layers, n_blocks) + self.tf = TimbreFilter(self.encoder.latent_channels) + self.decoder = Decoder(self.encoder.out_channel, en_de_layers, kernel_size, n_blocks) + + def forward(self, x): + x, concat_tensors = self.encoder(x) + x = self.intermediate(x) + x = self.decoder(x, concat_tensors) + return x diff --git a/modules/pe/rmvpe/inference.py b/modules/pe/rmvpe/inference.py new file mode 100644 index 0000000..f3b8ad5 --- /dev/null +++ b/modules/pe/rmvpe/inference.py @@ -0,0 +1,78 @@ +import numpy as np +import torch +import torch.nn.functional as F +from torchaudio.transforms import Resample + +from basics.base_pe import BasePE +from utils.infer_utils import resample_align_curve +from utils.pitch_utils import interp_f0 +from .constants import * +from .model import E2E0 +from .spec import MelSpectrogram +from .utils import to_local_average_f0, to_viterbi_f0 + + +class RMVPE(BasePE): + def __init__(self, model_path, hop_length=160): + self.resample_kernel = {} + self.device = 'cuda' if torch.cuda.is_available() else 'cpu' + self.model = E2E0(4, 1, (2, 2)).eval().to(self.device) + ckpt = torch.load(model_path, map_location=self.device) + self.model.load_state_dict(ckpt['model'], strict=False) + self.hop_length = hop_length + self.seg_length = 32 * hop_length + self.mel_extractor = MelSpectrogram( + N_MELS, SAMPLE_RATE, WINDOW_LENGTH, hop_length, None, MEL_FMIN, MEL_FMAX + ).to(self.device) + + @torch.no_grad() + def mel2hidden(self, mel): + n_frames = mel.shape[-1] + mel = F.pad(mel, (0, 32 * ((n_frames - 1) // 32 + 1) - n_frames), mode='reflect') + hidden = self.model(mel) + return hidden[:, :n_frames] + + def decode(self, hidden, thred=0.03, use_viterbi=False): + if use_viterbi: + f0 = to_viterbi_f0(hidden, thred=thred) + else: + f0 = to_local_average_f0(hidden, thred=thred) + return f0 + + def infer_from_audio(self, audio, sample_rate=16000, thred=0.03, use_viterbi=False): + audio = torch.from_numpy(audio).float().unsqueeze(0).to(self.device) + if sample_rate == 16000: + audio_res = audio + else: + key_str = str(sample_rate) + if key_str not in self.resample_kernel: + self.resample_kernel[key_str] = Resample(sample_rate, 16000, lowpass_filter_width=128) + self.resample_kernel[key_str] = self.resample_kernel[key_str].to(self.device) + audio_res = self.resample_kernel[key_str](audio) + B, T = audio_res.shape + n_frames = T // self.hop_length + 1 + T1 = T + self.hop_length + T_pad = self.seg_length * ((T1 - 1) // self.seg_length + 1) - T1 + audio_res = F.pad(audio_res, (0, T_pad)) + mel = self.mel_extractor(audio_res, center=True) + with torch.no_grad(): + hidden = self.model(mel) + f0 = self.decode(hidden[:, :n_frames], thred=thred, use_viterbi=use_viterbi) + return f0 + + def get_pitch( + self, waveform, samplerate, length, + *, hop_size, f0_min=65, f0_max=1100, + speed=1, interp_uv=False + ): + f0 = self.infer_from_audio(waveform, sample_rate=samplerate) + uv = f0 == 0 + f0, uv = interp_f0(f0, uv) + + hop_size = int(np.round(hop_size * speed)) + time_step = hop_size / samplerate + f0_res = resample_align_curve(f0, 0.01, time_step, length) + uv_res = resample_align_curve(uv.astype(np.float32), 0.01, time_step, length) > 0.5 + if not interp_uv: + f0_res[uv_res] = 0 + return f0_res, uv_res diff --git a/modules/pe/rmvpe/model.py b/modules/pe/rmvpe/model.py new file mode 100644 index 0000000..5b2d72c --- /dev/null +++ b/modules/pe/rmvpe/model.py @@ -0,0 +1,32 @@ +from torch import nn + +from .constants import * +from .deepunet import DeepUnet0 +from .seq import BiGRU + + +class E2E0(nn.Module): + def __init__(self, n_blocks, n_gru, kernel_size, en_de_layers=5, inter_layers=4, in_channels=1, + en_out_channels=16): + super(E2E0, self).__init__() + self.unet = DeepUnet0(kernel_size, n_blocks, en_de_layers, inter_layers, in_channels, en_out_channels) + self.cnn = nn.Conv2d(en_out_channels, 3, (3, 3), padding=(1, 1)) + if n_gru: + self.fc = nn.Sequential( + BiGRU(3 * N_MELS, 256, n_gru), + nn.Linear(512, N_CLASS), + nn.Dropout(0.25), + nn.Sigmoid() + ) + else: + self.fc = nn.Sequential( + nn.Linear(3 * N_MELS, N_CLASS), + nn.Dropout(0.25), + nn.Sigmoid() + ) + + def forward(self, mel): + mel = mel.transpose(-1, -2).unsqueeze(1) + x = self.cnn(self.unet(mel)).transpose(1, 2).flatten(-2) + x = self.fc(x) + return x diff --git a/modules/pe/rmvpe/seq.py b/modules/pe/rmvpe/seq.py new file mode 100644 index 0000000..9c4c8f8 --- /dev/null +++ b/modules/pe/rmvpe/seq.py @@ -0,0 +1,10 @@ +import torch.nn as nn + + +class BiGRU(nn.Module): + def __init__(self, input_features, hidden_features, num_layers): + super(BiGRU, self).__init__() + self.gru = nn.GRU(input_features, hidden_features, num_layers=num_layers, batch_first=True, bidirectional=True) + + def forward(self, x): + return self.gru(x)[0] diff --git a/modules/pe/rmvpe/spec.py b/modules/pe/rmvpe/spec.py new file mode 100644 index 0000000..4a38054 --- /dev/null +++ b/modules/pe/rmvpe/spec.py @@ -0,0 +1,68 @@ +import torch +import numpy as np +import torch.nn.functional as F +from librosa.filters import mel + + +class MelSpectrogram(torch.nn.Module): + def __init__( + self, + n_mel_channels, + sampling_rate, + win_length, + hop_length, + n_fft=None, + mel_fmin=0, + mel_fmax=None, + clamp=1e-5 + ): + super().__init__() + n_fft = win_length if n_fft is None else n_fft + self.hann_window = {} + mel_basis = mel( + sr=sampling_rate, + n_fft=n_fft, + n_mels=n_mel_channels, + fmin=mel_fmin, + fmax=mel_fmax, + htk=True) + mel_basis = torch.from_numpy(mel_basis).float() + self.register_buffer("mel_basis", mel_basis) + self.n_fft = win_length if n_fft is None else n_fft + self.hop_length = hop_length + self.win_length = win_length + self.sampling_rate = sampling_rate + self.n_mel_channels = n_mel_channels + self.clamp = clamp + + def forward(self, audio, keyshift=0, speed=1, center=True): + factor = 2 ** (keyshift / 12) + n_fft_new = int(np.round(self.n_fft * factor)) + win_length_new = int(np.round(self.win_length * factor)) + hop_length_new = int(np.round(self.hop_length * speed)) + + keyshift_key = str(keyshift) + '_' + str(audio.device) + if keyshift_key not in self.hann_window: + self.hann_window[keyshift_key] = torch.hann_window(win_length_new).to(audio.device) + + fft = torch.stft( + audio, + n_fft=n_fft_new, + hop_length=hop_length_new, + win_length=win_length_new, + window=self.hann_window[keyshift_key], + center=center, + return_complex=True + ) + magnitude = fft.abs() + + if keyshift != 0: + size = self.n_fft // 2 + 1 + resize = magnitude.size(1) + if resize < size: + magnitude = F.pad(magnitude, (0, 0, 0, size - resize)) + magnitude = magnitude[:, :size, :] * self.win_length / win_length_new + + mel_output = torch.matmul(self.mel_basis, magnitude) + log_mel_spec = torch.log(torch.clamp(mel_output, min=self.clamp)) + return log_mel_spec diff --git a/modules/pe/rmvpe/utils.py b/modules/pe/rmvpe/utils.py new file mode 100644 index 0000000..9cdf0b1 --- /dev/null +++ b/modules/pe/rmvpe/utils.py @@ -0,0 +1,43 @@ +import librosa +import numpy as np +import torch + +from .constants import * + + +def to_local_average_f0(hidden, center=None, thred=0.03): + idx = torch.arange(N_CLASS, device=hidden.device)[None, None, :] # [B=1, T=1, N] + idx_cents = idx * 20 + CONST # [B=1, N] + if center is None: + center = torch.argmax(hidden, dim=2, keepdim=True) # [B, T, 1] + start = torch.clip(center - 4, min=0) # [B, T, 1] + end = torch.clip(center + 5, max=N_CLASS) # [B, T, 1] + idx_mask = (idx >= start) & (idx < end) # [B, T, N] + weights = hidden * idx_mask # [B, T, N] + product_sum = torch.sum(weights * idx_cents, dim=2) # [B, T] + weight_sum = torch.sum(weights, dim=2) # [B, T] + cents = product_sum / (weight_sum + (weight_sum == 0)) # avoid dividing by zero, [B, T] + f0 = 10 * 2 ** (cents / 1200) + uv = hidden.max(dim=2)[0] < thred # [B, T] + f0 = f0 * ~uv + return f0.squeeze(0).cpu().numpy() + + +def to_viterbi_f0(hidden, thred=0.03): + # Create viterbi transition matrix + if not hasattr(to_viterbi_f0, 'transition'): + xx, yy = np.meshgrid(range(N_CLASS), range(N_CLASS)) + transition = np.maximum(30 - abs(xx - yy), 0) + transition = transition / transition.sum(axis=1, keepdims=True) + to_viterbi_f0.transition = transition + + # Convert to probability + prob = hidden.squeeze(0).cpu().numpy() + prob = prob.T + prob = prob / prob.sum(axis=0) + + # Perform viterbi decoding + path = librosa.sequence.viterbi(prob, to_viterbi_f0.transition).astype(np.int64) + center = torch.from_numpy(path).unsqueeze(0).unsqueeze(-1).to(hidden.device) + + return to_local_average_f0(hidden, center=center, thred=thred) diff --git a/modules/toplevel.py b/modules/toplevel.py new file mode 100644 index 0000000..4a97b3c --- /dev/null +++ b/modules/toplevel.py @@ -0,0 +1,366 @@ +from typing import Dict + +import torch +import torch.nn as nn +import torch.nn.functional as F +from torch import Tensor + +import modules.compat as compat +from basics.base_module import CategorizedModule +from modules.aux_decoder import AuxDecoderAdaptor +from modules.commons.common_layers import ( + NormalInitEmbedding as Embedding, + SinusoidalPosEmb, AdamWLinear, +) +from modules.core import ( + GaussianDiffusion, PitchDiffusion, MultiVarianceDiffusion, + RectifiedFlow, PitchRectifiedFlow, MultiVarianceRectifiedFlow +) +from modules.fastspeech.acoustic_encoder import FastSpeech2Acoustic +from modules.fastspeech.param_adaptor import ParameterAdaptorModule +from modules.fastspeech.tts_modules import RhythmRegulator, LengthRegulator, StretchRegulator +from modules.fastspeech.variance_encoder import FastSpeech2Variance, MelodyEncoder +from utils.hparams import hparams + + +class ShallowDiffusionOutput: + def __init__(self, *, aux_out=None, diff_out=None): + self.aux_out = aux_out + self.diff_out = diff_out + + +class DiffSingerAcoustic(CategorizedModule, ParameterAdaptorModule): + @property + def category(self): + return 'acoustic' + + def __init__(self, vocab_size, out_dims): + CategorizedModule.__init__(self) + ParameterAdaptorModule.__init__(self) + self.fs2 = FastSpeech2Acoustic( + vocab_size=vocab_size + ) + + self.use_shallow_diffusion = hparams.get('use_shallow_diffusion', False) + self.shallow_args = hparams.get('shallow_diffusion_args', {}) + if self.use_shallow_diffusion: + self.train_aux_decoder = self.shallow_args['train_aux_decoder'] + self.train_diffusion = self.shallow_args['train_diffusion'] + self.aux_decoder_grad = self.shallow_args['aux_decoder_grad'] + self.aux_decoder = AuxDecoderAdaptor( + in_dims=hparams['hidden_size'], out_dims=out_dims, num_feats=1, + spec_min=hparams['spec_min'], spec_max=hparams['spec_max'], + aux_decoder_arch=self.shallow_args['aux_decoder_arch'], + aux_decoder_args=self.shallow_args['aux_decoder_args'] + ) + self.diffusion_type = hparams.get('diffusion_type', 'ddpm') + self.backbone_type = compat.get_backbone_type(hparams) + self.backbone_args = compat.get_backbone_args(hparams, self.backbone_type) + if self.diffusion_type == 'ddpm': + self.diffusion = GaussianDiffusion( + out_dims=out_dims, + num_feats=1, + timesteps=hparams['timesteps'], + k_step=hparams['K_step'], + backbone_type=self.backbone_type, + backbone_args=self.backbone_args, + spec_min=hparams['spec_min'], + spec_max=hparams['spec_max'] + ) + elif self.diffusion_type == 'reflow': + self.diffusion = RectifiedFlow( + out_dims=out_dims, + num_feats=1, + t_start=hparams['T_start'], + time_scale_factor=hparams['time_scale_factor'], + backbone_type=self.backbone_type, + backbone_args=self.backbone_args, + spec_min=hparams['spec_min'], + spec_max=hparams['spec_max'] + ) + else: + raise NotImplementedError(self.diffusion_type) + + def forward( + self, txt_tokens, mel2ph, f0, key_shift=None, speed=None, + spk_embed_id=None, languages=None, gt_mel=None, infer=True, **kwargs + ) -> ShallowDiffusionOutput: + condition = self.fs2( + txt_tokens, mel2ph, f0, key_shift=key_shift, speed=speed, + spk_embed_id=spk_embed_id, languages=languages, + **kwargs + ) + if infer: + if self.use_shallow_diffusion: + aux_mel_pred = self.aux_decoder(condition, infer=True) + aux_mel_pred *= ((mel2ph > 0).float()[:, :, None]) + if gt_mel is not None and self.shallow_args['val_gt_start']: + src_mel = gt_mel + else: + src_mel = aux_mel_pred + else: + aux_mel_pred = src_mel = None + mel_pred = self.diffusion(condition, src_spec=src_mel, infer=True) + mel_pred *= ((mel2ph > 0).float()[:, :, None]) + return ShallowDiffusionOutput(aux_out=aux_mel_pred, diff_out=mel_pred) + else: + if self.use_shallow_diffusion: + if self.train_aux_decoder: + aux_cond = condition * self.aux_decoder_grad + condition.detach() * (1 - self.aux_decoder_grad) + aux_out = self.aux_decoder(aux_cond, infer=False) + else: + aux_out = None + if self.train_diffusion: + diff_out = self.diffusion(condition, gt_spec=gt_mel, infer=False) + else: + diff_out = None + return ShallowDiffusionOutput(aux_out=aux_out, diff_out=diff_out) + + else: + aux_out = None + diff_out = self.diffusion(condition, gt_spec=gt_mel, infer=False) + return ShallowDiffusionOutput(aux_out=aux_out, diff_out=diff_out) + + +class DiffSingerVariance(CategorizedModule, ParameterAdaptorModule): + @property + def category(self): + return 'variance' + + def __init__(self, vocab_size): + CategorizedModule.__init__(self) + ParameterAdaptorModule.__init__(self) + self.predict_dur = hparams['predict_dur'] + self.predict_pitch = hparams['predict_pitch'] + + self.use_stretch_embed = hparams.get('use_stretch_embed', None) + assert self.use_stretch_embed is not None, "You may be loading an old version of the model checkpoint, which is incompatible with the new version due to some bug fixes. It is recommended to roll back to the old version (commit id: 6df0ee977c3728f14cb79c2db8b19df30b23a0bf)" + if self.use_stretch_embed and (self.predict_pitch or self.predict_variances): + self.sr = StretchRegulator() + self.stretch_embed = nn.Sequential( + SinusoidalPosEmb(hparams['hidden_size']), + nn.Linear(hparams['hidden_size'], hparams['hidden_size'] * 4), + nn.GELU(), + nn.Linear(hparams['hidden_size'] * 4, hparams['hidden_size']), + ) + self.stretch_embed_rnn = nn.GRU(hparams['hidden_size'], hparams['hidden_size'], 1, batch_first=True) + + self.use_spk_id = hparams['use_spk_id'] + if self.use_spk_id: + self.spk_embed = Embedding(hparams['num_spk'], hparams['hidden_size']) + + self.fs2 = FastSpeech2Variance( + vocab_size=vocab_size + ) + self.rr = RhythmRegulator() + self.lr = LengthRegulator() + self.diffusion_type = hparams.get('diffusion_type', 'ddpm') + if self.predict_pitch: + self.use_melody_encoder = hparams.get('use_melody_encoder', False) + if self.use_melody_encoder: + self.melody_encoder = MelodyEncoder(enc_hparams=hparams['melody_encoder_args']) + self.delta_pitch_embed = AdamWLinear(1, hparams['hidden_size']) + else: + self.base_pitch_embed = AdamWLinear(1, hparams['hidden_size']) + + self.pitch_retake_embed = Embedding(2, hparams['hidden_size']) + pitch_hparams = hparams['pitch_prediction_args'] + self.pitch_backbone_type = compat.get_backbone_type(hparams, nested_config=pitch_hparams) + self.pitch_backbone_args = compat.get_backbone_args(pitch_hparams, backbone_type=self.pitch_backbone_type) + if self.diffusion_type == 'ddpm': + self.pitch_predictor = PitchDiffusion( + vmin=pitch_hparams['pitd_norm_min'], + vmax=pitch_hparams['pitd_norm_max'], + cmin=pitch_hparams['pitd_clip_min'], + cmax=pitch_hparams['pitd_clip_max'], + repeat_bins=pitch_hparams['repeat_bins'], + timesteps=hparams['timesteps'], + k_step=hparams['K_step'], + backbone_type=self.pitch_backbone_type, + backbone_args=self.pitch_backbone_args + ) + elif self.diffusion_type == 'reflow': + self.pitch_predictor = PitchRectifiedFlow( + vmin=pitch_hparams['pitd_norm_min'], + vmax=pitch_hparams['pitd_norm_max'], + cmin=pitch_hparams['pitd_clip_min'], + cmax=pitch_hparams['pitd_clip_max'], + repeat_bins=pitch_hparams['repeat_bins'], + time_scale_factor=hparams['time_scale_factor'], + backbone_type=self.pitch_backbone_type, + backbone_args=self.pitch_backbone_args + ) + else: + raise ValueError(f"Invalid diffusion type: {self.diffusion_type}") + + if self.predict_variances: + self.pitch_embed = AdamWLinear(1, hparams['hidden_size']) + self.variance_embeds = nn.ModuleDict({ + v_name: AdamWLinear(1, hparams['hidden_size']) + for v_name in self.variance_prediction_list + }) + + if self.diffusion_type == 'ddpm': + self.variance_predictor = self.build_adaptor(cls=MultiVarianceDiffusion) + elif self.diffusion_type == 'reflow': + self.variance_predictor = self.build_adaptor(cls=MultiVarianceRectifiedFlow) + else: + raise NotImplementedError(self.diffusion_type) + + self.use_variance_scaling = hparams.get('use_variance_scaling', False) + self.custom_variance_scaling_factor = { + 'energy': 1. / 96, + 'breathiness': 1. / 96, + 'voicing': 1. / 96, + 'tension': 0.1, + 'key_shift': 1. / 12, + 'speed': 1. + } + self.default_variance_scaling_factor = { + 'energy': 1., + 'breathiness': 1., + 'voicing': 1., + 'tension': 1., + 'key_shift': 1., + 'speed': 1. + } + if self.use_variance_scaling: + self.variance_retake_scaling = self.custom_variance_scaling_factor + else: + self.variance_retake_scaling = self.default_variance_scaling_factor + + def forward( + self, txt_tokens, midi, ph2word, ph_dur=None, word_dur=None, mel2ph=None, + note_midi=None, note_rest=None, note_dur=None, note_glide=None, mel2note=None, + base_pitch=None, pitch=None, pitch_expr=None, pitch_retake=None, + variance_retake: Dict[str, Tensor] = None, + spk_id=None, languages=None, + infer=True, **kwargs + ): + if self.use_spk_id: + ph_spk_mix_embed = kwargs.get('ph_spk_mix_embed') + spk_mix_embed = kwargs.get('spk_mix_embed') + if ph_spk_mix_embed is not None and spk_mix_embed is not None: + ph_spk_embed = ph_spk_mix_embed + spk_embed = spk_mix_embed + else: + ph_spk_embed = spk_embed = self.spk_embed(spk_id)[:, None, :] # [B,] => [B, T=1, H] + else: + ph_spk_embed = spk_embed = None + + encoder_out, dur_pred_out = self.fs2( + txt_tokens, midi=midi, ph2word=ph2word, + ph_dur=ph_dur, word_dur=word_dur, + spk_embed=ph_spk_embed, languages=languages, + infer=infer + ) + + if not self.predict_pitch and not self.predict_variances: + return dur_pred_out, None, ({} if infer else None) + + if mel2ph is None and word_dur is not None: # inference from file + dur_pred_align = self.rr(dur_pred_out, ph2word, word_dur) + mel2ph = self.lr(dur_pred_align) + mel2ph = F.pad(mel2ph, [0, base_pitch.shape[1] - mel2ph.shape[1]]) + + encoder_out = F.pad(encoder_out, [0, 0, 1, 0]) + mel2ph_ = mel2ph[..., None].repeat([1, 1, hparams['hidden_size']]) + condition = torch.gather(encoder_out, 1, mel2ph_) + + if self.use_stretch_embed: + stretch = torch.round(1000 * self.sr(mel2ph, ph_dur)) + if self.training and stretch.numel() > 1000: + # construct a phoneme stretching index lookup table with a total of 1001 indexes (0~1000) + table = self.stretch_embed(torch.arange(0, 1001, device=stretch.device)) + stretch_embed = torch.index_select(table, 0, stretch.view(-1).long()).view_as(condition) + else: + stretch_embed = self.stretch_embed(stretch) + condition += stretch_embed + self.stretch_embed_rnn.flatten_parameters() + stretch_embed_rnn_out, _ = self.stretch_embed_rnn(condition) + condition = condition + stretch_embed_rnn_out + + if self.use_spk_id: + condition += spk_embed + + if self.predict_pitch: + if self.use_melody_encoder: + melody_encoder_out = self.melody_encoder( + note_midi, note_rest, note_dur, + glide=note_glide + ) + melody_encoder_out = F.pad(melody_encoder_out, [0, 0, 1, 0]) + mel2note_ = mel2note[..., None].repeat([1, 1, hparams['hidden_size']]) + melody_condition = torch.gather(melody_encoder_out, 1, mel2note_) + pitch_cond = condition + melody_condition + else: + pitch_cond = condition.clone() # preserve the original tensor to avoid further inplace operations + + retake_unset = pitch_retake is None + if retake_unset: + pitch_retake = torch.ones_like(mel2ph, dtype=torch.bool) + + if pitch_expr is None: + pitch_retake_embed = self.pitch_retake_embed(pitch_retake.long()) + else: + retake_true_embed = self.pitch_retake_embed( + torch.ones(1, 1, dtype=torch.long, device=txt_tokens.device) + ) # [B=1, T=1] => [B=1, T=1, H] + retake_false_embed = self.pitch_retake_embed( + torch.zeros(1, 1, dtype=torch.long, device=txt_tokens.device) + ) # [B=1, T=1] => [B=1, T=1, H] + pitch_expr = (pitch_expr * pitch_retake)[:, :, None] # [B, T, 1] + pitch_retake_embed = pitch_expr * retake_true_embed + (1. - pitch_expr) * retake_false_embed + + pitch_cond += pitch_retake_embed + if self.use_melody_encoder: + if retake_unset: # generate from scratch + delta_pitch_in = torch.zeros_like(base_pitch) + else: + delta_pitch_in = (pitch - base_pitch) * ~pitch_retake + if self.use_variance_scaling: + pitch_cond += self.delta_pitch_embed(delta_pitch_in[:, :, None] / 12) + else: + pitch_cond += self.delta_pitch_embed(delta_pitch_in[:, :, None]) + else: + if not retake_unset: # retake + base_pitch = base_pitch * pitch_retake + pitch * ~pitch_retake + if self.use_variance_scaling: + pitch_cond += self.base_pitch_embed(base_pitch[:, :, None] / 128) + else: + pitch_cond += self.base_pitch_embed(base_pitch[:, :, None]) + + if infer: + pitch_pred_out = self.pitch_predictor(pitch_cond, infer=True) + else: + pitch_pred_out = self.pitch_predictor(pitch_cond, pitch - base_pitch, infer=False) + else: + pitch_pred_out = None + + if not self.predict_variances: + return dur_pred_out, pitch_pred_out, ({} if infer else None) + + if pitch is None: + pitch = base_pitch + pitch_pred_out + if self.use_variance_scaling: + var_cond = condition + self.pitch_embed(pitch[:, :, None] / 12) + else: + var_cond = condition + self.pitch_embed(pitch[:, :, None]) + + variance_inputs = self.collect_variance_inputs(**kwargs) + + if variance_retake is not None: + variance_embeds = [ + self.variance_embeds[v_name](v_input[:, :, None] * self.variance_retake_scaling[v_name]) * ~variance_retake[v_name][:, :, None] + for v_name, v_input in zip(self.variance_prediction_list, variance_inputs) + ] + var_cond += torch.stack(variance_embeds, dim=-1).sum(-1) + + variance_outputs = self.variance_predictor(var_cond, variance_inputs, infer=infer) + + if infer: + variances_pred_out = self.collect_variance_outputs(variance_outputs) + else: + variances_pred_out = variance_outputs + + return dur_pred_out, pitch_pred_out, variances_pred_out diff --git a/modules/vocoders/__init__.py b/modules/vocoders/__init__.py new file mode 100644 index 0000000..607db7a --- /dev/null +++ b/modules/vocoders/__init__.py @@ -0,0 +1,2 @@ +from modules.vocoders import ddsp +from modules.vocoders import nsf_hifigan diff --git a/modules/vocoders/ddsp.py b/modules/vocoders/ddsp.py new file mode 100644 index 0000000..ddd228f --- /dev/null +++ b/modules/vocoders/ddsp.py @@ -0,0 +1,120 @@ +import pathlib + +import numpy as np +import torch +import torch.nn.functional as F +import yaml +from librosa.filters import mel as librosa_mel_fn + +from basics.base_vocoder import BaseVocoder +from modules.vocoders.registry import register_vocoder +from utils.hparams import hparams + + +class DotDict(dict): + def __getattr__(*args): + val = dict.get(*args) + return DotDict(val) if type(val) is dict else val + + __setattr__ = dict.__setitem__ + __delattr__ = dict.__delitem__ + + +def load_model(model_path: pathlib.Path, device='cpu'): + config_file = model_path.with_name('config.yaml') + with open(config_file, "r") as config: + args = yaml.safe_load(config) + args = DotDict(args) + + # load model + print(' [Loading] ' + str(model_path)) + model = torch.jit.load(model_path, map_location=torch.device(device)) + model.eval() + + return model, args + + +@register_vocoder +class DDSP(BaseVocoder): + def __init__(self, device='cpu'): + self.device = device + model_path = pathlib.Path(hparams['vocoder_ckpt']) + assert model_path.exists(), 'DDSP model file is not found!' + self.model, self.args = load_model(model_path, device=self.device) + + def to_device(self, device): + pass + + def get_device(self): + return self.device + + def spec2wav_torch(self, mel, f0): # mel: [B, T, bins] f0: [B, T] + if self.args.data.sampling_rate != hparams['audio_sample_rate']: + print('Mismatch parameters: hparams[\'audio_sample_rate\']=', hparams['audio_sample_rate'], '!=', + self.args.data.sampling_rate, '(vocoder)') + if self.args.data.n_mels != hparams['audio_num_mel_bins']: + print('Mismatch parameters: hparams[\'audio_num_mel_bins\']=', hparams['audio_num_mel_bins'], '!=', + self.args.data.n_mels, '(vocoder)') + if self.args.data.n_fft != hparams['fft_size']: + print('Mismatch parameters: hparams[\'fft_size\']=', hparams['fft_size'], '!=', self.args.data.n_fft, + '(vocoder)') + if self.args.data.win_length != hparams['win_size']: + print('Mismatch parameters: hparams[\'win_size\']=', hparams['win_size'], '!=', self.args.data.win_length, + '(vocoder)') + if self.args.data.block_size != hparams['hop_size']: + print('Mismatch parameters: hparams[\'hop_size\']=', hparams['hop_size'], '!=', self.args.data.block_size, + '(vocoder)') + if self.args.data.mel_fmin != hparams['fmin']: + print('Mismatch parameters: hparams[\'fmin\']=', hparams['fmin'], '!=', self.args.data.mel_fmin, + '(vocoder)') + if self.args.data.mel_fmax != hparams['fmax']: + print('Mismatch parameters: hparams[\'fmax\']=', hparams['fmax'], '!=', self.args.data.mel_fmax, + '(vocoder)') + with torch.no_grad(): + mel = mel.to(self.device) + mel_base = hparams.get('mel_base', 10) + if mel_base != 'e': + assert mel_base in [10, '10'], "mel_base must be 'e', '10' or 10." + else: + # log mel to log10 mel + mel = 0.434294 * mel + f0 = f0.unsqueeze(-1).to(self.device) + signal, _, (s_h, s_n) = self.model(mel, f0) + signal = signal.view(-1) + return signal + + def spec2wav(self, mel, f0): + if self.args.data.sampling_rate != hparams['audio_sample_rate']: + print('Mismatch parameters: hparams[\'audio_sample_rate\']=', hparams['audio_sample_rate'], '!=', + self.args.data.sampling_rate, '(vocoder)') + if self.args.data.n_mels != hparams['audio_num_mel_bins']: + print('Mismatch parameters: hparams[\'audio_num_mel_bins\']=', hparams['audio_num_mel_bins'], '!=', + self.args.data.n_mels, '(vocoder)') + if self.args.data.n_fft != hparams['fft_size']: + print('Mismatch parameters: hparams[\'fft_size\']=', hparams['fft_size'], '!=', self.args.data.n_fft, + '(vocoder)') + if self.args.data.win_length != hparams['win_size']: + print('Mismatch parameters: hparams[\'win_size\']=', hparams['win_size'], '!=', self.args.data.win_length, + '(vocoder)') + if self.args.data.block_size != hparams['hop_size']: + print('Mismatch parameters: hparams[\'hop_size\']=', hparams['hop_size'], '!=', self.args.data.block_size, + '(vocoder)') + if self.args.data.mel_fmin != hparams['fmin']: + print('Mismatch parameters: hparams[\'fmin\']=', hparams['fmin'], '!=', self.args.data.mel_fmin, + '(vocoder)') + if self.args.data.mel_fmax != hparams['fmax']: + print('Mismatch parameters: hparams[\'fmax\']=', hparams['fmax'], '!=', self.args.data.mel_fmax, + '(vocoder)') + with torch.no_grad(): + mel = torch.FloatTensor(mel).unsqueeze(0).to(self.device) + mel_base = hparams.get('mel_base', 10) + if mel_base != 'e': + assert mel_base in [10, '10'], "mel_base must be 'e', '10' or 10." + else: + # log mel to log10 mel + mel = 0.434294 * mel + f0 = torch.FloatTensor(f0).unsqueeze(0).unsqueeze(-1).to(self.device) + signal, _, (s_h, s_n) = self.model(mel, f0) + signal = signal.view(-1) + wav_out = signal.cpu().numpy() + return wav_out diff --git a/modules/vocoders/nsf_hifigan.py b/modules/vocoders/nsf_hifigan.py new file mode 100644 index 0000000..aed2c58 --- /dev/null +++ b/modules/vocoders/nsf_hifigan.py @@ -0,0 +1,104 @@ +import pathlib + +import torch + +try: + from lightning.pytorch.utilities.rank_zero import rank_zero_info +except ModuleNotFoundError: + rank_zero_info = print + +from modules.nsf_hifigan.models import load_model +from basics.base_vocoder import BaseVocoder +from modules.vocoders.registry import register_vocoder +from utils.hparams import hparams + + +@register_vocoder +class NsfHifiGAN(BaseVocoder): + def __init__(self): + model_path = pathlib.Path(hparams['vocoder_ckpt']) + if not model_path.exists(): + raise FileNotFoundError( + f'NSF-HiFiGAN vocoder model is not found at \'{model_path}\'. ' + 'Please follow instructions in docs/BestPractices.md#vocoders to get one.' + ) + rank_zero_info(f'| Load HifiGAN: {model_path}') + self.model, self.h = load_model(model_path) + + @property + def device(self): + return next(self.model.parameters()).device + + def to_device(self, device): + self.model.to(device) + + def get_device(self): + return self.device + + def spec2wav_torch(self, mel, **kwargs): # mel: [B, T, bins] + if self.h.sampling_rate != hparams['audio_sample_rate']: + print('Mismatch parameters: hparams[\'audio_sample_rate\']=', hparams['audio_sample_rate'], '!=', + self.h.sampling_rate, '(vocoder)') + if self.h.num_mels != hparams['audio_num_mel_bins']: + print('Mismatch parameters: hparams[\'audio_num_mel_bins\']=', hparams['audio_num_mel_bins'], '!=', + self.h.num_mels, '(vocoder)') + if self.h.n_fft != hparams['fft_size']: + print('Mismatch parameters: hparams[\'fft_size\']=', hparams['fft_size'], '!=', self.h.n_fft, '(vocoder)') + if self.h.win_size != hparams['win_size']: + print('Mismatch parameters: hparams[\'win_size\']=', hparams['win_size'], '!=', self.h.win_size, + '(vocoder)') + if self.h.hop_size != hparams['hop_size']: + print('Mismatch parameters: hparams[\'hop_size\']=', hparams['hop_size'], '!=', self.h.hop_size, + '(vocoder)') + if self.h.fmin != hparams['fmin']: + print('Mismatch parameters: hparams[\'fmin\']=', hparams['fmin'], '!=', self.h.fmin, '(vocoder)') + if self.h.fmax != hparams['fmax']: + print('Mismatch parameters: hparams[\'fmax\']=', hparams['fmax'], '!=', self.h.fmax, '(vocoder)') + with torch.no_grad(): + c = mel.transpose(2, 1) # [B, T, bins] + mel_base = hparams.get('mel_base', 10) + if mel_base != 'e': + assert mel_base in [10, '10'], "mel_base must be 'e', '10' or 10." + # log10 to log mel + c = 2.30259 * c + f0 = kwargs.get('f0') # [B, T] + if f0 is not None: + y = self.model(c, f0).view(-1) + else: + y = self.model(c).view(-1) + return y + + def spec2wav(self, mel, **kwargs): + if self.h.sampling_rate != hparams['audio_sample_rate']: + print('Mismatch parameters: hparams[\'audio_sample_rate\']=', hparams['audio_sample_rate'], '!=', + self.h.sampling_rate, '(vocoder)') + if self.h.num_mels != hparams['audio_num_mel_bins']: + print('Mismatch parameters: hparams[\'audio_num_mel_bins\']=', hparams['audio_num_mel_bins'], '!=', + self.h.num_mels, '(vocoder)') + if self.h.n_fft != hparams['fft_size']: + print('Mismatch parameters: hparams[\'fft_size\']=', hparams['fft_size'], '!=', self.h.n_fft, '(vocoder)') + if self.h.win_size != hparams['win_size']: + print('Mismatch parameters: hparams[\'win_size\']=', hparams['win_size'], '!=', self.h.win_size, + '(vocoder)') + if self.h.hop_size != hparams['hop_size']: + print('Mismatch parameters: hparams[\'hop_size\']=', hparams['hop_size'], '!=', self.h.hop_size, + '(vocoder)') + if self.h.fmin != hparams['fmin']: + print('Mismatch parameters: hparams[\'fmin\']=', hparams['fmin'], '!=', self.h.fmin, '(vocoder)') + if self.h.fmax != hparams['fmax']: + print('Mismatch parameters: hparams[\'fmax\']=', hparams['fmax'], '!=', self.h.fmax, '(vocoder)') + with torch.no_grad(): + c = torch.FloatTensor(mel).unsqueeze(0).transpose(2, 1).to(self.device) + mel_base = hparams.get('mel_base', 10) + if mel_base != 'e': + assert mel_base in [10, '10'], "mel_base must be 'e', '10' or 10." + # log10 to log mel + c = 2.30259 * c + f0 = kwargs.get('f0') + if f0 is not None: + f0 = torch.FloatTensor(f0[None, :]).to(self.device) + y = self.model(c, f0).view(-1) + else: + y = self.model(c).view(-1) + wav_out = y.cpu().numpy() + return wav_out diff --git a/modules/vocoders/registry.py b/modules/vocoders/registry.py new file mode 100644 index 0000000..a77e37e --- /dev/null +++ b/modules/vocoders/registry.py @@ -0,0 +1,21 @@ +import importlib + + +VOCODERS = {} + + +def register_vocoder(cls): + VOCODERS[cls.__name__.lower()] = cls + VOCODERS[cls.__name__] = cls + return cls + + +def get_vocoder_cls(hparams): + if hparams['vocoder'] in VOCODERS: + return VOCODERS[hparams['vocoder']] + else: + vocoder_cls = hparams['vocoder'] + pkg = ".".join(vocoder_cls.split(".")[:-1]) + cls_name = vocoder_cls.split(".")[-1] + vocoder_cls = getattr(importlib.import_module(pkg), cls_name) + return vocoder_cls diff --git a/preprocessing/acoustic_binarizer.py b/preprocessing/acoustic_binarizer.py new file mode 100644 index 0000000..9301f14 --- /dev/null +++ b/preprocessing/acoustic_binarizer.py @@ -0,0 +1,355 @@ +""" + item: one piece of data + item_name: data id + wav_fn: wave file path + spk: dataset name + ph_seq: phoneme sequence + ph_dur: phoneme durations +""" +import csv +import os +import pathlib +import random +from copy import deepcopy + +import librosa +import numpy as np +import torch + +from basics.base_binarizer import BaseBinarizer +from basics.base_pe import BasePE +from modules.fastspeech.tts_modules import LengthRegulator +from modules.pe import initialize_pe +from utils.binarizer_utils import ( + SinusoidalSmoothingConv1d, + get_mel_torch, + get_mel2ph_torch, + get_energy_librosa, + get_breathiness, + get_voicing, + get_tension_base_harmonic, +) +from utils.decomposed_waveform import DecomposedWaveform +from utils.hparams import hparams + +os.environ["OMP_NUM_THREADS"] = "1" +ACOUSTIC_ITEM_ATTRIBUTES = [ + 'spk_id', + 'mel', + 'languages', + 'tokens', + 'mel2ph', + 'f0', + 'energy', + 'breathiness', + 'voicing', + 'tension', + 'key_shift', + 'speed', +] +WAV_CANDIDATE_EXTENSIONS = ['.wav', '.flac'] + +pitch_extractor: BasePE = None +energy_smooth: SinusoidalSmoothingConv1d = None +breathiness_smooth: SinusoidalSmoothingConv1d = None +voicing_smooth: SinusoidalSmoothingConv1d = None +tension_smooth: SinusoidalSmoothingConv1d = None + + +class AcousticBinarizer(BaseBinarizer): + def __init__(self): + super().__init__(data_attrs=ACOUSTIC_ITEM_ATTRIBUTES) + self.lr = LengthRegulator() + self.need_energy = hparams['use_energy_embed'] + self.need_breathiness = hparams['use_breathiness_embed'] + self.need_voicing = hparams['use_voicing_embed'] + self.need_tension = hparams['use_tension_embed'] + assert hparams['mel_base'] == 'e', ( + "Mel base must be set to \'e\' according to 2nd stage of the migration plan. " + "See https://github.com/openvpi/DiffSinger/releases/tag/v2.3.0 for more details." + ) + + def load_meta_data(self, raw_data_dir: pathlib.Path, ds_id, spk, lang): + meta_data_dict = {} + with open(raw_data_dir / 'transcriptions.csv', 'r', encoding='utf-8') as f: + for utterance_label in csv.DictReader(f): + item_name = utterance_label['name'] + wav_fn = None + for ext in WAV_CANDIDATE_EXTENSIONS: + candidate_fn = raw_data_dir / 'wavs' / f'{item_name}{ext}' + if candidate_fn.exists(): + wav_fn = candidate_fn + break + if wav_fn is None: + raise FileNotFoundError( + f'Waveform file not found for item \'{item_name}\'. ' + f'Candidate extensions: {WAV_CANDIDATE_EXTENSIONS}' + ) + temp_dict = { + 'wav_fn': str(wav_fn), + 'spk_id': self.spk_map[spk], + 'spk_name': spk, + 'lang_seq': [ + ( + self.lang_map[lang if '/' not in p else p.split('/', maxsplit=1)[0]] + if self.phoneme_dictionary.is_cross_lingual(p if '/' in p else f'{lang}/{p}') + else 0 + ) + for p in utterance_label['ph_seq'].split() + ], + 'ph_seq': self.phoneme_dictionary.encode(utterance_label['ph_seq'], lang=lang), + 'ph_dur': [float(x) for x in utterance_label['ph_dur'].split()], + 'ph_text': utterance_label['ph_seq'], + } + assert len(temp_dict['ph_seq']) == len(temp_dict['ph_dur']), \ + f'Lengths of ph_seq and ph_dur mismatch in \'{item_name}\'.' + assert all(ph_dur >= 0 for ph_dur in temp_dict['ph_dur']), \ + f'Negative ph_dur found in \'{item_name}\'.' + meta_data_dict[f'{ds_id}:{item_name}'] = temp_dict + + return meta_data_dict + + @torch.no_grad() + def process_item(self, item_name, meta_data, binarization_args): + waveform, _ = librosa.load(meta_data['wav_fn'], sr=hparams['audio_sample_rate'], mono=True) + mel = get_mel_torch( + waveform, hparams['audio_sample_rate'], num_mel_bins=hparams['audio_num_mel_bins'], + hop_size=hparams['hop_size'], win_size=hparams['win_size'], fft_size=hparams['fft_size'], + fmin=hparams['fmin'], fmax=hparams['fmax'], + device=self.device + ) + length = mel.shape[0] + seconds = length * hparams['hop_size'] / hparams['audio_sample_rate'] + processed_input = { + 'name': item_name, + 'wav_fn': meta_data['wav_fn'], + 'spk_id': meta_data['spk_id'], + 'spk_name': meta_data['spk_name'], + 'seconds': seconds, + 'length': length, + 'mel': mel, + 'languages': np.array(meta_data['lang_seq'], dtype=np.int64), + 'tokens': np.array(meta_data['ph_seq'], dtype=np.int64), + 'ph_dur': np.array(meta_data['ph_dur']).astype(np.float32), + 'ph_text': meta_data['ph_text'], + } + + # get ground truth dur + processed_input['mel2ph'] = get_mel2ph_torch( + self.lr, torch.from_numpy(processed_input['ph_dur']), length, self.timestep, device=self.device + ).cpu().numpy() + + # get ground truth f0 + global pitch_extractor + if pitch_extractor is None: + pitch_extractor = initialize_pe() + gt_f0, uv = pitch_extractor.get_pitch( + waveform, samplerate=hparams['audio_sample_rate'], length=length, + hop_size=hparams['hop_size'], f0_min=hparams['f0_min'], f0_max=hparams['f0_max'], + interp_uv=True + ) + if uv.all(): # All unvoiced + print(f'Skipped \'{item_name}\': empty gt f0') + return None + processed_input['f0'] = gt_f0.astype(np.float32) + + if self.need_energy: + # get ground truth energy + energy = get_energy_librosa( + waveform, length, hop_size=hparams['hop_size'], win_size=hparams['win_size'] + ).astype(np.float32) + + global energy_smooth + if energy_smooth is None: + energy_smooth = SinusoidalSmoothingConv1d( + round(hparams['energy_smooth_width'] / self.timestep) + ).eval().to(self.device) + energy = energy_smooth(torch.from_numpy(energy).to(self.device)[None])[0] + + processed_input['energy'] = energy.cpu().numpy() + + # create a DecomposedWaveform object for further feature extraction + dec_waveform = DecomposedWaveform( + waveform, samplerate=hparams['audio_sample_rate'], f0=gt_f0 * ~uv, + hop_size=hparams['hop_size'], fft_size=hparams['fft_size'], win_size=hparams['win_size'], + algorithm=hparams['hnsep'] + ) + + if self.need_breathiness: + # get ground truth breathiness + breathiness = get_breathiness( + dec_waveform, None, None, length=length + ) + + global breathiness_smooth + if breathiness_smooth is None: + breathiness_smooth = SinusoidalSmoothingConv1d( + round(hparams['breathiness_smooth_width'] / self.timestep) + ).eval().to(self.device) + breathiness = breathiness_smooth(torch.from_numpy(breathiness).to(self.device)[None])[0] + + processed_input['breathiness'] = breathiness.cpu().numpy() + + if self.need_voicing: + # get ground truth voicing + voicing = get_voicing( + dec_waveform, None, None, length=length + ) + + global voicing_smooth + if voicing_smooth is None: + voicing_smooth = SinusoidalSmoothingConv1d( + round(hparams['voicing_smooth_width'] / self.timestep) + ).eval().to(self.device) + voicing = voicing_smooth(torch.from_numpy(voicing).to(self.device)[None])[0] + + processed_input['voicing'] = voicing.cpu().numpy() + + if self.need_tension: + # get ground truth tension + tension = get_tension_base_harmonic( + dec_waveform, None, None, length=length, domain='logit' + ) + + global tension_smooth + if tension_smooth is None: + tension_smooth = SinusoidalSmoothingConv1d( + round(hparams['tension_smooth_width'] / self.timestep) + ).eval().to(self.device) + tension = tension_smooth(torch.from_numpy(tension).to(self.device)[None])[0] + if tension.isnan().any(): + print('Error:', item_name) + print(tension) + return None + + processed_input['tension'] = tension.cpu().numpy() + + if hparams['use_key_shift_embed']: + processed_input['key_shift'] = 0. + + if hparams['use_speed_embed']: + processed_input['speed'] = 1. + + return processed_input + + def arrange_data_augmentation(self, data_iterator): + aug_map = {} + aug_list = [] + all_item_names = [item_name for item_name, _ in data_iterator] + total_scale = 0 + aug_pe = initialize_pe() + if self.augmentation_args['random_pitch_shifting']['enabled']: + from augmentation.spec_stretch import SpectrogramStretchAugmentation + aug_args = self.augmentation_args['random_pitch_shifting'] + key_shift_min, key_shift_max = aug_args['range'] + assert hparams['use_key_shift_embed'], \ + 'Random pitch shifting augmentation requires use_key_shift_embed == True.' + assert key_shift_min < 0 < key_shift_max, \ + 'Random pitch shifting augmentation must have a range where min < 0 < max.' + + aug_ins = SpectrogramStretchAugmentation(self.raw_data_dirs, aug_args, pe=aug_pe) + scale = aug_args['scale'] + aug_item_names = random.choices(all_item_names, k=int(scale * len(all_item_names))) + + for aug_item_name in aug_item_names: + rand = random.uniform(-1, 1) + if rand < 0: + key_shift = key_shift_min * abs(rand) + else: + key_shift = key_shift_max * rand + aug_task = { + 'name': aug_item_name, + 'func': aug_ins.process_item, + 'kwargs': {'key_shift': key_shift} + } + if aug_item_name in aug_map: + aug_map[aug_item_name].append(aug_task) + else: + aug_map[aug_item_name] = [aug_task] + aug_list.append(aug_task) + + total_scale += scale + + if self.augmentation_args['fixed_pitch_shifting']['enabled']: + from augmentation.spec_stretch import SpectrogramStretchAugmentation + aug_args = self.augmentation_args['fixed_pitch_shifting'] + targets = aug_args['targets'] + scale = aug_args['scale'] + spk_id_size = max(self.spk_ids) + 1 + min_num_spk = (1 + len(targets)) * spk_id_size + assert not self.augmentation_args['random_pitch_shifting']['enabled'], \ + 'Fixed pitch shifting augmentation is not compatible with random pitch shifting.' + assert len(targets) == len(set(targets)), \ + 'Fixed pitch shifting augmentation requires having no duplicate targets.' + assert hparams['use_spk_id'], 'Fixed pitch shifting augmentation requires use_spk_id == True.' + assert hparams['num_spk'] >= min_num_spk, \ + f'Fixed pitch shifting augmentation requires num_spk >= (1 + len(targets)) * (max(spk_ids) + 1).' + assert scale < 1, 'Fixed pitch shifting augmentation requires scale < 1.' + + aug_ins = SpectrogramStretchAugmentation(self.raw_data_dirs, aug_args, pe=aug_pe) + for i, target in enumerate(targets): + aug_item_names = random.choices(all_item_names, k=int(scale * len(all_item_names))) + for aug_item_name in aug_item_names: + replace_spk_id = self.spk_ids[int(aug_item_name.split(':', maxsplit=1)[0])] + (i + 1) * spk_id_size + aug_task = { + 'name': aug_item_name, + 'func': aug_ins.process_item, + 'kwargs': {'key_shift': target, 'replace_spk_id': replace_spk_id} + } + if aug_item_name in aug_map: + aug_map[aug_item_name].append(aug_task) + else: + aug_map[aug_item_name] = [aug_task] + aug_list.append(aug_task) + + total_scale += scale * len(targets) + + if self.augmentation_args['random_time_stretching']['enabled']: + from augmentation.spec_stretch import SpectrogramStretchAugmentation + aug_args = self.augmentation_args['random_time_stretching'] + speed_min, speed_max = aug_args['range'] + assert hparams['use_speed_embed'], \ + 'Random time stretching augmentation requires use_speed_embed == True.' + assert 0 < speed_min < 1 < speed_max, \ + 'Random time stretching augmentation must have a range where 0 < min < 1 < max.' + + aug_ins = SpectrogramStretchAugmentation(self.raw_data_dirs, aug_args, pe=aug_pe) + scale = aug_args['scale'] + k_from_raw = int(scale / (1 + total_scale) * len(all_item_names)) + k_from_aug = int(total_scale * scale / (1 + total_scale) * len(all_item_names)) + k_mutate = int(total_scale * scale / (1 + scale) * len(all_item_names)) + aug_types = [0] * k_from_raw + [1] * k_from_aug + [2] * k_mutate + aug_items = random.choices(all_item_names, k=k_from_raw) + random.choices(aug_list, k=k_from_aug + k_mutate) + + for aug_type, aug_item in zip(aug_types, aug_items): + # Uniform distribution in log domain + speed = speed_min * (speed_max / speed_min) ** random.random() + if aug_type == 0: + aug_task = { + 'name': aug_item, + 'func': aug_ins.process_item, + 'kwargs': {'speed': speed} + } + if aug_item in aug_map: + aug_map[aug_item].append(aug_task) + else: + aug_map[aug_item] = [aug_task] + aug_list.append(aug_task) + elif aug_type == 1: + aug_task = { + 'name': aug_item, + 'func': aug_item['func'], + 'kwargs': deepcopy(aug_item['kwargs']) + } + aug_task['kwargs']['speed'] = speed + if aug_item['name'] in aug_map: + aug_map[aug_item['name']].append(aug_task) + else: + aug_map[aug_item['name']] = [aug_task] + aug_list.append(aug_task) + elif aug_type == 2: + aug_item['kwargs']['speed'] = speed + + total_scale += scale + + return aug_map diff --git a/preprocessing/variance_binarizer.py b/preprocessing/variance_binarizer.py new file mode 100644 index 0000000..3d2990f --- /dev/null +++ b/preprocessing/variance_binarizer.py @@ -0,0 +1,529 @@ +import csv +import json +import os +import pathlib + +import librosa +import numpy as np +import torch +import torch.nn.functional as F +from scipy import interpolate + +from basics.base_binarizer import BaseBinarizer, BinarizationError +from basics.base_pe import BasePE +from modules.fastspeech.tts_modules import LengthRegulator +from modules.pe import initialize_pe +from utils.binarizer_utils import ( + SinusoidalSmoothingConv1d, + get_mel2ph_torch, + get_energy_librosa, + get_breathiness, + get_voicing, + get_tension_base_harmonic, +) +from utils.decomposed_waveform import DecomposedWaveform +from utils.hparams import hparams +from utils.infer_utils import resample_align_curve +from utils.pitch_utils import interp_f0 +from utils.plot import distribution_to_figure + +os.environ["OMP_NUM_THREADS"] = "1" +VARIANCE_ITEM_ATTRIBUTES = [ + 'spk_id', # index number of dataset/speaker, int64 + 'languages', # index numbers of phoneme languages, int64[T_ph,] + 'tokens', # index numbers of phonemes, int64[T_ph,] + 'ph_dur', # durations of phonemes, in number of frames, int64[T_ph,] + 'midi', # phoneme-level mean MIDI pitch, int64[T_ph,] + 'ph2word', # similar to mel2ph format, representing number of phones within each note, int64[T_ph,] + 'mel2ph', # mel2ph format representing number of frames within each phone, int64[T_s,] + 'note_midi', # note-level MIDI pitch, float32[T_n,] + 'note_rest', # flags for rest notes, bool[T_n,] + 'note_dur', # durations of notes, in number of frames, int64[T_n,] + 'note_glide', # flags for glides, 0 = none, 1 = up, 2 = down, int64[T_n,] + 'mel2note', # mel2ph format representing number of frames within each note, int64[T_s,] + 'base_pitch', # interpolated and smoothed frame-level MIDI pitch, float32[T_s,] + 'pitch', # actual pitch in semitones, float32[T_s,] + 'uv', # unvoiced masks (only for objective evaluation metrics), bool[T_s,] + 'energy', # frame-level RMS (dB), float32[T_s,] + 'breathiness', # frame-level RMS of aperiodic parts (dB), float32[T_s,] + 'voicing', # frame-level RMS of harmonic parts (dB), float32[T_s,] + 'tension', # frame-level tension (logit), float32[T_s,] +] +WAV_CANDIDATE_EXTENSIONS = ['.wav', '.flac'] +DS_INDEX_SEP = '#' + +# These operators are used as global variables due to a PyTorch shared memory bug on Windows platforms. +# See https://github.com/pytorch/pytorch/issues/100358 +pitch_extractor: BasePE = None +midi_smooth: SinusoidalSmoothingConv1d = None +energy_smooth: SinusoidalSmoothingConv1d = None +breathiness_smooth: SinusoidalSmoothingConv1d = None +voicing_smooth: SinusoidalSmoothingConv1d = None +tension_smooth: SinusoidalSmoothingConv1d = None + + +class VarianceBinarizer(BaseBinarizer): + def __init__(self): + super().__init__(data_attrs=VARIANCE_ITEM_ATTRIBUTES) + + self.use_glide_embed = hparams['use_glide_embed'] + glide_types = hparams['glide_types'] + assert 'none' not in glide_types, 'Type name \'none\' is reserved and should not appear in glide_types.' + self.glide_map = { + 'none': 0, + **{ + typename: idx + 1 + for idx, typename in enumerate(glide_types) + } + } + + predict_energy = hparams['predict_energy'] + predict_breathiness = hparams['predict_breathiness'] + predict_voicing = hparams['predict_voicing'] + predict_tension = hparams['predict_tension'] + self.predict_variances = predict_energy or predict_breathiness or predict_voicing or predict_tension + self.lr = LengthRegulator().to(self.device) + self.prefer_ds = self.binarization_args['prefer_ds'] + self.cached_ds = {} + + def load_attr_from_ds(self, ds_id, name, attr, idx=0): + item_name = f'{ds_id}:{name}' + item_name_with_idx = f'{item_name}{DS_INDEX_SEP}{idx}' + if item_name_with_idx in self.cached_ds: + ds = self.cached_ds[item_name_with_idx][0] + elif item_name in self.cached_ds: + ds = self.cached_ds[item_name][idx] + else: + ds_path = self.raw_data_dirs[ds_id] / 'ds' / f'{name}{DS_INDEX_SEP}{idx}.ds' + if ds_path.exists(): + cache_key = item_name_with_idx + else: + ds_path = self.raw_data_dirs[ds_id] / 'ds' / f'{name}.ds' + cache_key = item_name + if not ds_path.exists(): + return None + with open(ds_path, 'r', encoding='utf8') as f: + ds = json.load(f) + if not isinstance(ds, list): + ds = [ds] + self.cached_ds[cache_key] = ds + ds = ds[idx] + return ds.get(attr) + + def load_meta_data(self, raw_data_dir: pathlib.Path, ds_id, spk, lang): + meta_data_dict = {} + + with open(raw_data_dir / 'transcriptions.csv', 'r', encoding='utf8') as f: + for utterance_label in csv.DictReader(f): + utterance_label: dict + item_name = utterance_label['name'] + item_idx = int(item_name.rsplit(DS_INDEX_SEP, maxsplit=1)[-1]) if DS_INDEX_SEP in item_name else 0 + + def require(attr, optional=False): + if self.prefer_ds: + value = self.load_attr_from_ds(ds_id, item_name, attr, item_idx) + else: + value = None + if value is None: + value = utterance_label.get(attr) + if value is None and not optional: + raise ValueError(f'Missing required attribute {attr} of item \'{item_name}\'.') + return value + + wav_fn = None + for ext in WAV_CANDIDATE_EXTENSIONS: + candidate_fn = raw_data_dir / 'wavs' / f'{item_name}{ext}' + if candidate_fn.exists(): + wav_fn = candidate_fn + break + if wav_fn is None and not self.prefer_ds: + raise FileNotFoundError( + f'Waveform file not found for item \'{item_name}\'. ' + f'Candidate extensions: {WAV_CANDIDATE_EXTENSIONS}\n' + f'If you are using DS files instead of waveform files, please set \'prefer_ds\' to true.' + ) + + temp_dict = { + 'ds_idx': item_idx, + 'spk_id': self.spk_map[spk], + 'spk_name': spk, + 'language_id': self.lang_map[lang], + 'language_name': lang, + 'wav_fn': str(wav_fn) if wav_fn is not None else None, + 'lang_seq': [ + ( + self.lang_map[lang if '/' not in p else p.split('/', maxsplit=1)[0]] + if self.phoneme_dictionary.is_cross_lingual(p if '/' in p else f'{lang}/{p}') + else 0 + ) + for p in utterance_label['ph_seq'].split() + ], + 'ph_seq': self.phoneme_dictionary.encode(require('ph_seq'), lang=lang), + 'ph_dur': [float(x) for x in require('ph_dur').split()], + 'ph_text': require('ph_seq'), + } + + assert len(temp_dict['ph_seq']) == len(temp_dict['ph_dur']), \ + f'Lengths of ph_seq and ph_dur mismatch in \'{item_name}\'.' + assert all(ph_dur >= 0 for ph_dur in temp_dict['ph_dur']), \ + f'Negative ph_dur found in \'{item_name}\'.' + + if hparams['predict_dur']: + temp_dict['ph_num'] = [int(x) for x in require('ph_num').split()] + assert len(temp_dict['ph_seq']) == sum(temp_dict['ph_num']), \ + f'Sum of ph_num does not equal length of ph_seq in \'{item_name}\'.' + + if hparams['predict_pitch']: + temp_dict['note_seq'] = require('note_seq').split() + temp_dict['note_dur'] = [float(x) for x in require('note_dur').split()] + assert all(note_dur >= 0 for note_dur in temp_dict['note_dur']), \ + f'Negative note_dur found in \'{item_name}\'.' + assert len(temp_dict['note_seq']) == len(temp_dict['note_dur']), \ + f'Lengths of note_seq and note_dur mismatch in \'{item_name}\'.' + assert any([note != 'rest' for note in temp_dict['note_seq']]), \ + f'All notes are rest in \'{item_name}\'.' + if hparams['use_glide_embed']: + note_glide = require('note_glide', optional=True) + if note_glide is None: + note_glide = ['none' for _ in temp_dict['note_seq']] + else: + note_glide = note_glide.split() + assert len(note_glide) == len(temp_dict['note_seq']), \ + f'Lengths of note_seq and note_glide mismatch in \'{item_name}\'.' + assert all(g in self.glide_map for g in note_glide), \ + f'Invalid glide type found in \'{item_name}\'.' + temp_dict['note_glide'] = note_glide + + meta_data_dict[f'{ds_id}:{item_name}'] = temp_dict + + return meta_data_dict + + def check_coverage(self): + super().check_coverage() + if not hparams['predict_pitch']: + return + + # MIDI pitch distribution summary + midi_map = {} + for item_name in self.items: + for midi in self.items[item_name]['note_seq']: + if midi == 'rest': + continue + midi = librosa.note_to_midi(midi, round_midi=True) + if midi in midi_map: + midi_map[midi] += 1 + else: + midi_map[midi] = 1 + + print('===== MIDI Pitch Distribution Summary =====') + for i, key in enumerate(sorted(midi_map.keys())): + if i == len(midi_map) - 1: + end = '\n' + elif i % 10 == 9: + end = ',\n' + else: + end = ', ' + print(f'\'{librosa.midi_to_note(key, unicode=False)}\': {midi_map[key]}', end=end) + + # Draw graph. + midis = sorted(midi_map.keys()) + notes = [librosa.midi_to_note(m, unicode=False) for m in range(midis[0], midis[-1] + 1)] + plt = distribution_to_figure( + title='MIDI Pitch Distribution Summary', + x_label='MIDI Key', y_label='Number of occurrences', + items=notes, values=[midi_map.get(m, 0) for m in range(midis[0], midis[-1] + 1)] + ) + filename = self.binary_data_dir / 'midi_distribution.jpg' + plt.savefig(fname=filename, + bbox_inches='tight', + pad_inches=0.25) + print(f'| save summary to \'{filename}\'') + + if self.use_glide_embed: + # Glide type distribution summary + glide_count = { + g: 0 + for g in self.glide_map + } + for item_name in self.items: + for glide in self.items[item_name]['note_glide']: + if glide == 'none' or glide not in self.glide_map: + glide_count['none'] += 1 + else: + glide_count[glide] += 1 + + print('===== Glide Type Distribution Summary =====') + for i, key in enumerate(sorted(glide_count.keys(), key=lambda k: self.glide_map[k])): + if i == len(glide_count) - 1: + end = '\n' + elif i % 10 == 9: + end = ',\n' + else: + end = ', ' + print(f'\'{key}\': {glide_count[key]}', end=end) + + if any(n == 0 for _, n in glide_count.items()): + raise BinarizationError( + f'Missing glide types in dataset: ' + f'{sorted([g for g, n in glide_count.items() if n == 0], key=lambda k: self.glide_map[k])}' + ) + + @torch.no_grad() + def process_item(self, item_name, meta_data, binarization_args): + ds_id, name = item_name.split(':', maxsplit=1) + name = name.rsplit(DS_INDEX_SEP, maxsplit=1)[0] + ds_id = int(ds_id) + ds_seg_idx = meta_data['ds_idx'] + seconds = sum(meta_data['ph_dur']) + length = round(seconds / self.timestep) + T_ph = len(meta_data['ph_seq']) + processed_input = { + 'name': item_name, + 'wav_fn': meta_data['wav_fn'], + 'spk_id': meta_data['spk_id'], + 'spk_name': meta_data['spk_name'], + 'seconds': seconds, + 'length': length, + 'languages': np.array(meta_data['lang_seq'], dtype=np.int64), + 'tokens': np.array(meta_data['ph_seq'], dtype=np.int64), + 'ph_text': meta_data['ph_text'], + } + + ph_dur_sec = torch.FloatTensor(meta_data['ph_dur']).to(self.device) + ph_acc = torch.round(torch.cumsum(ph_dur_sec, dim=0) / self.timestep + 0.5).long() + ph_dur = torch.diff(ph_acc, dim=0, prepend=torch.LongTensor([0]).to(self.device)) + processed_input['ph_dur'] = ph_dur.cpu().numpy() + + mel2ph = get_mel2ph_torch( + self.lr, ph_dur_sec, length, self.timestep, device=self.device + ) + + if hparams['predict_pitch'] or self.predict_variances: + processed_input['mel2ph'] = mel2ph.cpu().numpy() + + # Below: extract actual f0, convert to pitch and calculate delta pitch + if meta_data['wav_fn'] is not None: + waveform, _ = librosa.load(meta_data['wav_fn'], sr=hparams['audio_sample_rate'], mono=True) + else: + waveform = None + + global pitch_extractor + if pitch_extractor is None: + pitch_extractor = initialize_pe() + f0 = uv = None + if self.prefer_ds: + f0_seq = self.load_attr_from_ds(ds_id, name, 'f0_seq', idx=ds_seg_idx) + if f0_seq is not None: + f0 = resample_align_curve( + np.array(f0_seq.split(), np.float32), + original_timestep=float(self.load_attr_from_ds(ds_id, name, 'f0_timestep', idx=ds_seg_idx)), + target_timestep=self.timestep, + align_length=length + ) + uv = f0 == 0 + f0, _ = interp_f0(f0, uv) + if f0 is None: + f0, uv = pitch_extractor.get_pitch( + waveform, samplerate=hparams['audio_sample_rate'], length=length, + hop_size=hparams['hop_size'], f0_min=hparams['f0_min'], f0_max=hparams['f0_max'], + interp_uv=True + ) + if uv.all(): # All unvoiced + print(f'Skipped \'{item_name}\': empty gt f0') + return None + pitch = torch.from_numpy(librosa.hz_to_midi(f0.astype(np.float32)).astype(np.float32)).to(self.device) + + if hparams['predict_dur']: + ph_num = torch.LongTensor(meta_data['ph_num']).to(self.device) + ph2word = self.lr(ph_num[None])[0] + processed_input['ph2word'] = ph2word.cpu().numpy() + mel2dur = torch.gather(F.pad(ph_dur, [1, 0], value=1), 0, mel2ph) # frame-level phone duration + ph_midi = pitch.new_zeros(T_ph + 1).scatter_add( + 0, mel2ph, pitch / mel2dur + )[1:] + processed_input['midi'] = ph_midi.round().long().clamp(min=0, max=127).cpu().numpy() + + if hparams['predict_pitch']: + # Below: get note sequence and interpolate rest notes + note_midi = np.array( + [(librosa.note_to_midi(n, round_midi=False) if n != 'rest' else -1) for n in meta_data['note_seq']], + dtype=np.float32 + ) + note_rest = note_midi < 0 + interp_func = interpolate.interp1d( + np.where(~note_rest)[0], note_midi[~note_rest], + kind='nearest', fill_value='extrapolate' + ) + note_midi[note_rest] = interp_func(np.where(note_rest)[0]) + processed_input['note_midi'] = note_midi + processed_input['note_rest'] = note_rest + note_midi = torch.from_numpy(note_midi).to(self.device) + + note_dur_sec = torch.FloatTensor(meta_data['note_dur']).to(self.device) + note_acc = torch.round(torch.cumsum(note_dur_sec, dim=0) / self.timestep + 0.5).long() + note_dur = torch.diff(note_acc, dim=0, prepend=torch.LongTensor([0]).to(self.device)) + processed_input['note_dur'] = note_dur.cpu().numpy() + + mel2note = get_mel2ph_torch( + self.lr, note_dur_sec, mel2ph.shape[0], self.timestep, device=self.device + ) + processed_input['mel2note'] = mel2note.cpu().numpy() + + # Below: get ornament attributes + if hparams['use_glide_embed']: + processed_input['note_glide'] = np.array([ + self.glide_map.get(x, 0) for x in meta_data['note_glide'] + ], dtype=np.int64) + + # Below: + # 1. Get the frame-level MIDI pitch, which is a step function curve + # 2. smoothen the pitch step curve as the base pitch curve + frame_midi_pitch = torch.gather(F.pad(note_midi, [1, 0], value=0), 0, mel2note) + global midi_smooth + if midi_smooth is None: + midi_smooth = SinusoidalSmoothingConv1d( + round(hparams['midi_smooth_width'] / self.timestep) + ).eval().to(self.device) + smoothed_midi_pitch = midi_smooth(frame_midi_pitch[None])[0] + processed_input['base_pitch'] = smoothed_midi_pitch.cpu().numpy() + + if hparams['predict_pitch'] or self.predict_variances: + processed_input['pitch'] = pitch.cpu().numpy() + processed_input['uv'] = uv + + # Below: extract energy + if hparams['predict_energy']: + energy = None + energy_from_wav = False + if self.prefer_ds: + energy_seq = self.load_attr_from_ds(ds_id, name, 'energy', idx=ds_seg_idx) + if energy_seq is not None: + energy = resample_align_curve( + np.array(energy_seq.split(), np.float32), + original_timestep=float(self.load_attr_from_ds( + ds_id, name, 'energy_timestep', idx=ds_seg_idx + )), + target_timestep=self.timestep, + align_length=length + ) + if energy is None: + energy = get_energy_librosa( + waveform, length, + hop_size=hparams['hop_size'], win_size=hparams['win_size'] + ).astype(np.float32) + energy_from_wav = True + + if energy_from_wav: + global energy_smooth + if energy_smooth is None: + energy_smooth = SinusoidalSmoothingConv1d( + round(hparams['energy_smooth_width'] / self.timestep) + ).eval().to(self.device) + energy = energy_smooth(torch.from_numpy(energy).to(self.device)[None])[0].cpu().numpy() + + processed_input['energy'] = energy + + # create a DecomposedWaveform object for further feature extraction + dec_waveform = DecomposedWaveform( + waveform, samplerate=hparams['audio_sample_rate'], f0=f0 * ~uv, + hop_size=hparams['hop_size'], fft_size=hparams['fft_size'], win_size=hparams['win_size'], + algorithm=hparams['hnsep'] + ) if waveform is not None else None + + # Below: extract breathiness + if hparams['predict_breathiness']: + breathiness = None + breathiness_from_wav = False + if self.prefer_ds: + breathiness_seq = self.load_attr_from_ds(ds_id, name, 'breathiness', idx=ds_seg_idx) + if breathiness_seq is not None: + breathiness = resample_align_curve( + np.array(breathiness_seq.split(), np.float32), + original_timestep=float(self.load_attr_from_ds( + ds_id, name, 'breathiness_timestep', idx=ds_seg_idx + )), + target_timestep=self.timestep, + align_length=length + ) + if breathiness is None: + breathiness = get_breathiness( + dec_waveform, None, None, length=length + ) + breathiness_from_wav = True + + if breathiness_from_wav: + global breathiness_smooth + if breathiness_smooth is None: + breathiness_smooth = SinusoidalSmoothingConv1d( + round(hparams['breathiness_smooth_width'] / self.timestep) + ).eval().to(self.device) + breathiness = breathiness_smooth(torch.from_numpy(breathiness).to(self.device)[None])[0].cpu().numpy() + + processed_input['breathiness'] = breathiness + + # Below: extract voicing + if hparams['predict_voicing']: + voicing = None + voicing_from_wav = False + if self.prefer_ds: + voicing_seq = self.load_attr_from_ds(ds_id, name, 'voicing', idx=ds_seg_idx) + if voicing_seq is not None: + voicing = resample_align_curve( + np.array(voicing_seq.split(), np.float32), + original_timestep=float(self.load_attr_from_ds( + ds_id, name, 'voicing_timestep', idx=ds_seg_idx + )), + target_timestep=self.timestep, + align_length=length + ) + if voicing is None: + voicing = get_voicing( + dec_waveform, None, None, length=length + ) + voicing_from_wav = True + + if voicing_from_wav: + global voicing_smooth + if voicing_smooth is None: + voicing_smooth = SinusoidalSmoothingConv1d( + round(hparams['voicing_smooth_width'] / self.timestep) + ).eval().to(self.device) + voicing = voicing_smooth(torch.from_numpy(voicing).to(self.device)[None])[0].cpu().numpy() + + processed_input['voicing'] = voicing + + # Below: extract tension + if hparams['predict_tension']: + tension = None + tension_from_wav = False + if self.prefer_ds: + tension_seq = self.load_attr_from_ds(ds_id, name, 'tension', idx=ds_seg_idx) + if tension_seq is not None: + tension = resample_align_curve( + np.array(tension_seq.split(), np.float32), + original_timestep=float(self.load_attr_from_ds( + ds_id, name, 'tension_timestep', idx=ds_seg_idx + )), + target_timestep=self.timestep, + align_length=length + ) + if tension is None: + tension = get_tension_base_harmonic( + dec_waveform, None, None, length=length, domain='logit' + ) + tension_from_wav = True + + if tension_from_wav: + global tension_smooth + if tension_smooth is None: + tension_smooth = SinusoidalSmoothingConv1d( + round(hparams['tension_smooth_width'] / self.timestep) + ).eval().to(self.device) + tension = tension_smooth(torch.from_numpy(tension).to(self.device)[None])[0].cpu().numpy() + + processed_input['tension'] = tension + + return processed_input + + def arrange_data_augmentation(self, data_iterator): + return {} diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..4645417 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,23 @@ +# It is recommended to install PyTorch manually. +# PyTorch >= 2.4 is recommended. +# See instructions at https://pytorch.org/get-started/locally/ + +click +einops>=0.7.0 +h5py +librosa<0.10.0 +lightning~=2.3.0 +matplotlib +MonkeyType>=23.3.0 +numpy<2.0.0 +onnx>=1.21.0 +onnxsim>=0.6.5 +praat-parselmouth==0.4.3 +pyworld==0.3.4 +PyYAML +resampy +scipy>=1.10.0 +tensorboard +tensorboardX +torchmetrics +tqdm diff --git a/samples/00_我多想说再见啊.ds b/samples/00_我多想说再见啊.ds new file mode 100644 index 0000000..509f21c --- /dev/null +++ b/samples/00_我多想说再见啊.ds @@ -0,0 +1,362 @@ +[ + { + "offset": 7.0, + "text": "AP 试 着 SP 掬 一 把 星 辰 SP 在 手 心 SP", + "ph_seq": "AP sh ir zh e SP j v y i b a x in ch en SP z ai sh ou x in SP", + "ph_dur": "0.3947 0.209 0.2554 0.1509 0.5921 0.1045 0.1045 0.3019 0.0929 0.3019 0.0929 0.2438 0.1625 0.1045 0.0929 0.4063 0.0697 0.1277 0.2206 0.1741 0.3599 0.2438 0.9985 0.0464", + "ph_num": "2 2 1 2 2 2 2 2 1 2 2 2 1 1", + "note_seq": "rest D#3 C4 rest D#4 C4 A#3 C4 C4 rest D#3 G3 G#3 rest", + "note_dur": "0.6 0.4 0.6 0.2 0.4 0.4 0.4 0.2 0.4 0.2 0.4 0.6 1.0 0.05", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 160.3 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.7 156.2 156.7 157.3 157.9 158.5 159.1 159.7 160.3 160.9 161.4 161.0 160.3 158.6 156.5 154.8 153.2 151.7 150.1 149.5 149.5 149.6 149.7 150.0 150.5 151.0 151.5 151.9 152.4 152.9 153.4 154.0 154.3 154.3 154.3 155.0 155.5 156.0 156.0 155.8 156.1 156.3 156.2 155.9 155.7 155.4 155.2 155.0 154.8 154.7 154.7 154.6 154.6 154.9 155.2 155.5 155.7 155.8 155.9 156.0 156.0 155.2 154.4 153.0 151.3 149.6 148.4 148.2 148.7 150.9 153.4 155.7 157.1 158.7 161.7 165.1 168.4 171.7 175.5 179.1 182.9 186.8 189.6 193.0 197.6 200.4 204.3 208.7 213.4 218.5 223.3 226.8 229.1 230.5 232.1 232.9 234.4 236.0 237.6 238.5 239.0 239.5 239.8 240.0 240.1 240.1 240.3 240.1 239.7 239.2 238.8 238.4 238.1 237.7 237.3 236.8 236.4 236.1 236.3 236.5 236.7 237.6 238.6 240.3 242.4 245.2 247.9 250.3 253.2 256.1 259.0 261.1 262.1 262.7 263.3 263.9 264.5 265.0 265.6 265.6 265.5 265.4 265.3 265.3 265.0 264.4 263.7 263.1 263.1 263.3 263.3 263.4 263.5 263.5 263.3 263.1 262.8 262.6 262.4 262.2 262.2 262.1 262.1 262.1 261.9 261.9 261.9 261.9 261.8 261.6 261.6 261.6 261.6 261.6 261.6 262.3 262.9 263.6 264.4 265.3 266.1 267.0 267.7 268.0 268.2 268.3 268.0 267.0 265.7 264.2 262.5 260.7 259.5 258.4 257.1 256.6 256.3 256.0 256.5 257.6 259.2 260.8 262.5 264.3 265.6 266.1 266.5 266.8 267.0 267.0 266.2 265.0 263.5 261.9 260.7 260.2 259.9 259.5 259.0 258.9 258.8 259.4 262.2 265.5 267.3 269.3 271.6 274.2 277.9 282.8 286.9 290.8 293.8 296.6 299.1 301.0 301.6 300.0 296.6 292.8 289.2 286.1 284.0 281.8 279.4 277.1 276.9 278.1 280.2 281.7 282.8 283.3 285.3 287.1 289.0 290.8 293.3 295.7 299.0 302.8 305.4 306.7 308.8 310.1 310.1 311.3 311.3 311.3 311.3 312.0 312.7 313.7 313.9 314.0 314.2 314.2 314.3 314.4 314.5 314.6 314.7 314.8 314.9 315.1 315.1 314.9 314.9 314.8 314.7 314.6 314.5 314.3 314.1 313.7 313.5 313.2 313.0 312.8 312.6 312.2 312.2 312.2 312.2 312.2 312.2 312.2 312.1 312.0 311.9 311.5 310.9 311.1 311.1 310.5 310.1 309.6 309.0 308.5 307.9 307.0 305.7 303.7 301.5 299.3 296.6 293.3 289.9 286.5 282.2 277.8 274.5 271.4 269.1 267.2 265.7 264.7 264.2 263.8 263.7 263.3 262.9 262.6 262.4 262.3 262.2 262.0 261.9 261.9 261.9 261.9 262.1 262.1 262.1 262.1 262.1 262.1 262.1 262.1 262.1 262.1 262.1 262.0 261.8 261.6 261.3 261.5 261.5 261.6 261.7 261.8 261.9 262.0 262.2 262.2 262.4 262.4 262.5 262.6 262.7 262.8 262.6 262.5 262.3 262.0 261.8 261.5 260.7 259.9 258.5 254.5 249.5 243.7 238.6 233.8 232.1 231.8 234.2 236.9 239.8 241.2 241.8 241.3 240.5 239.3 236.9 233.7 231.1 229.2 227.1 225.0 223.8 223.3 224.1 225.0 225.9 227.1 227.6 228.2 229.0 230.0 231.0 231.4 231.6 231.9 232.1 232.0 231.8 231.7 231.6 231.5 231.3 231.3 231.2 231.1 231.3 231.7 232.0 232.2 232.4 232.4 232.6 232.7 232.8 232.8 232.9 232.9 232.8 232.8 232.7 232.7 232.3 231.9 231.7 232.0 232.5 233.0 233.5 234.0 234.4 234.6 234.7 234.9 235.0 234.8 234.3 229.7 225.0 219.2 212.8 209.7 212.0 214.7 217.9 221.7 225.9 228.8 231.4 233.8 235.9 237.6 239.5 241.6 244.6 248.1 250.0 252.5 254.6 256.5 258.4 260.4 261.5 262.4 262.9 263.0 263.0 262.9 263.1 262.8 262.6 262.1 261.4 260.9 260.9 260.9 261.0 260.9 261.0 260.9 261.3 261.8 261.8 261.8 261.8 261.8 261.3 261.3 261.6 261.3 261.1 261.0 261.1 260.5 259.9 259.3 259.7 259.9 259.7 259.7 260.0 260.4 260.8 261.1 261.3 261.4 261.6 262.0 262.8 263.3 263.7 264.2 264.5 264.4 264.3 264.1 263.7 263.4 263.0 262.6 262.0 261.6 261.2 260.8 260.7 260.6 260.4 260.4 260.2 260.1 260.0 259.8 259.8 259.7 259.9 260.1 260.3 260.3 260.5 260.6 260.8 261.0 261.2 261.5 261.7 261.9 262.2 262.4 262.3 262.2 262.1 262.1 262.0 260.9 260.0 259.6 259.1 258.1 257.1 256.1 255.2 255.2 255.4 255.9 257.0 258.4 260.0 261.5 263.0 264.3 265.5 266.8 268.0 268.7 268.2 267.8 267.1 265.9 264.4 262.9 261.2 259.5 258.7 258.1 257.7 257.5 260.3 264.1 263.6 263.4 262.7 261.8 259.9 257.0 253.3 248.2 241.4 233.0 223.5 211.9 197.2 179.9 163.5 149.1 138.9 131.6 125.6 121.1 118.8 117.2 115.8 114.7 114.6 114.6 114.7 114.6 114.8 115.3 116.9 119.1 121.7 124.5 127.3 130.2 132.8 135.4 137.3 139.1 140.8 142.3 143.9 145.3 146.7 148.0 148.7 149.5 150.3 151.0 151.7 152.4 153.2 154.0 154.7 155.1 155.3 155.6 155.9 156.2 156.4 156.6 156.4 155.9 155.5 155.2 155.3 155.4 155.5 155.6 155.7 155.8 155.9 156.0 156.2 156.7 157.2 157.7 158.3 157.7 156.9 155.5 153.5 151.6 151.5 151.1 150.8 150.5 150.4 150.4 150.3 150.4 150.7 151.1 151.8 152.9 153.9 154.7 155.3 155.9 156.4 156.6 156.6 156.6 156.6 156.1 155.5 155.0 154.8 155.4 157.8 161.6 166.8 171.8 176.2 179.5 181.7 183.7 185.4 186.2 186.5 186.5 186.3 185.9 185.3 184.5 183.9 183.6 183.4 183.1 183.0 183.0 182.9 182.9 182.8 182.8 183.2 184.1 185.0 186.4 188.0 189.4 191.1 193.0 194.9 196.8 198.1 199.1 199.8 200.3 200.8 200.9 201.0 201.0 200.9 200.2 199.5 198.6 197.7 196.7 195.9 195.4 195.2 195.0 194.7 194.5 194.4 194.3 194.3 194.3 194.4 194.4 194.4 194.4 194.3 194.8 195.4 195.9 196.6 197.3 198.3 198.6 198.4 198.2 198.0 197.8 197.2 196.1 194.6 193.4 193.0 192.7 192.4 192.5 193.3 194.1 194.8 195.5 196.2 197.0 197.7 198.3 198.6 198.2 197.4 196.3 195.4 194.5 193.5 193.0 192.5 192.2 192.3 192.4 192.9 193.6 194.4 195.3 196.7 197.8 198.5 199.5 200.6 201.7 203.0 204.1 204.7 205.4 206.1 207.1 208.2 209.2 210.5 211.9 213.8 215.3 215.7 215.6 214.9 214.0 213.4 212.8 212.0 211.2 210.2 209.3 208.5 207.6 206.7 205.9 205.4 205.0 204.4 204.0 203.8 203.7 203.5 203.4 203.3 203.1 203.0 202.9 203.2 203.6 204.2 204.6 205.0 205.4 205.9 206.3 206.7 207.2 207.6 207.4 207.1 206.9 207.1 207.3 207.3 207.2 207.2 207.1 207.1 206.9 207.0 207.1 207.2 207.4 207.5 207.7 207.7 207.6 207.4 206.8 206.6 206.6 206.7 206.7 206.7 206.7 206.8 206.8 206.8 206.9 206.9 206.9 207.0 207.1 207.2 207.3 207.3 207.5 207.5 207.7 207.7 207.8 207.8 208.0 208.0 208.1 208.2 208.3 208.3 208.4 208.5 208.1 207.6 207.2 207.1 206.8 206.5 206.2 205.9 205.6 205.1 204.6 204.4 204.4 204.3 204.2 204.4 205.1 205.9 206.7 207.8 209.0 209.7 210.3 211.0 211.6 212.0 212.4 212.8 213.2 213.6 213.6 213.6 213.4 212.9 211.2 209.9 208.6 207.6 206.8 206.0 205.2 204.6 204.3 204.6 204.9 205.4 206.0 206.8 207.5 208.3 208.9 209.1 209.4 209.6 209.8 209.6 209.4 209.2 209.1 208.9 208.6 208.2 207.9 207.4 207.1 206.7 206.3 206.0 205.6 205.4 205.4 205.3 205.3 205.3 205.3 205.6 205.9 206.2 206.9 207.5 208.0 208.3 208.6 208.9 209.2 209.4 209.8 209.9 209.9 209.9 209.9 209.9 209.9 209.9 209.9 209.5 209.2 208.8 208.4 208.0 207.7 207.4 207.1 206.8 206.5 206.2 206.0 205.8 205.5 205.1 204.7 204.1 203.4 202.7 201.8 200.7 200.2 200.2", + "f0_timestep": "0.005" + }, + { + "offset": 13.4, + "text": "AP 却 遮 SP 住 迷 恋 遥 远 的 眼 睛 SP", + "ph_seq": "AP q ve zh e SP zh u m i l ian y ao y van d e y En j in SP", + "ph_dur": "0.4528 0.1509 0.2902 0.1161 0.9985 0.1045 0.0929 0.1161 0.0813 0.1509 0.0464 0.2902 0.1161 0.3019 0.0929 0.4992 0.1045 0.1045 0.0929 0.2786 0.1277 1.3932 0.058", + "ph_num": "2 2 1 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest C4 F4 rest D#4 D#4 C4 A#3 A#3 G#3 A#3 C4 rest", + "note_dur": "0.6 0.4 1.0 0.2 0.2 0.2 0.4 0.4 0.6 0.2 0.4 1.4 0.05", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 261.6 260.8 260.0 259.2 258.5 257.6 256.8 256.0 255.3 254.5 253.6 252.8 252.0 251.3 250.5 249.7 248.9 248.1 247.4 246.7 245.8 246.2 251.6 256.7 260.1 261.3 261.8 261.9 262.0 262.1 261.8 261.6 261.2 260.9 260.6 260.4 260.0 259.8 259.5 259.3 259.4 259.4 259.4 259.5 259.6 259.7 259.8 259.9 260.0 260.1 260.1 259.9 259.7 259.4 259.3 259.1 259.3 259.4 259.7 260.2 260.6 261.1 261.6 262.0 262.3 262.5 262.7 262.9 263.1 263.4 263.6 263.6 263.4 263.2 263.1 263.1 263.1 263.1 263.1 263.1 262.8 262.6 262.4 261.8 261.1 260.4 259.7 259.0 258.5 258.1 257.9 257.7 258.2 259.2 260.5 261.9 264.7 268.4 271.0 274.6 283.7 294.4 304.2 309.0 311.4 312.9 313.2 313.6 314.7 315.4 315.5 315.4 315.1 314.7 314.4 314.2 314.1 314.1 313.7 313.4 312.9 312.7 312.3 312.0 311.6 311.3 310.9 310.6 310.2 309.9 309.5 309.2 308.9 308.9 309.0 309.2 309.3 309.4 309.6 309.7 309.9 311.5 313.3 314.9 316.6 318.4 320.2 322.0 324.2 327.2 330.0 332.9 336.0 338.5 340.4 342.0 343.5 345.3 347.1 347.9 348.4 349.1 349.3 349.6 349.8 349.8 350.1 350.3 350.5 350.9 351.0 351.1 351.3 351.3 351.3 351.5 351.5 351.5 351.4 351.3 351.3 351.5 351.6 351.7 351.8 351.9 352.1 352.1 352.4 352.5 352.5 352.7 352.7 352.8 352.9 352.9 353.3 353.5 353.2 352.1 351.0 349.8 348.8 347.8 346.8 346.2 345.5 345.0 345.0 345.0 345.0 345.4 347.5 349.4 351.4 353.5 356.1 357.0 357.0 357.0 357.0 357.0 356.7 356.0 354.8 353.3 351.8 350.4 349.0 347.5 346.0 344.7 344.2 344.2 344.5 346.2 348.2 350.1 351.9 353.6 355.1 356.4 357.5 358.1 358.5 358.2 358.0 357.5 356.6 355.4 353.9 352.5 351.6 351.0 350.4 349.6 348.4 347.3 346.8 347.1 348.0 349.0 350.1 351.5 353.1 354.9 356.4 357.1 357.5 357.8 357.0 355.9 354.9 354.0 353.2 352.5 350.9 349.3 348.4 347.9 347.6 347.2 347.1 347.8 349.0 351.3 351.3 351.3 351.3 351.4 351.7 351.7 352.0 352.2 352.0 351.0 350.0 349.1 348.2 346.8 345.0 342.0 332.2 326.6 325.2 323.6 322.0 320.5 319.0 317.1 315.5 313.6 311.7 310.0 308.3 306.5 305.2 305.1 305.0 304.2 303.3 302.6 302.0 302.0 301.3 300.0 298.8 298.3 297.9 297.8 296.6 295.3 294.3 293.6 293.2 293.2 293.2 294.1 295.1 296.0 296.6 296.9 298.2 301.5 305.6 310.2 311.8 312.9 313.5 313.9 314.4 314.9 314.6 314.2 313.7 313.5 313.0 312.6 312.3 311.9 311.5 310.4 309.3 308.4 307.6 307.6 307.8 307.8 307.6 307.2 306.8 306.4 306.1 305.7 305.5 305.1 305.3 305.5 305.7 306.2 308.3 310.8 313.0 314.0 313.8 313.3 312.6 312.1 311.9 311.7 311.7 311.4 311.4 311.6 311.9 312.2 312.6 312.8 312.9 312.8 312.7 312.1 312.6 311.9 310.1 308.1 302.4 296.6 291.6 286.0 280.4 274.0 267.4 262.8 259.2 255.4 250.9 247.6 245.8 243.4 240.7 238.3 236.2 234.9 233.7 232.8 232.4 232.3 232.4 232.7 233.4 234.5 237.1 240.0 243.1 246.7 250.0 252.4 254.1 256.0 257.9 259.5 260.7 261.7 262.4 262.8 263.1 263.4 263.5 263.6 263.6 263.6 263.6 263.7 263.7 263.7 263.7 263.7 263.7 263.4 262.7 262.1 261.4 260.8 260.2 259.5 258.9 258.4 257.9 257.5 257.1 256.6 256.2 255.5 254.4 253.2 251.9 250.9 249.7 248.6 247.4 246.1 245.0 243.6 241.5 239.2 236.7 235.0 234.2 233.7 233.2 232.5 231.7 230.9 229.7 229.6 229.7 229.7 229.3 231.0 232.9 232.9 232.9 232.8 232.9 233.2 232.9 232.7 232.7 232.1 231.5 231.1 230.7 230.3 230.0 229.6 229.4 229.0 228.8 228.6 228.3 228.6 228.9 229.2 229.5 229.9 230.2 230.5 230.7 231.0 231.1 231.2 231.3 231.8 232.3 232.9 233.1 233.3 233.4 233.6 233.8 234.0 234.2 234.2 234.2 234.2 234.2 234.3 234.3 234.3 234.3 234.3 234.0 233.7 233.5 233.6 233.7 233.5 233.2 233.0 232.7 232.7 232.7 232.5 231.8 230.7 229.7 228.8 227.9 226.9 225.9 225.0 224.7 224.5 224.3 224.8 225.4 226.8 228.2 228.6 229.1 229.5 229.9 230.4 230.8 231.2 231.7 232.2 232.5 232.8 232.9 233.0 233.1 233.3 233.4 233.5 233.7 233.7 233.6 233.4 233.2 232.9 232.7 232.6 232.3 232.1 232.1 232.0 231.8 231.6 231.5 231.4 231.5 231.7 231.8 232.0 232.2 232.4 232.7 233.1 233.6 234.0 234.4 234.7 234.9 235.2 235.4 235.7 235.9 236.2 236.1 235.9 235.8 235.8 235.5 235.1 234.6 234.2 233.8 233.3 232.9 232.5 232.2 232.1 231.9 231.7 231.5 231.5 231.6 231.7 232.5 233.0 233.1 233.3 233.6 233.9 234.2 234.5 234.8 234.8 235.0 235.1 235.2 235.3 235.3 235.1 235.1 234.9 234.8 234.6 234.3 234.0 233.8 233.5 233.3 232.9 232.6 232.4 232.2 232.1 232.0 231.8 231.7 231.5 231.2 230.5 229.3 228.3 227.1 225.7 223.2 219.9 214.4 208.5 201.8 194.8 190.6 189.5 191.5 196.6 202.7 207.0 208.8 208.7 207.9 206.8 206.5 206.6 206.9 207.0 207.1 207.3 207.5 207.7 208.0 208.3 208.3 208.3 208.4 208.5 208.6 208.6 208.2 207.8 207.5 207.1 206.6 205.9 205.3 204.6 203.8 203.3 203.1 203.6 204.6 205.6 208.2 210.6 213.2 216.5 220.0 223.5 226.8 228.9 230.8 232.7 234.0 235.1 235.4 235.6 235.5 235.3 234.7 234.1 233.5 232.8 232.1 231.8 231.5 231.1 230.8 231.0 231.3 231.4 231.4 231.2 230.9 231.0 231.5 232.0 232.1 232.1 232.2 232.3 232.3 232.3 232.8 232.7 232.5 232.3 232.5 232.7 232.7 232.7 232.7 232.7 232.8 232.8 232.8 232.8 232.8 232.8 232.9 232.9 232.9 232.9 233.0 233.1 233.1 233.1 233.1 233.0 232.9 232.9 233.0 233.1 233.1 233.1 233.2 233.0 232.8 232.8 232.9 233.0 233.9 235.4 237.3 238.5 240.1 242.1 244.2 245.9 247.3 248.2 248.8 249.5 249.5 249.4 249.0 248.6 248.4 247.8 247.3 246.8 246.2 245.7 245.1 244.6 244.0 243.4 243.5 243.9 244.4 245.5 246.8 248.2 250.6 252.8 255.0 257.4 258.9 259.6 259.7 259.9 260.2 260.6 261.3 261.3 261.2 261.1 261.0 261.0 260.9 260.8 260.7 260.7 260.7 260.7 260.7 260.7 260.7 260.7 260.7 260.7 260.7 260.7 260.7 260.7 260.7 260.7 260.7 260.9 261.4 261.8 262.2 262.5 262.9 263.1 262.9 262.7 262.7 262.5 262.5 262.4 262.4 262.2 262.2 262.2 262.1 262.1 261.9 262.0 262.2 261.8 261.5 261.3 261.1 261.0 260.9 260.8 260.3 260.2 260.3 260.4 260.5 260.7 260.7 260.7 260.7 260.7 260.7 260.7 260.7 260.7 260.7 260.7 260.7 260.7 260.7 260.7 260.7 260.7 260.7 260.7 260.7 260.6 260.5 260.4 260.3 260.3 260.3 260.1 260.0 259.9 259.7 259.7 259.5 259.4 259.7 260.2 260.7 260.7 260.7 260.7 260.7 260.7 260.7 260.7 260.7 260.4 260.3 260.5 260.6 260.8 260.9 261.0 261.1 261.2 261.3 261.4 261.5 261.6 261.7 261.8 261.9 261.9 262.1 262.1 262.3 262.4 262.1 261.7 261.5 261.2 261.1 261.0 260.8 260.7 260.6 260.6 260.4 260.3 260.2 260.0 260.0 259.7 259.4 259.2 258.8 258.1 257.7 257.5 257.4 257.3 257.2 257.4 257.8 258.1 258.5 258.7 259.1 259.4 259.8 260.1 260.5 261.6 262.8 263.8 264.7 265.5 266.4 266.0 265.7 265.5 265.2 265.0 264.6 264.3 263.5 262.6 261.6 260.5 259.6 258.8 257.9 257.4 257.0 257.0 257.1 257.4 258.0 258.8 259.6 260.4 261.4 262.4 263.3 264.2 265.1 266.2 267.1 267.7 268.1 268.0 267.8 267.4 267.1 266.0 264.6 262.9 261.2 259.5 257.8 256.4 255.5 254.8 254.2 253.6 253.1 252.5 252.1 252.9 253.5 254.1 254.9 256.4 258.1 259.6 261.1 262.7 263.9 265.0 266.1 266.9 267.6 268.4 269.0 268.9 268.7 268.6 268.4 267.4 266.5 265.7 264.7 262.8 260.9 258.7 255.4 251.3 247.4 247.9 248.6 249.1 249.7 250.2 250.8 251.4 251.7 251.7", + "f0_timestep": "0.005" + }, + { + "offset": 19.8, + "text": "AP 窗 外 传 来 记 忆 SP 的 声 音 SP", + "ph_seq": "AP ch uang w ai ch uan l ai j i y i SP d e sh eng y in SP", + "ph_dur": "0.4412 0.1625 0.3251 0.0813 0.6037 0.1974 0.2902 0.1045 0.2554 0.1393 0.476 0.1277 0.4063 0.1277 0.0697 0.1509 0.2438 0.4876 0.1161 1.4048 0.0464", + "ph_num": "2 2 2 2 2 2 1 2 2 2 1 1", + "note_seq": "rest D#3 C4 D#4 C4 A#3 C4 rest D#3 G3 G#3 rest", + "note_dur": "0.6 0.4 0.8 0.4 0.4 0.6 0.4 0.2 0.4 0.6 1.4 0.05", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 166.0 155.6 156.0 156.5 156.9 157.3 157.7 158.2 158.6 159.0 159.5 159.9 160.4 160.9 161.3 161.7 162.2 162.6 163.1 163.5 164.0 164.4 164.3 161.3 158.3 155.5 153.2 152.2 151.3 150.4 149.5 149.0 148.5 148.1 148.0 147.9 148.1 148.3 148.6 148.8 149.3 149.7 150.3 150.7 150.8 150.9 151.0 150.9 150.8 150.7 150.7 151.0 151.5 151.9 152.4 153.1 153.9 154.8 155.5 156.2 156.8 157.3 157.7 158.1 158.1 158.0 157.9 157.8 157.6 157.5 157.3 157.2 156.9 156.3 155.8 155.5 155.4 155.2 155.0 154.8 154.9 155.0 155.0 153.6 152.4 151.4 150.2 145.8 139.7 135.4 133.2 132.1 132.3 134.8 138.5 143.5 149.8 156.1 161.6 165.9 171.5 178.0 184.6 192.5 201.8 210.0 217.2 223.3 228.1 232.0 235.8 239.2 241.2 242.1 242.7 243.2 243.0 242.2 241.8 240.9 239.8 238.8 237.8 236.7 235.8 234.9 233.9 234.0 234.2 234.4 234.5 234.7 234.9 235.4 236.6 238.1 239.6 241.2 242.6 244.0 246.5 249.2 251.2 253.2 255.0 256.9 258.9 260.8 261.8 262.8 263.9 265.0 264.8 264.5 264.3 264.1 263.9 263.3 262.7 262.2 261.6 261.3 261.0 260.8 260.6 260.5 260.1 260.0 260.2 260.6 260.8 261.2 261.5 261.8 261.9 261.8 261.6 261.8 261.8 261.9 262.0 262.1 262.2 262.3 262.5 262.6 262.8 263.2 263.4 263.7 264.0 264.2 264.1 264.0 263.8 263.6 263.6 263.4 263.3 263.2 263.0 263.0 262.8 262.6 262.5 262.6 262.8 263.0 263.2 263.4 263.6 263.7 263.8 264.0 264.1 264.3 264.5 264.7 264.7 264.3 263.7 263.1 262.6 262.0 260.7 257.1 252.3 244.2 237.2 231.3 227.9 225.8 229.1 232.5 235.1 236.6 237.8 239.0 240.1 240.7 241.3 241.9 242.6 244.0 245.4 247.0 248.7 250.2 251.1 252.0 253.1 254.2 255.5 256.8 257.5 258.2 259.4 260.8 261.0 262.0 266.0 274.3 283.3 289.1 291.9 293.7 295.0 294.5 293.6 292.6 291.9 291.3 290.5 289.5 288.6 287.9 287.1 286.6 286.4 286.3 286.2 286.0 287.2 288.5 289.7 291.4 293.5 295.6 297.6 299.3 300.9 302.3 303.6 305.3 306.8 308.4 310.2 311.9 313.0 313.7 314.2 314.4 314.8 314.7 314.2 313.6 312.9 312.7 312.6 312.5 312.3 312.0 312.3 312.7 313.0 313.2 313.5 313.8 313.6 313.5 313.3 313.1 312.9 312.7 312.2 310.7 308.6 306.8 304.8 303.2 302.0 301.1 299.7 297.7 294.7 291.0 286.6 283.3 280.0 277.3 274.5 274.3 274.6 273.0 270.5 268.2 266.2 265.3 264.8 264.5 264.5 263.9 263.3 262.8 262.4 262.0 261.8 261.4 261.1 260.8 260.5 260.1 259.9 259.6 259.3 259.0 258.8 258.5 258.9 259.2 259.6 259.7 259.7 259.7 259.8 260.3 260.9 261.5 262.1 262.6 263.3 263.9 264.3 264.6 264.8 265.2 265.6 265.8 265.2 264.4 262.6 260.6 255.7 249.5 243.9 238.5 235.2 233.4 236.0 242.0 250.2 258.6 259.0 257.7 252.3 245.4 238.4 231.8 227.9 224.5 220.7 217.0 212.8 208.5 205.3 203.3 201.7 200.3 201.4 202.6 204.2 208.6 213.8 219.0 223.2 226.1 228.4 230.9 231.9 232.8 233.5 234.3 235.3 236.0 236.2 236.4 236.5 236.1 235.8 235.5 235.3 235.0 234.6 233.8 232.9 232.3 231.7 231.4 231.2 231.1 231.1 231.1 231.1 231.2 231.2 231.2 231.2 231.3 231.6 231.9 232.2 232.7 233.0 233.3 233.4 233.6 233.6 233.7 233.6 233.6 233.4 233.2 232.6 232.1 231.9 231.8 231.7 231.6 231.4 231.4 231.6 231.7 231.2 230.9 231.2 231.6 232.1 232.0 232.0 231.8 231.8 232.3 232.9 233.5 233.9 234.2 234.4 234.6 234.8 234.9 235.1 235.0 234.8 234.7 234.6 234.5 234.3 234.2 234.1 234.0 233.8 233.6 233.6 233.4 233.3 233.2 233.1 232.9 232.8 232.7 232.6 232.4 232.3 232.5 232.6 232.9 232.8 232.8 232.7 232.7 232.7 232.7 232.7 232.6 232.4 232.3 232.1 232.6 232.8 232.7 233.0 233.5 233.8 234.1 234.2 233.9 233.5 232.5 232.2 232.2 232.1 233.6 235.9 238.4 241.0 243.7 246.8 249.7 252.6 255.1 257.9 260.6 262.8 264.4 265.9 266.5 266.5 266.5 265.8 265.0 264.2 263.3 262.4 261.7 261.3 260.9 260.4 260.1 260.0 260.1 260.1 260.3 260.3 260.7 261.1 261.6 261.9 262.3 262.7 263.1 263.5 263.9 264.3 264.6 264.8 264.6 264.2 263.8 263.3 262.8 262.1 261.2 260.4 259.7 259.2 258.7 258.0 257.5 257.2 256.8 256.6 256.5 256.7 256.8 256.8 257.1 257.3 257.7 258.0 258.3 258.7 259.2 260.1 260.6 260.5 260.4 260.4 260.1 259.4 259.1 258.4 257.6 256.7 255.3 253.5 250.6 246.2 240.2 233.2 225.1 214.9 204.4 194.4 185.6 179.3 174.0 169.6 166.8 164.9 163.7 162.8 162.3 162.1 162.0 162.1 162.0 162.2 162.5 162.8 163.1 163.4 163.8 163.5 161.1 158.8 156.9 155.1 154.0 153.2 152.6 152.2 152.4 152.6 152.8 153.0 153.1 153.3 153.5 153.4 153.2 153.0 152.8 152.6 152.5 152.3 152.1 152.2 152.3 152.4 152.4 152.6 153.1 153.6 154.1 154.6 155.1 155.6 156.1 156.5 156.5 156.3 156.1 155.8 154.9 153.9 152.6 151.3 150.3 150.5 151.2 152.0 152.8 153.6 154.4 155.1 155.6 156.1 156.6 157.1 157.4 157.6 157.7 157.4 156.6 155.9 155.2 154.4 153.6 153.1 152.7 152.4 152.2 152.2 152.2 152.3 152.6 153.4 154.6 156.1 157.9 160.6 163.7 166.9 170.0 172.4 174.6 176.5 177.0 177.0 176.7 176.3 175.6 175.4 175.4 175.4 175.3 175.7 176.7 177.7 178.5 179.5 180.9 182.2 183.6 184.8 186.0 187.5 188.9 190.2 191.4 192.9 194.2 194.9 195.6 196.3 197.0 197.7 197.8 197.7 197.5 197.4 197.2 197.1 197.0 197.2 197.2 197.2 197.2 197.2 197.2 197.0 196.9 196.6 195.9 195.1 194.5 194.1 193.8 193.5 193.2 192.9 193.0 193.0 193.1 193.1 193.2 193.3 193.3 193.5 193.6 193.9 194.2 194.5 194.2 194.0 194.1 194.2 194.4 194.8 195.3 195.3 195.2 195.2 195.0 195.0 195.1 195.2 195.2 195.4 195.4 195.2 195.1 194.9 195.1 195.3 195.5 195.7 195.9 195.8 195.7 195.6 195.2 194.8 194.5 194.2 193.8 193.6 193.4 193.5 193.7 193.6 193.4 192.9 192.4 192.1 191.8 191.5 191.5 192.3 193.1 194.2 195.3 196.5 197.9 199.1 200.0 200.7 201.2 202.2 203.0 203.6 204.0 204.3 204.4 204.5 204.6 204.6 204.8 204.8 204.8 204.9 204.9 205.1 205.4 205.6 205.7 206.0 206.4 206.8 207.3 207.7 208.0 208.3 208.6 208.9 209.2 209.5 209.3 209.3 209.2 209.0 208.7 208.3 208.0 207.6 207.2 206.8 206.5 206.2 206.3 206.5 206.5 206.4 206.3 206.3 206.2 206.1 206.0 205.9 205.9 206.1 206.3 206.2 206.0 206.0 205.9 205.7 206.0 206.2 206.5 206.7 206.9 206.5 206.1 206.2 206.4 206.7 207.3 207.7 207.9 207.9 207.9 207.8 207.8 207.8 208.0 208.1 208.0 207.9 207.9 208.0 208.4 208.5 208.6 208.6 208.7 208.6 208.3 207.9 207.6 207.2 206.9 206.5 206.2 205.8 205.5 205.1 205.1 205.0 205.0 204.9 204.8 205.0 205.3 205.6 206.0 206.5 206.8 207.2 207.7 208.3 208.7 209.0 209.0 209.0 209.1 209.1 209.1 208.9 208.7 208.5 208.3 208.1 207.8 207.4 206.9 206.5 206.2 205.9 205.6 205.2 204.9 204.6 204.5 204.4 204.3 204.2 204.1 204.0 204.2 204.6 205.0 205.3 205.7 206.0 206.4 206.7 207.0 207.3 207.5 207.9 208.6 208.6 208.6 208.3 208.0 207.5 207.1 206.8 206.4 206.0 205.9 205.8 205.7 205.7 205.7 205.6 205.8 207.1 208.6 209.7 210.6 211.2 211.9 212.3 212.1 211.8 211.3 210.9 210.5 209.6 208.4 207.6 206.8 205.8 204.8 204.2 203.8 203.4 203.1 203.3 203.6 204.1 204.6 205.3 206.2 206.6 207.0 207.4 208.0 208.6 209.3 210.0 210.1 210.1 210.1 209.8 209.5 209.2 208.9 208.6 208.3 208.0 208.0 207.8 207.9 208.1 208.6 209.0 209.4 209.8 209.8 209.8 209.5 209.2 208.9 208.6 208.3 207.8 207.3 207.2 207.2 207.1 206.5 205.9 205.3 204.7 204.0 203.5 203.4 203.5 203.5 203.9 204.4 205.0 205.7 206.5 207.1 207.8 208.4 209.3 210.3 211.5 212.6 213.4 214.0 214.7 214.9 215.1 215.3 215.5 215.0 214.3 213.1 211.7 209.6 206.9 204.0 200.4 197.1 194.5 193.3 194.0 194.8 195.4 196.1 196.8 197.5 198.2 198.5 198.5", + "f0_timestep": "0.005" + }, + { + "offset": 26.2, + "text": "AP 在 半 夜 迷 失 SP 在 房 间 消 失 SP 去 幻 想 着 SP 夜 晚 之 前 的 SP", + "ph_seq": "AP z ai b an y E m i sh ir SP z ai f ang j ian x iao sh ir SP q v h uan x iang zh e SP y E w an zh ir q ian d e SP", + "ph_dur": "0.5224 0.0813 0.1393 0.058 0.1277 0.0813 0.2438 0.1509 0.209 0.1974 0.1974 0.0929 0.1045 0.1161 0.0813 0.1393 0.058 0.2786 0.1277 0.2206 0.1741 0.209 0.0697 0.1277 0.1161 0.0813 0.1045 0.0929 0.685 0.1161 0.6037 0.1277 0.0697 0.2786 0.1277 0.3019 0.0929 0.2438 0.1509 0.3599 0.0464 0.8939 0.058", + "ph_num": "2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 1 1", + "note_seq": "rest F3 G3 G#3 G#3 G#3 rest G3 G#3 A#3 A#3 A#3 rest G#3 A#3 A#3 C4 E4 rest F4 G4 G#4 G#4 A#4 F#4 G#4 rest", + "note_dur": "0.6 0.2 0.2 0.4 0.4 0.2 0.2 0.2 0.2 0.4 0.4 0.2 0.2 0.2 0.2 0.2 0.6 0.6 0.2 0.4 0.4 0.4 0.141 0.259 0.172 0.728 0.05", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0", + "f0_seq": "181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 181.7 174.6 174.6 174.5 174.5 174.4 174.4 174.4 174.3 174.3 174.3 174.2 174.2 174.2 174.1 174.1 174.0 174.0 174.0 173.9 173.9 173.8 173.9 174.4 174.4 174.1 173.2 172.2 171.3 170.7 170.3 170.4 170.7 171.1 171.3 171.7 172.7 173.7 174.1 174.6 175.3 176.2 177.0 177.8 177.8 176.1 171.8 167.7 166.2 167.3 170.0 173.1 175.1 177.2 178.7 180.4 182.2 184.6 186.9 189.3 192.0 194.5 197.0 198.3 199.0 199.2 199.2 198.9 198.4 198.0 197.6 197.0 196.4 196.2 196.0 195.7 195.9 196.1 196.4 196.5 196.6 196.8 196.4 196.1 196.1 196.3 196.6 196.8 197.0 197.1 197.1 197.1 196.7 196.2 195.9 195.6 195.3 195.2 195.1 195.2 195.7 196.9 197.4 197.9 198.3 198.6 198.7 198.6 198.6 198.4 198.2 197.9 197.5 197.1 196.8 196.5 196.2 196.2 196.1 195.9 195.8 195.7 195.5 195.4 195.1 195.2 196.2 197.2 198.2 199.1 200.1 201.3 202.5 203.8 205.1 206.0 206.5 206.9 207.3 207.8 208.3 208.7 209.0 209.1 209.2 209.3 209.2 209.0 208.8 208.5 208.3 208.0 207.7 207.3 206.8 206.2 205.5 205.0 204.9 204.9 204.9 204.9 205.0 205.0 205.0 205.0 205.1 205.5 205.4 205.3 205.6 206.0 206.3 206.6 206.9 207.2 207.5 208.1 208.6 209.1 209.7 210.4 211.3 211.8 211.8 211.6 210.9 210.2 209.6 209.0 208.6 208.4 208.0 207.4 206.9 206.5 206.3 206.0 205.8 205.6 205.3 205.0 205.5 205.9 206.3 206.7 206.7 206.5 206.8 207.1 207.4 207.7 207.8 207.8 208.0 208.1 208.1 208.3 208.3 207.9 207.7 207.7 207.9 208.1 208.2 208.3 208.5 208.3 208.2 208.1 207.9 207.8 207.7 207.7 207.7 207.8 207.5 207.2 203.8 195.7 192.7 193.5 194.5 195.3 195.9 196.5 197.2 197.8 198.6 199.3 200.3 201.2 202.1 202.7 203.2 203.7 204.3 204.9 205.2 205.1 205.1 206.3 209.8 213.4 216.0 217.0 217.5 216.0 214.7 213.4 211.9 210.3 208.7 207.2 206.3 205.8 205.3 204.8 204.4 204.4 204.3 204.6 205.0 205.4 205.8 206.1 206.6 207.0 207.4 207.8 208.3 208.5 208.6 208.7 208.7 208.7 208.9 208.6 208.2 207.8 207.4 206.9 206.7 204.7 198.9 196.3 196.1 196.0 195.8 195.7 195.6 195.3 195.6 195.8 195.9 196.0 195.9 195.7 195.4 194.9 194.1 193.4 192.7 192.0 191.5 191.1 190.9 190.9 191.0 191.1 191.3 191.5 191.8 192.1 192.4 192.7 193.0 193.4 193.7 194.0 194.4 194.8 195.2 196.4 197.3 197.4 197.2 196.3 195.3 194.6 194.6 194.8 194.9 195.3 195.7 196.1 196.6 197.0 197.2 197.0 196.6 196.7 196.7 196.7 196.7 196.4 196.2 195.7 194.8 194.5 194.3 194.2 193.9 193.6 193.5 193.5 193.5 194.2 195.4 196.7 198.8 201.2 203.6 205.9 207.6 209.1 210.4 210.6 210.8 210.6 209.2 207.4 207.0 206.8 206.6 206.4 206.2 206.1 206.0 206.1 206.4 206.6 206.9 207.0 206.9 206.8 207.5 207.9 207.8 207.7 207.7 207.7 207.8 208.0 208.3 208.9 209.6 211.1 212.6 214.2 216.5 221.1 226.9 229.5 231.7 233.6 235.7 237.0 237.5 237.0 236.2 235.4 234.8 234.5 234.3 234.0 233.6 233.3 233.1 232.8 232.5 232.1 231.8 231.5 231.2 230.9 230.7 230.7 230.7 230.7 230.8 231.1 232.1 232.7 233.1 233.4 233.9 234.4 234.7 235.2 235.6 236.1 236.3 236.1 235.5 235.0 235.0 234.7 234.2 233.6 232.8 232.1 231.5 230.9 230.1 229.1 228.3 227.8 227.4 227.3 227.7 228.2 228.7 229.7 230.4 231.3 232.1 233.1 233.9 234.7 235.3 235.8 236.1 236.3 236.3 236.4 236.5 236.0 235.5 235.2 235.0 234.8 234.7 234.7 235.4 236.9 237.3 237.3 237.3 237.4 237.4 237.4 236.8 235.7 235.7 235.5 235.1 234.6 234.3 233.9 233.5 233.1 232.6 232.2 232.0 232.0 232.0 231.9 231.9 232.3 233.1 233.6 234.0 234.3 234.0 234.3 233.9 234.2 234.5 234.7 234.8 234.8 234.6 234.3 234.0 233.7 233.4 233.0 232.7 232.2 231.8 232.1 231.4 230.7 231.0 230.6 230.5 231.4 231.7 231.8 232.0 232.5 232.9 232.8 232.2 232.4 233.6 233.1 232.9 233.6 234.6 234.6 234.4 234.4 234.9 235.2 235.0 234.8 234.5 234.2 234.1 234.6 234.8 235.0 235.3 235.5 235.7 236.0 236.1 236.0 235.9 235.8 235.7 235.4 235.1 234.8 234.4 234.1 233.8 233.5 233.1 232.8 232.6 232.7 232.8 232.9 233.1 233.4 233.7 233.9 234.2 234.6 234.7 234.8 234.9 235.1 235.0 234.6 234.4 234.2 233.8 233.4 223.7 218.0 217.9 217.8 217.6 217.4 217.3 217.1 216.8 216.5 216.8 216.8 216.8 216.6 216.1 215.3 214.2 212.9 211.1 209.1 207.1 205.3 204.1 203.1 202.3 201.8 201.6 201.5 201.6 201.9 202.1 202.4 202.8 203.1 203.5 203.9 204.3 204.7 205.2 205.6 206.1 206.2 205.8 206.2 206.8 207.6 208.2 208.7 208.9 208.7 208.7 208.7 208.6 208.6 208.4 208.2 208.0 207.8 207.5 206.5 205.3 204.1 202.6 199.9 196.5 191.2 186.7 183.9 183.6 186.9 191.2 195.7 199.7 203.7 208.0 213.0 217.7 222.7 228.5 232.5 235.6 235.2 234.2 232.9 232.8 232.4 232.6 232.7 232.6 232.4 233.3 234.2 234.6 234.3 233.6 232.5 229.7 225.9 219.1 211.4 206.5 206.3 208.2 210.6 211.8 212.9 214.1 215.3 216.8 218.2 219.6 220.8 221.8 222.9 224.1 225.2 226.3 227.2 227.4 227.2 228.4 229.7 231.1 232.3 232.3 231.9 232.2 232.6 233.0 232.9 232.9 232.8 232.7 232.7 232.8 232.8 232.9 233.0 233.1 233.2 233.1 233.0 232.9 232.9 232.9 232.9 232.9 232.9 232.9 232.8 232.7 232.7 232.6 232.5 232.7 233.3 233.9 235.2 237.6 240.3 243.2 246.4 249.2 251.7 254.3 256.9 259.2 261.2 263.1 264.2 264.9 265.4 265.2 264.8 264.2 263.5 263.0 262.4 261.6 260.9 260.1 259.4 258.9 258.8 258.6 258.7 258.8 259.0 259.2 259.4 259.6 259.7 259.9 260.1 260.3 260.6 260.8 261.2 261.4 261.8 262.1 262.0 261.9 261.9 261.9 261.8 261.8 262.2 262.6 263.0 263.0 262.9 262.8 262.8 262.4 261.9 261.5 261.1 260.5 260.1 259.8 259.8 259.9 260.1 260.1 260.3 260.4 260.5 260.7 260.7 260.9 260.8 260.6 260.6 260.9 261.1 261.2 261.5 261.7 261.9 262.3 262.5 262.7 263.0 263.1 263.4 263.7 263.8 264.1 264.4 263.6 263.0 262.3 261.7 261.0 257.4 254.1 250.5 244.4 236.3 228.3 221.3 216.5 212.3 207.7 206.6 205.8 205.3 205.4 206.0 207.1 209.5 212.0 215.3 221.9 229.7 237.8 246.7 259.1 273.1 281.3 288.6 292.5 295.5 297.8 299.6 301.6 303.1 304.6 305.8 306.2 306.3 306.3 306.3 306.3 306.0 306.1 305.9 305.6 305.3 305.0 304.8 304.5 304.2 304.0 303.8 303.6 303.8 304.4 304.9 305.3 306.2 307.8 309.6 311.7 314.4 316.8 319.1 321.9 324.7 327.5 330.4 332.8 335.4 338.3 339.6 340.5 340.3 339.8 339.1 338.4 337.6 336.3 334.8 333.1 330.7 328.7 326.7 324.6 323.2 322.0 320.7 320.0 320.4 321.2 321.9 323.0 324.7 327.1 329.6 332.0 334.2 335.8 337.4 339.3 340.7 340.8 340.5 339.5 338.3 337.1 335.5 333.2 330.6 327.7 324.9 322.5 320.9 319.4 317.8 316.7 317.6 318.6 319.9 322.7 325.7 328.5 331.3 334.6 337.7 338.7 339.9 340.6 340.9 341.1 340.7 339.0 337.0 334.7 331.9 328.8 325.8 323.3 320.8 319.1 318.2 318.0 317.2 314.0 309.7 309.9 310.1 310.3 310.5 310.8 310.8 311.0 311.2 311.4 311.7 312.3 312.8 313.3 313.9 314.4 314.9 315.5 316.0 316.5 317.1 317.8 318.2 318.7 319.4 319.9 320.4 321.0 321.5 322.0 322.7 323.2 323.8 324.3 324.9 325.5 326.1 326.6 327.2 327.8 328.3 329.0 329.5 329.9 329.9 329.6 329.4 329.2 329.0 328.7 328.9 329.0 328.4 327.8 327.4 327.4 327.0 327.0 327.1 327.4 328.3 329.6 331.4 333.0 335.1 337.9 341.1 344.1 346.8 349.0 350.8 352.2 352.9 353.2 353.3 353.5 353.5 353.5 353.3 353.1 352.9 351.4 350.9 350.6 350.1 349.6 349.3 349.0 349.1 349.4 349.6 350.2 350.9 351.6 352.3 352.9 353.2 353.6 353.8 353.7 353.5 352.2 350.7 349.1 347.2 345.2 340.2 335.6 331.3 326.9 323.8 325.4 327.2 328.8 332.0 341.3 352.4 360.7 368.6 376.8 384.6 392.2 396.9 399.3 400.9 402.3 402.9 403.1 402.2 400.9 399.3 397.0 394.6 392.5 390.4 389.3 388.2 387.6 387.6 387.9 388.4 388.8 390.0 391.1 392.4 393.6 394.8 395.3 395.5 395.8 396.1 396.2 395.5 394.6 393.8 392.4 391.0 389.5 388.4 387.4 386.6 385.8 385.5 386.2 387.3 388.4 389.5 390.5 391.7 392.9 394.0 393.8 393.5 393.4 393.2 392.9 390.9 389.1 387.4 385.1 380.8 370.0 357.1 345.7 334.8 326.6 329.0 337.0 346.0 356.1 363.8 370.7 375.1 378.8 382.8 387.5 391.7 395.8 400.1 404.9 408.4 411.7 413.5 414.1 415.1 415.8 416.3 416.6 416.7 416.6 416.5 416.4 416.3 416.1 415.7 415.3 415.2 415.0 414.7 414.4 414.1 413.6 413.3 413.0 412.7 412.4 412.7 413.0 413.3 413.6 413.9 414.2 414.5 414.7 415.0 415.3 415.6 415.9 416.1 416.4 416.7 417.0 417.3 416.7 413.7 409.6 405.5 400.7 391.9 377.0 370.2 365.9 361.5 357.8 353.7 349.6 345.9 344.5 343.5 342.3 341.3 340.0 338.9 337.9 336.8 335.8 334.3 333.0 332.4 332.2 331.9 331.6 331.2 331.0 331.0 332.3 333.8 335.3 337.7 344.8 353.9 365.7 380.8 394.5 409.4 417.5 420.6 422.1 421.2 420.4 419.2 418.0 416.7 416.0 416.3 416.5 416.6 416.7 416.6 415.4 413.4 410.9 408.6 407.1 406.9 409.1 420.8 432.0 444.5 458.5 469.9 475.1 478.4 479.9 480.6 479.5 477.4 475.2 472.9 470.2 467.2 465.2 464.0 463.0 462.9 463.2 463.6 464.3 465.2 464.6 463.5 463.1 463.1 463.5 464.1 464.8 465.4 465.8 466.4 467.1 467.8 467.0 466.2 465.6 464.3 462.1 459.5 457.0 453.5 444.9 432.4 419.0 404.8 392.0 378.2 362.0 353.7 348.8 343.5 336.9 338.1 341.1 344.5 348.3 352.9 359.0 364.6 367.2 368.2 368.8 368.7 368.8 369.2 369.5 369.2 368.9 368.8 368.3 368.2 368.2 368.1 368.2 367.5 367.4 367.4 366.4 364.9 364.0 363.4 363.1 363.2 363.6 365.9 370.0 375.9 382.8 390.4 399.4 408.8 413.9 416.7 419.6 421.8 423.2 424.1 424.8 425.3 425.7 425.5 423.7 421.1 418.8 417.0 415.5 414.7 413.9 413.6 414.5 414.5 413.7 414.1 414.7 415.2 415.6 416.1 416.7 417.2 417.1 417.0 416.8 416.7 416.5 416.4 416.3 416.1 416.0 416.0 415.8 415.7 415.5 415.3 415.2 415.1 414.9 414.8 415.1 415.4 415.9 416.1 416.4 416.7 416.7 416.5 416.4 416.3 416.0 416.0 415.7 415.3 414.7 413.9 413.4 413.5 413.6 413.8 413.9 414.1 414.2 414.3 414.5 414.6 414.8 414.9 414.9 414.5 413.9 414.1 414.2 414.5 414.6 414.8 415.0 414.8 414.7 414.4 414.3 414.2 414.8 415.1 415.4 415.5 415.2 414.7 414.3 413.7 412.9 412.0 411.2 410.4 409.5 408.6 407.6 407.5 407.3 407.2 407.2 407.8 408.5 409.1 409.7 410.5 411.1 411.8 412.5 413.4 414.6 416.1 417.4 418.6 419.5 420.1 420.7 421.5 421.8 422.0 422.1 422.1 422.2 422.3 422.1 421.6 421.2 420.5 419.7 418.9 418.2 417.3 416.5 415.7 414.6 413.4 412.0 410.8 410.0 409.5 409.1 409.2 409.5 409.8 409.8", + "f0_timestep": "0.005" + }, + { + "offset": 34.56, + "text": "SP 一 种 逃 离 SP 印 象 中 少 年 的 身 影 SP 有 着 清 澈 的 眼 睛 SP 嘴 里 还 说 着 SP 因 为 我 们 还 年 轻 SP 所 以 总 有 再 一 次 的 权 力 SP", + "ph_seq": "SP y i zh ong t ao l i SP y in x iang zh ong sh ao n ian d e sh en y in SP y ou zh e q in ch e d e y En j in SP z ui l i h ai sh uo zh e SP y in w ei w o m en h ai n ian q ing SP s uo y i z ong y ou z ai y i c i0 d e q van l i SP", + "ph_dur": "0.1858 0.058 0.1393 0.058 0.4993 0.1045 0.1393 0.058 0.4063 0.1161 0.0813 0.1277 0.0697 0.1509 0.0464 0.3134 0.0929 0.1393 0.058 0.1741 0.0232 0.058 0.1509 0.418 0.1741 0.6037 0.1045 0.0929 0.3019 0.1045 0.267 0.1277 0.2902 0.1161 0.1509 0.0464 0.1277 0.0697 0.1277 0.0697 0.1974 0.1161 0.0929 0.1393 0.058 0.1161 0.0813 0.1161 0.0813 0.1509 0.058 0.1974 0.1045 0.0929 0.1277 0.0697 0.1277 0.0697 0.1277 0.0813 0.1277 0.0697 0.1509 0.0464 0.1161 0.0813 0.209 0.0697 0.1277 0.1625 0.0348 0.1277 0.0697 0.1393 0.058 0.2902 0.1161 0.3251 0.0697 0.267 0.1393 0.3135 0.0813 1.0449 0.1625 0.267 0.1277 0.4063 0.0464", + "ph_num": "2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest F4 F4 G4 D#4 D#4 rest D#4 F4 F4 G4 G4 G4 G4 G4 G4 G#4 rest C4 D#4 F4 F4 F4 F4 F4 rest F4 F4 F4 F4 F4 rest F4 F4 F4 G#4 G#4 G#4 G#4 rest G#4 G#4 G#4 G#4 G#4 G#4 A#4 G#4 F#4 G4 F4 F4 rest", + "note_dur": "0.24 0.2 0.185 0.415 0.2 0.4 0.2 0.2 0.2 0.132 0.268 0.2 0.2 0.2 0.6 0.198 0.402 0.2 0.4 0.4 0.4 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.4 0.4 0.1 0.3 0.4 0.2 1.0 0.4 0.4 0.05", + "note_slur": "0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0", + "f0_seq": "412.0 412.0 412.0 412.0 412.2 412.3 412.6 413.6 386.4 385.1 383.9 382.7 381.5 380.2 379.0 377.8 376.6 375.4 374.2 373.0 371.8 370.6 369.4 368.2 367.1 365.9 364.7 363.5 349.0 348.9 349.5 350.2 350.7 351.7 352.3 352.2 351.9 351.2 350.2 349.2 348.2 347.2 345.8 344.0 342.0 339.8 337.7 336.4 335.4 335.9 336.6 337.0 337.7 339.5 340.8 342.1 343.3 344.7 346.0 347.5 348.7 350.0 351.2 352.7 352.4 351.4 349.1 345.0 335.6 321.2 313.8 315.2 321.4 329.2 333.0 335.1 337.0 339.2 341.4 340.7 339.8 339.1 338.5 338.1 337.7 337.4 337.2 337.0 337.3 340.3 343.5 346.0 347.9 348.2 348.3 348.4 348.5 349.1 349.8 349.8 349.6 349.6 349.5 349.4 349.2 349.2 349.1 349.0 348.8 348.4 348.3 348.2 347.9 347.8 347.9 347.9 347.5 347.3 346.8 346.3 346.5 347.0 348.0 349.2 351.3 354.2 357.6 361.8 365.7 370.9 375.4 379.1 382.9 387.0 390.9 394.3 397.1 399.0 400.0 400.3 400.7 400.6 400.1 399.5 397.5 395.4 393.5 391.5 389.3 387.1 385.4 384.4 383.7 383.9 384.3 385.2 386.0 387.0 388.2 389.1 390.2 391.2 392.1 393.1 393.4 393.7 393.9 394.2 394.5 394.7 394.6 394.4 394.3 394.0 393.5 393.2 392.7 392.3 391.8 391.3 390.9 390.5 390.6 390.9 390.9 391.2 391.3 391.0 390.6 389.9 385.9 380.4 374.0 367.9 362.1 360.1 361.9 365.4 371.1 377.0 381.2 381.4 379.9 375.4 368.8 360.7 353.4 344.8 334.2 321.0 309.7 303.5 301.4 302.8 305.3 306.4 306.4 306.3 306.7 307.4 308.0 308.3 308.7 309.0 309.4 309.8 310.7 311.7 312.2 312.7 313.0 313.1 313.1 313.1 313.0 312.3 311.5 310.6 309.7 307.3 305.0 302.9 300.9 299.8 299.0 298.7 299.1 300.3 303.5 307.3 309.1 310.1 311.1 311.7 312.3 312.7 313.1 313.7 314.2 314.7 315.1 315.5 315.9 316.4 316.7 316.7 316.8 316.9 316.9 316.4 315.8 315.2 314.4 313.3 312.2 311.2 310.4 309.6 309.0 308.4 308.2 308.1 308.0 307.9 308.4 308.8 309.1 309.4 310.1 310.5 311.1 311.6 312.1 312.4 312.4 312.4 312.3 311.9 311.5 310.4 309.5 309.0 309.0 309.0 308.8 308.6 308.5 308.3 308.1 307.8 307.5 307.3 307.1 307.0 307.0 306.9 306.8 306.8 306.8 306.9 307.1 307.2 307.3 307.4 308.2 310.2 310.3 310.7 310.2 309.9 309.6 309.3 308.9 308.6 308.3 308.0 307.7 307.3 307.0 306.7 306.4 306.1 305.7 305.4 305.1 304.8 304.5 304.2 292.1 291.6 291.0 290.6 290.1 289.6 289.0 288.5 288.0 287.5 287.0 286.5 286.0 285.5 285.1 284.5 284.0 283.5 283.1 282.6 282.0 282.6 287.7 292.4 295.8 298.8 302.0 304.8 307.3 308.8 309.9 310.9 311.8 312.2 312.7 313.1 313.6 313.8 313.4 312.6 311.8 306.3 299.7 291.5 282.5 273.1 278.0 286.2 294.0 299.7 304.0 308.5 313.1 316.7 320.7 325.1 330.5 335.7 340.6 343.9 346.4 349.6 354.6 358.0 358.1 357.0 355.4 355.0 354.4 353.6 352.9 351.6 350.3 349.2 348.1 348.2 348.3 348.7 348.8 349.0 349.0 349.2 348.9 348.5 347.0 345.2 337.9 330.4 320.9 309.0 295.7 290.2 293.1 297.0 301.1 305.6 308.7 311.7 315.7 324.4 335.4 345.4 349.8 352.1 352.4 351.9 351.3 350.7 350.3 350.4 350.6 350.1 349.4 348.7 348.1 347.6 347.9 348.2 348.6 349.4 350.6 352.5 354.7 357.1 359.9 363.4 367.4 371.2 374.5 378.2 381.5 384.3 387.0 389.1 391.1 392.9 394.4 395.2 396.0 396.7 396.8 396.8 396.9 397.0 396.8 396.8 396.8 396.7 396.6 396.4 395.6 394.8 392.9 388.8 383.0 371.9 361.2 357.7 358.5 361.0 364.1 367.2 370.2 372.4 373.2 373.2 373.6 374.3 375.1 375.9 376.2 376.3 376.6 376.9 377.4 378.0 378.5 379.0 379.6 380.9 382.6 384.9 389.5 392.6 395.3 398.4 399.5 400.2 400.1 399.7 399.3 397.9 396.6 395.8 395.1 394.5 393.7 393.2 392.7 392.3 392.0 391.7 391.5 391.7 391.9 392.2 392.5 392.8 392.8 392.5 392.2 391.4 389.6 387.8 386.0 386.2 386.5 386.9 387.7 390.4 393.8 396.8 396.8 396.6 397.1 397.9 396.8 395.8 395.3 395.0 394.7 394.4 393.9 393.7 393.4 393.1 392.8 392.3 391.4 390.4 390.0 389.9 389.6 389.6 390.1 390.9 391.4 392.0 392.4 392.3 391.8 389.9 387.0 382.3 376.3 367.7 359.7 357.9 362.7 375.2 390.4 395.9 396.8 396.8 396.6 396.6 396.3 395.2 393.5 389.7 383.9 377.9 372.6 369.3 367.0 367.9 369.2 369.7 370.2 371.1 371.9 372.9 373.9 374.7 375.3 374.7 375.5 376.4 377.2 378.0 378.9 379.4 379.7 380.5 381.8 383.5 385.1 386.6 387.6 388.6 389.5 387.6 387.3 390.0 393.7 396.6 398.9 399.8 399.7 399.5 399.3 399.0 398.7 398.5 398.0 396.3 394.5 393.5 392.7 391.7 390.6 389.9 389.9 390.0 390.1 390.2 390.5 391.1 391.9 392.7 393.4 394.2 395.0 395.3 395.7 396.1 395.8 395.5 395.1 394.8 394.5 394.2 393.9 394.3 394.5 393.8 393.0 392.4 392.3 392.4 392.4 392.7 392.8 392.9 393.1 393.1 394.2 393.8 393.1 392.4 391.5 390.9 390.5 390.9 391.4 392.2 392.2 392.0 392.0 392.0 391.8 391.8 391.7 391.5 391.5 392.0 392.5 392.9 393.4 393.8 394.3 394.8 395.2 395.5 395.5 395.4 395.3 395.2 395.2 395.0 395.0 394.9 394.8 395.2 395.7 395.2 394.6 394.0 393.4 392.4 391.1 388.8 386.7 384.3 380.3 375.4 370.6 365.9 359.9 352.3 344.8 337.5 330.4 323.9 317.0 309.3 304.7 304.5 309.0 321.3 337.9 354.2 366.9 378.4 386.9 392.0 391.4 392.2 393.1 393.7 394.0 394.3 394.3 394.1 394.0 394.0 394.0 393.8 393.7 393.2 392.7 393.2 393.6 393.9 394.0 393.8 393.5 393.4 393.2 393.1 393.1 392.6 392.1 391.9 391.8 392.0 392.3 392.9 393.8 395.0 396.8 399.1 402.6 405.4 408.2 412.0 415.7 418.9 421.8 425.1 427.0 428.8 430.7 431.7 431.8 431.4 430.7 429.5 428.1 426.4 424.8 423.4 422.4 421.8 421.0 420.1 419.5 418.9 419.2 419.8 420.4 421.0 421.7 422.8 423.8 424.0 424.0 424.0 423.9 423.1 422.1 421.1 419.8 418.3 416.6 414.8 414.2 413.3 412.7 411.9 411.2 410.4 409.8 409.4 409.5 410.1 410.6 411.2 412.2 413.4 414.6 415.8 417.1 418.3 419.4 420.6 421.8 422.9 423.4 423.9 424.3 424.7 424.3 423.7 423.2 422.6 420.0 416.0 412.0 406.7 399.1 398.5 397.8 397.2 396.7 396.1 395.3 393.9 392.8 391.4 389.7 388.0 385.6 382.5 378.3 371.9 363.1 353.0 341.6 327.5 312.7 298.6 286.3 277.1 269.3 263.0 258.5 255.6 253.7 252.0 251.0 250.3 249.9 249.6 249.1 249.1 249.1 249.1 249.2 249.2 249.4 249.2 248.2 247.1 246.1 245.0 245.0 245.1 245.2 245.7 246.4 246.9 247.7 248.4 249.3 250.4 251.5 252.6 253.6 254.8 255.9 256.7 257.6 258.2 258.6 258.9 259.3 259.9 260.6 261.3 262.1 261.9 261.7 261.5 261.4 261.2 261.0 260.8 260.7 260.6 260.6 260.6 260.6 260.6 260.6 260.7 260.7 260.7 260.7 260.7 260.7 261.4 262.1 262.7 263.3 264.1 264.2 262.6 259.5 252.2 242.1 233.5 230.8 231.5 233.4 237.7 242.6 247.3 251.5 256.0 260.3 264.7 269.2 272.6 276.3 280.9 285.5 288.8 292.1 296.4 299.5 303.0 308.2 312.1 314.1 315.1 316.6 317.7 318.4 318.7 318.8 317.8 316.9 316.0 315.0 313.7 312.1 310.8 309.3 307.7 306.7 305.8 305.3 305.2 305.3 305.4 305.6 306.2 307.0 307.8 308.3 308.7 309.2 309.7 310.1 310.6 311.1 311.7 312.3 313.0 313.7 314.1 313.5 312.4 310.0 306.8 303.0 295.5 287.5 277.2 266.8 264.3 266.8 271.8 277.8 284.3 285.4 286.5 287.1 286.9 286.3 287.1 288.0 288.8 289.6 290.0 290.3 290.4 290.8 291.1 291.5 292.8 294.4 295.8 297.5 298.3 299.4 300.5 301.2 302.2 303.3 305.3 310.3 315.1 319.5 324.3 324.6 324.8 324.4 323.6 322.5 320.9 319.5 318.3 316.7 315.3 315.3 315.7 316.6 317.8 319.1 322.4 325.8 328.6 331.2 333.8 336.5 339.0 341.3 343.6 345.6 347.9 349.7 350.7 351.5 352.5 353.0 352.7 352.3 351.8 351.3 350.5 350.0 349.6 349.1 349.2 349.3 349.5 349.6 349.9 350.6 351.4 351.6 350.5 349.0 347.4 344.5 337.0 328.9 319.0 309.2 311.4 314.4 319.1 324.8 331.0 327.4 324.0 321.3 319.8 319.0 319.8 320.6 321.4 322.3 323.6 325.0 326.3 328.0 331.9 336.7 341.7 346.8 351.3 355.6 359.0 357.8 356.5 355.2 354.1 353.5 353.0 352.4 351.8 351.4 350.8 350.4 350.4 350.1 350.0 349.8 349.6 349.5 349.4 349.1 348.2 347.2 346.2 344.5 340.0 334.6 317.7 301.6 289.8 282.6 276.7 282.7 293.0 304.5 319.7 336.4 347.4 351.8 353.8 353.7 352.7 351.9 352.3 352.8 352.7 352.3 352.0 351.5 351.1 350.7 350.4 350.0 349.7 349.3 349.2 349.0 349.0 348.9 348.8 348.8 348.6 348.6 348.6 348.5 348.4 348.6 348.8 348.9 349.1 349.4 349.4 349.7 349.9 350.0 350.2 350.2 350.2 350.2 350.2 350.2 350.2 350.2 350.3 350.4 350.6 350.6 350.7 350.8 351.0 351.0 351.3 351.1 350.4 349.6 348.8 348.8 348.7 347.9 347.1 346.4 345.4 343.8 338.8 332.2 320.2 306.7 298.5 291.6 289.0 289.7 291.6 300.4 309.0 318.5 330.0 341.8 348.8 354.3 356.4 357.2 356.8 355.9 355.2 354.9 354.8 354.5 354.2 353.3 352.4 351.5 350.4 349.4 348.4 347.2 345.9 344.4 343.1 342.2 342.6 343.4 344.2 345.4 347.9 350.4 353.3 355.3 356.5 356.2 355.2 352.9 349.8 346.1 339.8 331.4 321.7 315.7 315.5 315.4 315.3 315.2 315.1 314.9 314.7 314.7 314.6 314.4 314.4 314.4 314.4 314.5 314.6 314.6 314.6 314.6 314.6 314.6 314.6 314.7 314.7 314.7 314.7 314.7 314.7 314.7 314.7 314.9 314.9 314.9 314.9 314.9 314.9 314.9 315.0 315.1 315.1 315.1 316.4 323.4 330.6 337.9 344.0 346.3 348.4 350.1 350.3 350.0 349.6 348.6 347.6 346.6 345.4 345.4 345.3 345.2 345.4 346.8 348.2 349.1 349.8 350.8 352.7 354.7 356.0 355.7 354.7 353.7 350.9 348.1 345.7 343.3 341.6 340.8 341.3 342.3 345.1 348.4 350.4 352.4 353.4 353.2 352.3 351.8 351.5 351.0 350.7 350.2 349.8 349.7 349.6 349.6 349.6 349.4 349.4 349.3 349.2 349.2 349.0 348.7 347.8 346.5 345.2 346.5 349.0 351.7 354.1 353.9 352.9 350.8 348.9 347.0 346.0 345.9 347.5 350.2 353.8 357.4 358.4 357.9 357.2 356.5 355.7 354.5 353.4 352.9 352.4 351.9 351.4 350.8 350.4 349.8 349.2 348.3 345.9 342.2 334.5 323.8 313.7 309.5 312.6 321.8 333.8 338.7 342.2 343.7 344.5 345.2 346.0 348.1 349.6 350.2 350.4 352.2 353.9 355.6 357.4 359.3 361.1 361.2 360.0 358.4 356.6 355.5 354.6 353.7 352.7 351.7 350.7 350.0 349.8 349.8 349.8 349.8 349.8 349.8 349.7 349.0 348.3 346.9 343.4 335.1 317.8 300.2 287.0 283.4 291.7 304.5 312.7 319.9 323.8 327.0 330.8 334.4 338.0 342.1 347.2 352.5 357.1 359.8 361.2 361.1 360.3 359.5 358.8 358.1 357.2 355.5 353.6 351.0 348.8 346.4 343.8 341.5 340.3 339.3 338.5 338.7 339.4 340.5 342.1 344.3 346.6 348.9 351.0 353.0 355.3 357.6 358.3 358.8 359.4 359.7 357.8 354.8 348.4 340.2 330.1 320.4 319.5 318.6 317.8 316.9 316.2 315.3 314.5 313.7 312.7 311.8 311.2 310.7 310.1 309.6 309.0 308.4 307.9 307.3 306.8 306.1 305.5 305.0 304.4 303.9 303.3 302.7 302.2 301.7 301.1 300.5 299.9 299.4 298.8 298.4 297.8 297.3 296.7 296.2 295.7 295.0 295.9 302.6 309.2 314.7 320.4 326.2 331.3 335.8 340.5 345.4 347.7 350.0 351.8 352.6 353.1 353.3 352.6 351.7 350.9 350.4 349.9 349.4 348.9 348.3 347.8 347.3 346.9 346.4 345.9 346.4 346.9 347.4 348.0 349.0 350.4 351.7 353.0 354.0 354.2 353.7 353.4 352.9 351.9 350.7 350.0 349.6 349.3 349.0 349.3 349.8 349.1 348.8 349.2 349.9 350.4 351.1 351.5 351.4 351.1 350.8 350.8 350.5 350.3 350.4 350.4 350.7 350.7 350.0 349.2 348.2 347.4 346.4 345.7 345.1 345.6 346.3 347.6 348.8 350.2 351.7 351.9 350.6 349.4 348.4 348.6 348.9 349.2 349.5 349.8 349.6 349.2 348.9 348.8 349.0 349.4 349.9 350.2 350.4 350.1 349.8 347.4 347.0 346.7 345.0 342.2 338.9 335.4 331.6 327.7 324.0 320.5 317.4 315.5 315.7 316.9 321.0 328.1 337.8 354.0 373.6 392.2 403.4 412.8 419.9 424.3 424.7 424.3 423.8 422.8 420.4 417.3 414.7 413.3 412.2 410.8 412.3 413.6 414.8 415.8 415.8 415.7 415.2 414.0 411.6 404.6 396.0 384.7 373.8 362.4 356.6 353.4 355.4 358.1 361.2 366.0 371.0 376.3 383.6 393.0 404.6 415.9 420.9 422.3 422.9 423.5 423.2 423.0 422.7 422.2 421.1 419.9 418.7 417.6 416.7 416.3 415.9 415.5 415.5 415.5 415.8 415.8 415.9 416.3 416.9 417.5 417.8 417.7 415.9 413.2 410.5 407.6 405.0 403.0 402.1 402.8 403.7 404.5 405.2 406.6 412.0 417.1 418.4 419.0 419.7 420.4 419.4 418.7 419.0 419.8 419.4 418.8 418.2 417.7 417.3 416.7 416.1 415.6 414.9 413.9 412.7 411.5 409.5 405.9 401.1 392.4 383.2 375.6 371.3 371.0 373.9 377.1 379.7 380.8 381.9 384.8 388.2 392.0 396.4 402.3 409.4 416.6 422.9 426.1 428.5 431.2 430.5 429.8 429.2 428.2 426.2 424.0 421.1 418.6 416.1 413.2 410.5 408.2 406.6 405.2 403.9 402.5 401.9 402.8 404.3 406.1 408.2 412.0 415.9 420.6 425.3 429.4 431.3 432.8 433.8 431.9 428.1 419.3 410.7 402.4 395.0 394.4 393.9 393.5 393.0 392.4 391.9 391.4 391.0 390.5 390.0 390.2 390.5 390.8 391.0 391.3 391.6 391.9 392.1 392.4 392.7 393.0 393.2 393.5 393.8 394.0 394.3 394.6 394.8 395.1 395.4 392.9 388.3 384.1 375.7 363.2 350.8 339.8 332.3 329.5 332.5 350.2 379.2 408.5 420.9 425.5 426.1 424.9 423.4 421.7 420.1 418.6 417.0 416.1 415.2 414.3 413.4 412.8 412.8 413.1 413.2 413.4 413.5 413.8 413.9 414.1 414.2 414.3 414.5 414.8 414.8 415.2 415.9 416.4 416.5 416.3 416.4 416.9 417.5 418.1 418.9 419.5 419.9 419.7 419.5 418.9 418.6 418.2 417.8 417.5 417.2 416.7 416.5 416.4 416.1 416.0 415.9 416.5 416.9 417.3 417.0 416.4 416.0 415.1 412.6 409.6 397.5 382.7 369.9 362.4 363.6 366.7 373.3 379.4 384.6 390.2 393.2 396.0 398.4 400.2 401.6 414.0 424.8 428.7 427.7 425.3 422.8 421.0 420.1 419.7 419.2 418.0 417.0 416.1 415.2 415.3 415.4 415.5 415.5 415.7 415.8 415.9 415.2 414.5 414.3 414.8 416.1 416.3 416.0 414.0 409.6 403.7 397.4 390.2 381.8 372.8 368.2 366.8 369.0 374.1 381.5 392.2 405.2 415.6 419.5 420.1 420.7 420.3 420.9 421.5 422.1 422.7 422.1 419.9 417.7 415.3 411.8 410.6 410.2 410.2 410.5 411.1 411.5 412.0 412.7 413.6 414.5 415.1 415.9 416.8 417.5 418.4 418.8 418.2 417.4 416.7 415.8 415.0 414.3 413.9 413.6 413.3 413.0 412.9 412.9 413.6 414.8 415.9 416.9 418.0 419.2 419.7 419.6 418.5 415.8 406.3 393.6 375.7 358.3 340.2 327.4 325.7 324.0 323.2 324.6 327.0 332.9 338.0 342.3 347.1 351.9 356.7 361.4 365.0 368.4 371.7 374.7 377.6 380.4 384.2 392.2 401.4 410.8 417.9 421.8 424.5 423.6 422.7 421.7 420.8 419.9 418.9 417.5 415.7 413.8 412.9 412.0 411.3 410.7 410.1 410.5 411.4 412.2 412.9 413.7 414.8 416.0 417.1 418.0 418.0 417.7 417.3 417.7 418.1 418.0 417.7 417.4 417.0 416.5 415.7 414.8 414.2 413.9 413.7 413.4 413.2 413.0 413.2 413.4 413.6 413.9 414.5 415.1 415.7 416.4 417.0 416.7 416.4 416.1 415.8 415.5 414.7 414.1 413.7 414.0 414.6 413.9 413.2 412.7 411.5 407.2 398.2 389.2 378.9 366.5 353.3 344.1 336.5 331.0 328.5 331.5 346.2 363.2 378.9 395.0 404.6 412.6 417.4 417.7 416.8 415.3 414.4 413.6 413.1 412.9 412.9 413.9 415.0 416.5 420.7 427.2 434.1 440.6 445.5 449.9 454.5 458.2 462.1 465.1 467.4 469.1 470.1 470.8 471.2 471.5 471.9 470.8 469.9 469.3 469.5 470.2 470.7 470.5 470.3 470.0 469.7 469.1 468.6 468.2 467.8 467.2 466.8 466.3 466.0 465.5 464.3 462.9 461.4 460.3 458.6 455.0 451.1 447.3 444.0 440.3 435.7 428.9 422.9 415.3 401.7 380.8 367.1 355.1 347.2 342.8 338.9 337.1 338.0 339.2 347.1 358.8 371.2 382.5 389.6 396.8 404.9 412.2 412.1 411.4 409.0 406.3 404.2 402.9 401.8 400.9 399.8 398.2 396.8 396.6 396.6 396.6 397.1 399.9 402.8 405.9 408.6 411.5 413.7 414.9 415.8 416.7 417.9 418.4 418.1 417.8 417.2 416.7 416.3 415.8 414.8 413.6 412.9 412.9 413.1 413.3 412.9 412.6 413.1 413.5 414.2 415.3 416.4 417.1 416.9 416.6 416.0 415.7 415.4 415.2 414.9 414.1 413.2 412.2 411.0 409.5 407.9 405.2 401.0 394.8 387.9 381.1 374.1 366.6 355.2 338.5 330.4 321.5 313.4 308.4 305.6 309.9 321.6 345.8 356.6 361.1 364.5 368.1 370.0 371.3 372.9 373.0 373.2 373.2 373.2 373.2 372.6 371.9 371.1 370.6 369.9 369.4 368.8 368.2 367.6 367.1 366.6 366.1 365.7 365.5 365.7 366.6 367.3 367.8 368.3 369.3 370.9 372.8 375.4 378.4 381.2 383.9 386.5 388.5 390.1 391.3 392.2 393.5 394.2 394.5 394.7 394.7 394.7 394.5 394.5 394.5 395.0 394.7 394.5 394.3 394.3 394.0 394.0 393.6 393.2 392.8 392.2 391.9 391.5 391.3 391.1 392.7 392.1 392.8 393.4 393.9 394.5 395.1 395.4 395.5 395.6 395.6 395.9 395.9 396.0 396.1 396.1 396.1 396.1 396.0 395.9 395.9 395.9 396.1 396.2 396.3 396.8 397.1 397.5 397.6 397.9 397.9 398.2 398.0 397.8 397.4 397.0 396.3 395.5 394.7 393.6 392.2 390.6 389.2 387.8 386.4 385.3 384.2 383.2 382.5 381.8 381.7 381.8 382.7 383.8 385.0 386.6 388.6 390.5 392.9 395.6 398.2 400.5 402.6 404.1 405.2 405.4 404.4 404.4 404.3 403.8 403.0 401.7 399.5 397.5 395.4 392.9 390.1 387.6 385.4 382.9 380.8 379.2 378.1 377.5 377.3 378.2 379.6 380.9 382.6 384.6 386.8 389.4 392.2 394.6 396.8 398.6 400.2 401.5 402.7 403.5 404.4 404.5 405.1 405.2 404.6 403.2 401.3 399.6 397.7 395.1 392.0 389.1 386.2 383.8 381.4 379.1 376.7 375.2 374.0 372.8 372.1 372.7 373.4 374.6 376.1 378.2 381.0 383.7 386.4 389.7 393.1 396.1 398.5 400.4 402.0 403.2 404.2 403.7 402.4 400.6 398.4 395.7 392.7 390.1 386.2 382.8 379.6 376.9 373.9 370.3 366.8 363.6 361.5 360.2 358.7 357.2 356.0 354.3 352.8 352.1 351.9 351.3 350.4 349.8 349.5 348.8 347.2 345.3 342.9 339.3 334.2 330.0 331.6 336.8 343.1 347.2 350.7 351.5 351.5 351.5 351.7 350.6 349.5 348.5 347.8 347.0 346.1 344.8 343.8 342.7 341.4 341.5 341.6 341.8 342.0 342.6 343.6 344.3 345.1 346.0 346.8 347.8 348.6 349.1 349.1 348.6 348.2 348.0 348.2 348.7 348.4 348.1 348.6 349.1 349.5 350.0 350.5 351.0 351.5 352.0 352.5 353.0 353.4 353.5 353.5 353.3 353.3 353.2 352.8 352.2 351.5 350.9 350.3 349.8 349.2 348.0 346.6 345.3 344.1 342.7 341.4 340.5 339.4 338.4 337.5 336.6 337.1 337.8 338.3 339.2 342.8 347.0 350.7 353.0 354.3 355.3 356.4 357.1 357.5 357.8 358.0 357.0 356.2 355.4 354.4 352.5 350.4 348.2 345.9 343.2 340.5 338.0 336.7 335.7 335.2 335.0 334.8 335.4 336.6 339.2 342.6 346.0 348.6 350.7 353.0 355.1 357.2 359.0 359.6 359.4 358.8 358.1 356.2 354.2 352.0 349.4 346.9 344.4 342.2 339.8 337.9 336.0 334.3 333.4 332.8 333.5 334.6 335.8 337.8 340.4 342.8 345.5 347.9 349.7 351.3 353.3 355.1 356.1 356.8 357.0 357.0 356.8 356.6 355.9 354.9 353.9 352.8 351.3 349.8 348.0 345.2 345.2 345.1 345.0 345.0 344.8 344.8 344.8 344.8 344.8", + "f0_timestep": "0.005" + }, + { + "offset": 48.48, + "text": "SP 我 也 想 说 再 见 啊 SP 风 月 梦 话 SP 把 想 与 念 留 下 SP", + "ph_seq": "SP w o y E x iang sh uo z ai j ian a SP f eng y ve m eng h ua SP b a x iang y v n ian l iu x ia SP", + "ph_dur": "0.3019 0.0232 0.1393 0.058 0.1277 0.0813 0.1277 0.0697 0.1161 0.0813 0.3135 0.0813 0.209 0.3947 0.0697 0.1277 0.3135 0.0929 0.3019 0.0929 0.1045 0.0929 0.4063 0.1741 0.0232 0.2438 0.1625 0.3019 0.0929 0.1393 0.058 0.3367 0.0697 0.3947 0.1974 0.4063 0.0464", + "ph_num": "2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 1 1", + "note_seq": "rest F4 G4 A4 A#4 G4 A4 C5 C5 rest C4 G4 A4 A4 rest C4 E4 F4 F4 C4 A3 rest", + "note_dur": "0.32 0.2 0.2 0.2 0.2 0.133 0.267 0.2 0.4 0.2 0.4 0.4 0.2 0.4 0.2 0.4 0.4 0.2 0.4 0.6 0.4 0.05", + "note_slur": "0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "348.4 348.4 348.4 348.7 348.8 348.8 348.7 348.7 348.6 348.5 348.5 348.4 348.4 348.3 348.3 348.2 348.2 348.1 348.1 348.0 347.9 347.9 347.8 347.8 347.7 347.7 347.6 347.6 347.5 347.4 347.4 347.3 347.3 347.2 347.2 347.1 347.1 347.0 346.9 346.9 346.8 346.8 346.7 346.7 260.7 256.4 252.3 249.8 247.7 245.4 243.1 241.1 239.2 236.9 234.8 234.2 235.2 236.0 237.0 237.8 238.9 240.2 243.1 256.0 272.9 284.8 297.3 308.8 321.2 330.6 337.6 343.0 345.4 347.8 348.6 348.7 348.8 348.9 349.2 349.4 349.9 350.3 350.6 351.1 351.7 351.5 351.4 351.1 350.7 350.0 347.8 345.7 343.4 339.6 335.4 334.2 333.8 335.3 338.9 343.6 349.5 356.9 364.5 372.2 379.5 386.4 390.3 392.8 395.0 397.0 397.2 397.1 396.7 396.0 395.6 395.1 394.5 393.3 390.3 386.4 377.8 365.2 349.0 331.3 322.8 336.7 349.7 357.2 361.9 366.2 370.5 373.7 376.8 380.5 385.3 390.4 395.7 400.3 404.3 408.2 413.2 417.1 418.9 420.3 421.8 427.6 437.2 444.5 447.2 448.5 448.5 448.5 447.8 446.5 444.6 442.9 442.0 441.8 442.0 442.5 442.7 443.2 443.3 442.9 439.5 434.9 424.8 409.4 390.1 375.8 383.2 396.7 410.2 420.7 429.2 437.2 439.7 440.1 440.2 440.5 441.0 441.7 442.2 442.7 443.3 453.0 462.8 469.8 472.1 472.1 471.9 471.6 471.0 470.4 469.4 468.7 468.2 467.6 466.6 465.9 466.6 467.1 467.5 467.8 466.4 464.5 460.8 453.1 441.3 427.5 414.9 396.3 376.1 368.6 363.0 361.3 363.0 364.1 365.0 367.0 371.4 374.9 377.6 380.0 382.2 384.4 386.8 388.2 389.2 391.1 393.8 394.5 393.5 392.8 392.4 392.4 392.6 392.7 392.3 391.8 391.5 391.3 391.4 392.2 393.6 395.2 397.6 400.1 403.4 407.7 413.1 418.4 423.3 427.8 431.4 434.5 437.1 438.7 439.6 440.3 440.0 439.8 439.4 439.2 439.0 439.3 439.5 439.8 440.2 440.8 441.4 442.0 442.5 443.2 443.8 443.4 442.9 442.3 440.9 439.2 437.6 434.5 428.2 419.1 406.3 395.3 393.7 394.5 398.6 404.2 410.5 418.1 425.3 431.6 437.5 443.8 450.5 456.7 462.5 469.1 477.4 484.2 491.5 500.8 510.4 520.8 529.8 534.4 535.9 535.5 534.2 532.8 532.6 532.2 531.8 530.6 529.5 528.7 528.2 528.1 527.8 527.7 527.3 526.7 525.7 524.5 523.4 522.0 520.1 517.8 517.1 516.6 516.6 516.9 517.2 518.7 519.9 520.9 521.4 521.7 522.1 522.5 523.1 524.9 526.9 531.1 534.6 535.9 535.6 535.2 534.7 534.1 533.8 533.4 533.0 532.3 531.9 531.2 529.7 527.8 525.9 524.2 522.5 520.6 519.0 517.5 516.0 515.3 515.6 516.3 517.1 517.8 518.7 520.7 523.3 525.8 528.3 530.6 532.9 533.9 535.1 536.0 536.6 536.0 534.9 532.6 529.8 526.8 523.6 520.8 518.2 515.8 513.8 512.6 511.9 512.3 513.1 514.7 516.8 519.0 521.7 524.6 527.7 531.1 534.2 537.4 539.2 540.8 542.1 541.7 540.8 539.2 537.2 533.6 529.6 525.8 521.6 517.8 513.7 509.2 508.3 509.6 511.4 513.5 515.5 515.5 515.5 515.6 515.7 515.7 515.3 513.7 512.9 511.4 509.2 506.1 501.5 495.7 487.6 475.4 459.0 440.1 419.2 393.4 367.2 342.8 321.7 306.6 294.0 283.8 276.7 272.1 269.1 266.6 264.8 263.9 263.3 263.0 262.3 262.2 262.4 262.6 262.8 263.0 263.1 263.3 263.4 263.2 262.9 262.7 260.5 258.5 256.8 255.4 254.5 253.5 252.8 252.8 253.2 254.5 255.8 257.2 258.5 260.0 261.5 262.2 262.8 263.4 263.9 263.7 263.5 263.2 262.8 261.6 260.3 260.0 259.7 259.6 259.3 259.1 259.7 260.2 260.4 260.5 260.7 260.9 261.0 261.2 261.6 261.9 262.3 262.6 262.6 262.5 262.5 262.4 262.5 262.7 263.0 263.3 262.2 261.3 260.2 258.7 257.1 255.5 253.6 251.5 249.4 246.4 243.4 240.8 239.1 237.6 236.2 234.9 234.2 234.0 234.5 235.8 238.5 242.8 250.8 263.4 278.8 298.3 317.7 331.5 341.8 351.5 358.3 361.6 362.6 362.8 362.4 361.1 359.9 358.3 356.7 355.7 355.1 355.1 355.9 357.5 359.0 361.1 364.4 367.4 370.9 375.6 380.8 385.0 387.5 389.9 392.2 394.2 395.0 395.3 395.7 396.1 395.0 393.9 393.0 392.3 391.8 391.2 390.6 390.3 390.4 390.4 390.6 390.7 391.0 391.3 392.0 392.6 393.5 394.1 394.3 394.5 394.5 394.6 394.5 393.8 392.7 390.2 387.9 385.8 383.7 381.5 382.5 383.4 384.4 385.8 387.9 390.8 393.7 395.8 398.4 401.4 404.6 407.9 412.4 420.4 430.0 438.9 443.4 445.1 445.6 445.9 446.2 446.3 445.8 445.0 444.1 442.4 440.6 439.1 437.5 438.0 438.7 439.3 439.4 439.0 438.7 434.6 430.7 425.5 415.1 402.3 387.5 377.0 373.3 371.8 370.4 373.1 375.9 378.4 381.1 385.3 390.0 394.1 398.7 406.2 414.8 423.4 431.3 436.7 441.3 444.1 446.3 448.1 448.9 449.4 449.8 450.0 448.5 446.9 445.4 443.1 440.8 438.8 436.7 434.4 432.2 431.3 430.6 429.8 429.1 429.7 430.3 431.0 431.9 433.8 436.0 438.4 440.8 443.2 445.8 448.7 451.0 451.8 452.4 452.6 451.6 450.0 448.1 445.2 441.8 438.2 434.6 432.0 430.0 428.5 427.5 426.5 426.0 427.0 428.4 429.7 431.3 432.9 434.9 437.5 440.0 442.8 445.4 447.3 448.7 449.8 450.8 451.4 450.4 448.8 447.2 445.2 441.3 437.5 433.8 429.7 424.8 420.3 416.6 414.8 413.9 414.4 414.7 415.1 415.7 416.0 416.1 415.5 415.4 414.8 414.1 412.2 409.6 406.3 401.2 393.8 383.8 372.1 358.8 342.4 325.3 309.0 294.8 284.4 275.7 268.5 263.6 260.4 258.2 256.5 255.5 254.9 254.5 254.5 254.0 254.0 254.3 254.5 254.7 254.9 255.2 255.7 257.5 259.0 259.6 259.8 260.2 260.4 260.6 260.9 261.2 261.0 260.8 260.6 260.5 260.3 260.1 259.9 259.7 259.7 259.5 259.3 259.1 259.0 258.8 259.1 259.4 259.8 260.1 260.5 260.9 261.2 261.6 262.0 262.3 262.7 262.5 262.7 263.0 260.2 256.2 251.9 245.8 240.2 234.4 228.3 222.6 219.1 217.7 216.0 214.5 212.8 211.5 210.9 210.5 210.2 209.9 209.5 209.2 208.8 208.5 208.2 207.8 207.7 207.1 206.1 205.1 204.2 203.4 202.6 201.9 201.4 201.2 201.1 201.4 202.2 203.6 206.6 212.0 218.5 228.0 243.7 260.2 274.2 285.1 291.3 296.2 299.9 303.2 306.3 307.0 306.8 304.9 302.9 301.2 300.2 299.6 300.0 300.5 302.1 304.0 305.8 307.8 309.7 312.3 315.3 318.3 321.2 323.7 326.0 328.1 330.2 331.8 332.5 333.0 333.5 333.8 333.5 333.1 332.6 332.1 331.6 330.8 329.8 329.0 328.5 328.3 328.1 328.3 328.6 329.1 329.3 329.7 330.0 330.5 330.8 331.2 331.4 331.4 331.3 331.2 331.1 331.0 331.0 330.8 331.0 330.8 330.7 330.7 330.6 330.8 330.8 331.1 331.4 332.0 332.5 333.5 334.7 336.6 339.4 344.4 349.4 351.8 353.2 354.5 354.7 354.5 354.1 353.8 353.5 353.1 352.8 352.3 351.8 351.2 350.6 350.9 351.0 351.0 351.2 351.3 351.3 351.5 351.3 351.1 350.8 347.8 345.1 342.6 340.9 340.5 340.2 340.0 339.8 339.5 339.3 339.3 340.5 341.7 343.7 348.8 353.9 355.7 356.8 357.8 359.0 358.5 358.1 357.5 356.9 356.4 355.1 354.0 353.0 351.9 350.8 349.6 348.5 347.6 347.1 346.6 346.2 346.0 346.1 346.4 346.6 346.9 347.2 347.5 347.8 348.0 348.7 349.3 350.0 350.5 350.8 351.1 351.3 351.5 351.3 350.8 350.5 350.1 349.8 349.5 349.8 350.1 350.6 350.9 351.4 351.7 352.1 352.2 351.7 351.1 350.4 349.7 348.5 346.1 342.9 339.7 336.3 332.6 328.1 322.8 317.1 309.8 303.1 296.9 290.5 284.2 277.8 271.2 265.6 260.6 255.2 249.7 246.5 244.0 242.2 240.7 239.3 238.0 237.1 236.3 235.8 235.9 236.5 237.4 238.5 239.5 239.7 239.9 240.3 240.9 241.4 241.1 240.7 240.7 240.5 240.3 240.2 240.0 239.9 239.8 239.6 239.9 240.2 240.4 240.7 240.9 241.2 241.7 242.8 244.2 246.4 248.9 251.1 253.3 255.8 257.7 259.6 261.5 263.0 264.1 265.3 266.2 266.4 266.4 266.2 265.3 264.2 263.1 262.1 261.2 260.1 259.7 259.2 258.8 258.4 258.6 258.8 259.1 259.3 259.6 259.8 260.4 261.1 261.6 262.3 263.0 263.6 264.1 264.3 264.4 264.5 264.6 264.7 264.7 264.8 265.0 261.2 257.4 253.2 246.2 237.8 230.5 226.3 223.5 222.7 222.8 222.8 222.9 223.0 223.2 223.2 223.3 223.1 222.9 222.7 222.6 222.3 222.0 221.8 221.6 221.7 221.9 222.0 222.1 222.2 222.2 222.1 222.2 222.2 222.0 221.4 220.5 220.1 219.4 218.2 217.0 217.6 218.2 219.1 220.5 222.6 224.5 224.8 224.9 225.5 226.2 224.9 223.7 222.6 220.9 219.0 217.0 215.1 213.1 210.7 208.4 206.2 205.1 204.7 205.1 205.9 206.6 207.7 209.4 211.6 213.9 216.7 219.4 221.7 223.5 225.1 226.8 228.2 228.7 229.0 228.0 226.9 225.3 223.1 220.5 217.9 214.9 212.4 209.9 207.0 204.3 202.7 201.2 200.0 199.2 198.5 199.4 200.2 201.2 203.1 205.5 207.9 210.2 211.9 213.6 215.6 217.6 219.3 221.1 223.0 224.4 225.5 226.3 226.2 225.8 225.3 223.8 222.4 221.0 219.3 216.8 216.8 216.8 216.8 216.8 217.0 217.0 217.0 217.0 217.0", + "f0_timestep": "0.005" + }, + { + "offset": 54.88, + "text": "SP 可 看 到 窗 台 SP 微 微 摇 曳 的 花 SP 却 难 以 自 拔 SP", + "ph_seq": "SP k e k an d ao ch uang t ai SP w ei w ei y ao y E d e h ua SP q ve n an y i z i0 b a SP", + "ph_dur": "0.2554 0.0697 0.3251 0.0813 0.3135 0.0813 0.2786 0.1161 0.1277 0.0813 0.3947 0.1277 0.0929 0.1161 0.0697 0.1161 0.0813 0.1393 0.058 0.1393 0.058 0.0929 0.1045 0.4063 0.0813 0.1161 0.1277 0.0697 0.1161 0.0929 0.267 0.1277 0.1277 0.0697 1.4048 0.0464", + "ph_num": "2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 1", + "note_seq": "rest F4 G4 A4 C5 C5 rest C4 C4 A4 A4 C5 C5 rest G4 G4 G4 A4 G4 A4 rest", + "note_dur": "0.32 0.4 0.4 0.4 0.2 0.4 0.225 0.175 0.2 0.2 0.2 0.2 0.4 0.2 0.2 0.2 0.4 0.2 0.2 1.2 0.05", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0", + "f0_seq": "219.5 219.5 219.5 219.7 249.7 250.9 252.1 253.4 254.6 255.9 257.1 258.4 259.7 260.9 262.2 263.5 264.8 266.1 267.4 268.7 270.1 271.4 272.7 274.1 275.4 276.8 278.1 279.5 280.9 282.3 283.7 285.1 286.5 287.9 289.3 290.7 292.1 293.6 295.0 296.5 297.9 299.4 300.9 302.4 282.4 281.2 280.1 279.1 278.1 277.0 275.9 274.9 273.9 273.5 272.1 266.8 261.6 257.0 252.4 247.4 244.1 246.5 248.9 257.4 272.7 289.5 297.2 300.9 304.9 309.3 313.7 316.3 316.3 316.7 317.1 317.6 317.4 316.4 315.3 314.0 312.9 311.8 310.9 312.8 316.7 321.0 326.8 332.2 337.9 344.2 348.2 351.0 353.4 353.8 353.3 352.8 352.2 351.6 351.1 350.4 350.0 350.1 350.2 350.2 350.4 350.4 350.1 349.9 350.9 351.3 351.0 351.0 350.7 350.6 350.0 349.5 349.0 348.3 346.7 344.4 341.4 332.1 317.3 299.7 287.3 277.3 274.5 278.1 288.3 304.5 321.6 332.8 338.7 343.2 344.8 346.4 348.1 349.7 351.8 354.3 357.6 361.7 366.2 372.3 379.1 386.0 391.5 393.3 393.8 394.0 393.2 392.9 393.1 393.7 393.8 393.8 393.7 393.6 393.4 393.1 392.9 392.7 392.3 392.1 392.0 392.1 392.2 392.2 392.2 392.2 392.4 392.4 392.4 392.4 392.7 392.7 392.6 392.3 392.1 391.8 391.4 391.0 390.8 390.5 390.9 391.2 391.7 392.0 392.4 392.7 392.7 393.0 393.1 393.3 393.4 393.6 393.8 393.9 394.0 394.3 394.9 395.5 395.5 395.2 395.2 394.8 394.3 393.8 393.4 392.9 392.4 391.4 390.4 389.3 388.2 380.4 364.9 348.5 338.4 331.5 325.4 320.9 319.4 329.6 350.6 371.5 380.8 385.2 388.3 390.9 392.3 393.7 394.5 395.2 395.6 394.3 393.4 392.5 391.5 390.6 389.3 388.5 388.8 391.8 395.2 400.5 406.5 411.9 417.7 424.0 430.5 436.3 440.0 442.4 444.9 447.0 447.9 447.5 447.0 446.7 446.1 445.7 445.1 443.9 442.3 440.4 438.1 436.9 435.9 434.7 434.1 434.8 435.8 437.0 438.0 439.2 440.4 441.4 442.4 441.8 439.7 433.5 426.0 414.6 402.6 401.8 408.2 414.3 418.6 422.6 429.1 434.9 438.7 442.7 446.7 450.8 453.3 455.6 458.6 462.4 467.2 471.2 475.5 482.0 491.9 506.3 519.6 527.4 531.0 532.7 533.3 533.2 532.6 531.2 529.3 527.1 525.2 523.7 523.0 522.6 522.3 522.0 522.3 523.1 523.9 524.6 525.1 524.7 524.0 523.3 521.1 515.0 506.6 491.0 473.2 467.8 462.4 458.8 458.9 466.7 475.1 479.9 484.6 492.6 501.9 511.7 520.7 526.0 528.6 530.9 532.6 533.7 534.6 535.3 536.4 535.7 535.2 534.3 533.0 531.2 528.2 525.6 522.9 520.2 517.2 514.8 513.2 512.2 511.2 511.6 512.3 513.0 513.7 514.6 516.6 518.9 521.1 523.3 526.2 529.3 532.5 535.2 536.9 538.6 540.1 539.0 538.0 536.7 534.2 531.5 528.6 525.2 522.2 518.6 515.2 514.1 513.4 512.7 512.7 512.8 512.9 513.4 514.7 516.3 518.1 519.9 521.6 523.1 524.5 526.0 527.0 527.7 528.4 528.7 526.9 524.3 522.0 519.2 514.0 507.8 501.3 494.1 488.4 486.7 487.1 488.4 489.6 490.9 492.2 493.3 494.3 494.0 494.3 494.0 493.3 490.7 486.8 481.7 474.2 462.7 447.1 429.2 409.2 384.5 359.3 335.7 315.4 300.7 288.7 278.9 272.2 268.0 265.1 263.0 261.6 260.9 260.6 260.5 260.1 260.3 260.8 261.1 261.6 262.0 262.4 262.6 261.1 259.6 258.2 256.5 256.1 255.8 255.9 256.3 256.7 256.7 256.8 256.8 256.9 257.7 258.7 259.7 260.4 261.2 261.8 262.4 263.1 263.6 264.2 264.8 264.4 264.1 263.9 263.5 263.1 262.8 262.4 262.1 261.9 261.5 261.5 261.4 261.3 261.3 261.3 261.2 260.9 260.2 259.4 258.9 258.5 258.2 258.0 258.1 258.3 258.7 258.9 259.5 260.6 261.9 262.9 263.3 263.6 263.9 264.2 264.2 263.9 263.7 263.4 262.5 261.8 261.1 260.6 259.9 259.5 260.2 261.8 264.1 267.4 271.9 276.3 282.1 289.0 299.7 313.7 340.2 360.1 372.6 384.4 397.2 409.2 418.5 424.8 430.1 434.4 438.0 440.8 442.2 442.4 442.0 441.5 441.3 440.9 440.6 440.0 439.9 440.6 441.0 440.3 439.2 435.4 432.4 430.7 429.5 428.0 427.0 427.6 428.3 429.0 430.0 431.0 433.6 436.2 439.2 442.3 444.6 444.2 443.4 442.5 441.8 440.8 440.2 439.9 439.6 439.2 438.9 438.6 438.5 438.5 438.7 438.8 439.0 439.0 439.2 439.2 440.4 441.5 442.5 443.8 445.1 446.5 447.2 446.1 443.8 438.0 431.8 427.0 425.5 425.6 430.9 438.3 445.8 455.3 471.6 491.0 509.2 518.3 522.0 524.3 525.7 528.2 529.8 530.9 531.4 531.5 529.2 526.7 522.9 514.0 495.6 478.2 470.2 469.9 473.5 482.6 493.2 503.1 508.4 508.4 506.6 505.1 503.2 500.9 498.2 495.3 492.5 488.2 484.7 480.9 477.6 474.2 471.4 469.5 470.8 473.5 483.9 494.0 504.3 511.3 515.5 519.5 521.3 522.8 523.8 523.9 523.5 522.9 522.5 521.9 521.1 520.4 519.8 519.5 519.1 518.7 518.4 518.0 518.0 518.4 519.0 519.4 519.8 520.1 520.5 520.8 521.1 521.0 520.8 521.5 522.6 523.6 525.1 526.6 527.7 528.1 528.6 527.8 527.0 525.9 525.1 522.6 519.8 517.1 514.7 512.8 510.9 509.5 510.1 511.1 512.2 513.3 514.6 516.5 519.1 521.7 524.5 528.0 530.8 532.7 534.2 535.5 535.4 534.7 533.1 531.2 528.9 526.3 522.4 517.9 513.1 507.2 501.8 497.3 494.3 492.2 491.7 491.2 490.9 490.3 489.9 489.3 488.2 487.4 486.5 484.8 483.3 480.8 477.9 474.1 468.6 461.2 452.8 443.2 431.1 418.4 405.9 395.0 386.7 379.5 373.6 369.2 366.2 364.1 362.1 360.9 359.9 359.2 358.6 357.8 357.2 356.9 356.6 356.3 356.0 355.7 356.5 362.8 369.3 375.8 380.8 385.3 387.0 387.7 388.3 389.1 389.9 390.6 391.6 392.3 392.7 393.0 393.2 393.5 393.8 394.3 394.6 395.0 395.5 395.5 392.9 388.2 384.6 382.6 381.3 381.5 382.0 382.5 382.9 383.4 383.9 384.3 384.8 385.6 388.2 393.4 398.1 399.4 399.3 398.7 397.9 397.4 396.8 396.3 395.7 395.2 394.6 394.2 394.0 394.0 394.0 394.0 393.8 393.8 393.8 393.8 393.3 392.9 392.5 392.8 393.1 391.8 390.8 390.3 389.9 389.5 388.1 386.5 385.3 383.8 382.4 381.8 381.6 382.2 383.4 385.3 387.5 389.4 390.4 391.3 392.2 392.2 392.1 392.6 393.2 393.8 393.8 393.8 393.9 394.0 394.0 394.0 393.7 393.5 393.2 392.7 392.4 392.1 391.9 391.6 391.3 390.8 390.5 390.3 390.0 390.2 390.7 391.0 391.2 391.5 392.0 392.2 392.2 392.2 392.2 392.2 392.3 393.0 393.9 394.6 394.7 394.5 394.4 394.3 394.3 394.0 393.8 392.7 391.7 390.1 386.8 382.5 375.2 366.7 357.1 351.9 355.0 360.9 366.0 369.7 373.0 376.8 380.6 384.3 387.4 390.2 393.2 397.4 401.0 404.6 408.6 413.5 417.8 422.6 427.9 431.2 433.8 437.1 441.2 444.9 446.7 446.7 446.8 446.4 445.8 444.6 443.5 443.2 442.9 442.4 442.3 441.7 441.3 440.9 440.4 439.7 438.7 435.7 431.1 420.7 402.1 384.1 377.0 382.0 394.4 403.9 415.7 425.7 431.3 435.4 439.7 440.3 438.8 436.5 432.4 422.8 409.0 397.2 391.4 389.5 388.4 388.3 388.3 389.0 389.5 389.7 390.1 390.5 390.8 391.4 391.8 391.4 391.1 391.0 390.7 390.9 390.9 391.0 391.1 391.4 391.5 392.0 392.2 392.6 393.0 393.4 392.3 391.4 391.0 390.9 391.3 392.8 394.6 397.4 401.1 405.1 409.4 414.1 418.2 422.4 427.0 430.9 434.3 437.1 439.7 441.3 442.2 443.2 443.9 443.9 444.1 442.5 441.2 439.6 438.0 437.0 436.0 434.9 434.5 434.3 434.4 434.5 434.8 435.2 436.2 437.7 437.3 437.1 437.4 437.8 438.2 438.8 439.1 439.5 439.9 439.5 439.2 439.4 439.5 439.7 439.7 439.8 440.0 440.1 440.3 440.5 440.4 440.0 439.7 439.9 440.3 440.8 441.2 441.7 442.2 442.5 442.2 442.0 441.9 441.6 441.3 441.2 440.9 440.6 440.5 440.3 439.9 439.9 440.2 440.4 439.7 439.1 438.7 438.9 439.0 439.2 439.6 439.9 440.2 440.4 440.0 439.2 439.2 439.2 439.4 439.5 439.4 439.0 438.4 438.0 437.5 437.5 437.5 437.6 437.7 437.7 437.7 437.8 438.0 438.0 438.0 439.0 439.6 439.2 438.4 437.5 438.4 439.1 439.1 438.8 438.5 438.4 438.1 437.8 437.0 436.0 436.3 436.5 436.6 436.9 437.2 437.5 438.0 439.0 440.3 441.5 442.8 444.1 445.4 446.7 447.9 448.3 448.6 448.7 448.9 449.2 449.4 448.6 447.7 446.3 444.6 442.7 441.2 439.4 436.8 433.9 431.4 430.4 429.9 429.1 428.5 429.4 430.2 431.3 433.3 435.4 437.7 439.0 440.6 443.4 446.7 448.3 450.0 451.2 451.4 451.3 451.0 450.5 449.8 448.7 447.7 445.4 443.4 441.4 439.2 437.0 434.8 432.9 432.0 431.3 430.7 430.1 430.7 431.7 433.3 434.9 437.5 440.3 442.3 444.0 445.9 447.4 448.3 449.0 449.6 450.5 451.3 450.8 450.1 448.8 447.4 445.7 443.6 441.5 438.6 435.4 432.6 429.7 427.8 425.9 424.0 422.1 421.6 421.7 422.2 422.6 424.7 427.0 429.0 431.0 433.2 435.4 437.7 439.6 441.8 444.1 446.5 447.7 448.1 448.2 448.2 448.5 448.8 449.8 451.1 450.5 449.9 449.1 448.4 447.8 447.2 446.3 445.7 445.4 445.4", + "f0_timestep": "0.005" + }, + { + "offset": 61.28, + "text": "SP 曾 经 路 上 的 风 吹 雨 打 有 一 个 灯 塔 我 就 不 必 害 怕 SP", + "ph_seq": "SP c eng j in l u sh ang d e f eng ch ui y v d a y ou y i g e d eng t a w o j iu b u b i h ai p a SP", + "ph_dur": "0.2438 0.0813 0.1393 0.058 0.1509 0.058 0.1393 0.058 0.1625 0.0348 0.3019 0.0929 0.1161 0.0929 0.3135 0.0813 0.1509 0.0464 0.3135 0.0929 0.1277 0.0697 0.1509 0.0464 0.1393 0.058 0.1161 0.0929 0.3367 0.058 0.1277 0.0697 0.1625 0.0464 0.3367 0.058 0.2786 0.1277 0.2902 0.1045 0.3947 0.058", + "ph_num": "2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest D4 E4 F4 G4 G4 A4 C5 C5 C5 C5 D5 C5 C5 C5 C5 A#4 A#4 A#4 A#4 A4 G4 G4 A4 rest", + "note_dur": "0.32 0.2 0.2 0.2 0.2 0.1 0.3 0.2 0.4 0.2 0.4 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.4 0.4 0.4 0.133 0.267 0.05", + "note_slur": "0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0", + "f0_seq": "440.5 440.5 440.5 440.3 390.4 388.4 386.5 384.5 382.6 380.7 378.8 376.8 374.9 373.1 371.2 369.3 367.4 365.6 363.7 361.9 360.1 358.3 356.5 354.7 352.9 351.1 349.3 347.6 345.8 344.1 342.3 340.6 338.9 337.2 335.5 333.8 332.1 330.4 328.8 327.1 325.5 323.8 322.2 320.6 293.7 293.5 293.2 293.2 293.0 292.8 292.6 292.4 292.2 292.0 292.0 291.8 291.6 291.4 291.2 291.0 290.8 290.7 290.5 290.3 290.1 290.6 294.4 297.1 297.0 295.7 294.3 293.0 291.8 290.4 289.1 288.3 288.0 288.4 289.1 290.5 291.7 293.0 294.2 295.5 296.2 296.6 296.0 295.3 294.1 289.8 284.3 275.1 264.7 253.2 243.8 241.6 240.6 243.1 250.0 259.2 269.2 278.8 288.0 298.7 310.1 320.9 327.7 331.8 332.6 332.3 331.1 330.2 329.7 329.5 329.4 329.4 329.2 329.2 329.4 329.6 329.9 330.1 330.1 329.7 329.1 328.6 328.5 328.5 328.5 328.7 328.7 328.7 328.8 328.7 328.3 327.4 325.1 323.1 320.9 317.3 314.2 315.1 320.4 331.1 343.4 348.1 348.8 348.9 349.3 349.6 349.9 350.1 350.3 350.3 350.2 350.2 350.0 350.0 350.0 350.0 350.2 350.2 350.2 349.8 350.0 350.2 350.2 350.2 349.8 346.4 341.1 330.7 317.9 303.6 293.5 292.9 297.9 305.2 313.7 323.2 336.2 350.8 374.1 389.7 394.7 397.9 400.2 401.0 401.2 401.2 400.3 399.5 398.2 396.4 394.5 392.2 390.0 388.4 387.4 386.8 385.8 385.4 385.4 385.8 386.8 387.9 389.1 390.1 391.1 392.2 393.1 392.6 392.0 391.4 390.6 389.4 383.7 371.7 347.6 318.0 316.4 315.8 317.8 323.4 341.1 362.3 379.1 386.7 391.9 395.4 397.1 397.7 398.5 397.6 395.6 393.9 392.0 391.0 390.9 391.1 392.0 393.6 396.2 399.7 406.3 414.8 423.2 430.2 436.6 441.8 444.7 446.3 447.2 447.4 447.2 446.9 446.1 445.2 444.3 443.3 442.2 441.4 440.4 439.8 440.5 440.1 439.4 439.4 439.5 439.5 439.7 439.9 440.6 441.8 442.8 440.9 439.0 437.3 433.7 419.6 404.2 395.3 395.1 401.8 410.5 412.6 414.7 417.3 422.3 428.5 433.1 437.4 441.3 445.8 450.5 455.6 460.8 464.9 469.7 475.7 482.7 488.5 495.2 503.5 512.2 521.1 528.7 532.2 533.9 534.2 533.7 532.4 530.9 529.8 529.0 527.9 526.6 525.4 524.6 523.9 523.1 522.3 520.7 516.3 510.7 503.5 489.2 475.4 459.3 442.0 425.2 410.4 396.7 383.3 379.3 377.4 377.8 383.1 390.6 398.8 412.9 426.2 440.4 461.1 484.6 499.7 509.5 517.5 526.0 535.5 538.8 538.2 537.0 535.7 534.2 532.8 531.5 530.3 529.0 526.6 524.0 522.0 520.5 519.3 517.8 516.9 516.8 517.1 518.1 519.6 520.8 522.2 523.4 524.1 524.8 525.2 525.8 526.3 526.8 526.6 526.1 525.6 525.2 524.8 524.5 524.1 523.6 523.1 522.7 522.3 522.6 522.8 523.1 523.5 523.9 523.9 524.3 524.5 524.7 525.1 524.0 523.2 522.2 521.3 520.2 519.9 519.8 519.6 520.1 520.5 521.0 521.4 521.3 520.9 520.5 520.2 520.1 520.2 520.5 520.8 521.2 521.4 521.9 523.3 524.8 526.3 527.8 528.6 528.3 527.5 526.7 526.0 525.5 524.9 525.1 525.1 525.2 524.7 524.2 523.6 522.9 522.5 522.5 522.9 522.9 523.1 522.3 521.5 520.5 519.6 517.2 505.5 486.9 463.9 442.0 431.9 425.0 426.8 435.3 446.7 458.1 469.9 484.7 503.4 522.6 535.1 536.6 532.5 527.8 527.2 527.3 527.5 527.5 527.7 527.8 528.0 527.2 526.3 525.5 524.8 523.3 521.4 520.7 520.3 519.9 519.6 519.5 520.0 520.7 521.4 521.9 522.6 523.3 524.0 524.5 525.2 526.0 526.6 527.1 526.6 525.8 525.2 524.8 524.0 523.3 522.8 522.0 521.4 520.9 521.1 521.8 522.2 522.5 522.9 523.3 523.7 524.3 524.6 525.0 525.4 525.8 526.2 525.7 524.9 524.8 524.1 524.5 525.1 524.8 524.2 524.0 523.6 523.7 523.9 523.9 524.6 525.2 525.4 524.7 523.3 522.8 522.0 521.3 521.1 521.1 521.7 523.1 523.9 525.5 528.4 531.0 536.7 544.2 554.0 563.4 572.7 580.4 585.4 589.5 592.8 590.7 589.3 588.0 586.6 585.3 584.3 584.6 585.4 585.9 586.7 586.9 586.2 585.0 583.0 580.9 578.0 575.1 572.1 568.5 563.4 556.6 550.3 544.4 539.0 534.2 532.8 531.2 529.1 527.5 526.0 525.6 525.5 525.7 525.4 525.1 525.1 525.1 525.1 525.3 525.4 525.7 525.8 526.3 526.8 527.2 527.3 526.4 525.6 524.7 523.6 522.0 515.5 503.7 486.2 468.6 453.7 448.2 446.7 450.3 456.8 463.6 471.9 480.2 489.7 499.6 506.9 514.1 520.5 526.6 528.4 528.8 529.0 528.7 528.0 527.5 526.7 526.0 525.5 524.9 524.2 524.2 524.5 524.6 524.8 525.1 525.1 525.2 525.4 525.4 525.1 523.6 512.9 492.9 467.6 443.6 432.3 430.2 429.8 430.1 433.4 451.2 473.3 494.9 514.1 531.2 535.9 534.1 531.7 529.5 528.7 528.0 527.7 527.2 526.7 526.3 524.5 522.8 521.5 521.1 521.4 521.4 521.6 522.0 523.0 524.5 526.0 527.5 528.7 529.9 531.5 529.5 525.6 516.9 504.0 484.8 464.9 448.5 440.6 434.5 428.0 429.4 442.7 460.3 482.3 501.6 515.1 518.1 520.4 521.7 523.6 525.1 526.3 526.9 527.1 527.5 527.9 528.3 528.4 528.2 528.1 528.0 527.8 527.3 526.0 524.8 523.3 522.0 520.9 519.4 518.1 517.8 517.2 516.8 516.9 517.2 518.0 518.7 518.9 519.0 518.7 517.9 516.6 514.4 510.6 505.1 497.5 488.8 481.7 474.7 468.1 462.2 457.6 453.2 450.1 449.8 450.7 452.8 454.9 457.4 460.5 464.4 467.5 469.9 472.2 474.6 474.5 474.3 474.1 473.2 472.1 470.9 469.1 467.4 464.6 460.0 456.7 454.5 453.9 453.3 452.1 451.3 452.1 452.6 453.3 454.5 455.2 456.4 457.7 459.3 460.8 462.8 464.3 465.0 465.1 465.1 465.4 465.5 465.6 465.8 465.9 466.9 467.8 468.7 469.7 470.8 470.3 463.1 452.2 431.8 407.2 386.2 378.6 379.1 386.3 395.6 399.1 402.6 405.9 410.2 415.5 420.6 424.8 428.7 433.1 437.5 442.9 452.8 460.6 464.6 467.2 469.7 471.5 471.7 471.4 471.0 471.0 470.6 470.2 469.3 468.3 467.3 466.6 466.4 466.4 466.4 466.4 465.9 465.3 464.7 464.0 453.7 444.6 438.6 442.0 454.5 466.4 467.5 465.3 458.4 449.0 440.0 431.9 424.3 415.8 408.4 411.7 420.5 428.2 432.9 436.7 438.0 438.9 439.1 439.0 438.7 437.4 436.1 435.4 435.0 434.7 434.4 434.1 433.8 433.5 433.2 434.1 437.2 440.0 442.9 446.4 450.9 455.3 459.5 464.1 468.9 471.1 472.9 474.6 476.2 476.5 475.8 474.8 472.9 471.5 470.2 468.9 467.8 466.6 465.6 464.3 464.6 464.7 465.0 465.3 466.4 467.8 469.4 470.6 472.1 473.5 472.1 471.4 471.0 468.9 466.2 463.5 460.7 457.6 453.2 448.7 445.1 441.9 439.9 438.3 436.7 435.3 434.7 434.8 434.8 434.7 434.4 434.4 434.3 434.0 434.4 435.3 436.1 437.1 438.2 439.2 439.9 440.9 441.9 443.3 443.8 444.5 445.1 445.7 445.5 444.9 444.2 443.6 443.2 442.1 440.3 439.9 439.6 439.3 439.0 438.7 439.0 439.1 439.2 439.4 439.7 439.8 439.9 439.4 439.0 439.2 439.5 439.6 439.9 440.0 440.3 440.6 440.8 440.9 441.2 441.5 441.6 441.9 442.0 442.0 442.0 443.1 443.1 443.1 442.9 442.8 442.9 443.3 443.4 443.1 442.8 442.5 442.4 442.1 441.8 443.8 447.1 450.0 451.7 453.4 455.3 456.6 458.2 459.6 460.6 462.9 463.5 463.7 463.5 462.0 456.0 449.5 440.8 430.1 419.8 409.4 401.6 397.6 394.2 391.8 390.6 390.0 389.2 388.4 388.0 387.3 387.3 387.4 387.8 388.3 387.9 387.2 387.5 388.2 388.3 388.6 388.9 389.2 389.3 389.5 389.7 390.1 390.8 391.4 391.9 392.7 393.5 394.0 394.6 395.3 396.1 396.6 396.3 395.8 395.3 394.7 394.4 393.8 393.0 392.2 391.5 390.2 386.6 381.7 372.8 362.0 352.7 349.3 345.2 340.6 336.0 331.4 326.9 323.0 319.0 314.7 310.5 306.6 302.9 298.8 294.9 290.8 286.9 284.4 283.5 284.5 287.6 290.6 293.4 300.5 313.8 328.9 344.7 359.1 372.5 381.1 389.1 396.6 399.0 399.4 400.0 400.5 399.8 399.1 398.0 396.6 395.0 392.8 390.6 388.4 386.6 386.7 387.2 388.0 389.9 394.0 399.0 404.5 410.8 418.4 425.3 431.6 437.2 441.3 444.1 446.1 447.6 448.2 448.6 448.9 449.0 449.0 448.5 447.0 444.7 442.3 440.2 438.6 437.2 436.5 436.0 435.6 435.3 435.0 434.8 434.4 435.6 436.6 437.7 438.8 440.0 441.3 443.4 446.0 448.9 450.8 452.4 455.4 455.9 455.4 454.5 450.2 445.5 440.1 434.2 427.7 422.2 417.3 413.5 412.4 412.4 413.7 415.3 416.7 418.3 420.1 421.9 423.3 424.0 424.0", + "f0_timestep": "0.005" + }, + { + "offset": 67.28, + "text": "SP 小 的 温 暖 也 能 被 放 大 SP", + "ph_seq": "SP x iao d e w en n uan y E n eng b ei f ang d a SP", + "ph_dur": "0.1393 0.1858 0.3483 0.058 0.3135 0.0813 0.6966 0.1045 0.3019 0.0929 0.3019 0.1045 0.7198 0.0813 0.1974 0.1974 0.2902 0.1161 1.9969 0.0464", + "ph_num": "2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest C4 D4 A4 C5 C5 A4 C5 C4 C4 D4 rest", + "note_dur": "0.32 0.4 0.4 0.8 0.4 0.4 0.8 0.4 0.4 0.2 1.8 0.05", + "note_slur": "0 0 0 0 0 0 0 0 0 0 1 0", + "f0_seq": "438.0 438.0 438.0 438.7 379.7 377.3 374.8 372.3 369.9 367.5 365.1 362.7 360.3 358.0 355.6 353.3 351.0 348.7 346.4 344.2 341.9 339.7 337.5 335.3 333.1 330.9 328.7 326.6 324.5 322.3 320.2 318.1 316.1 314.0 311.9 309.9 307.9 305.9 303.9 301.9 299.9 297.9 296.0 294.1 261.6 261.4 261.2 261.1 260.9 260.7 260.4 260.2 260.0 259.9 259.7 259.5 259.3 259.1 259.0 258.8 258.6 258.4 258.2 257.9 257.7 258.6 264.4 269.3 271.4 272.6 271.6 270.7 269.8 268.6 266.2 263.9 262.2 261.0 259.8 258.3 257.8 257.2 256.8 256.4 255.8 255.2 255.0 255.2 255.6 256.1 256.6 257.0 257.4 257.9 258.3 258.5 258.5 258.7 258.8 258.9 259.5 260.0 260.5 260.9 261.0 261.0 261.0 261.1 261.5 261.9 262.3 262.7 262.8 263.0 263.0 263.0 263.1 263.1 263.3 263.3 263.3 263.4 263.4 263.4 263.6 263.6 263.6 263.7 263.3 259.1 247.9 238.1 229.7 223.3 221.5 223.5 225.2 226.4 228.1 231.9 241.0 250.7 260.9 272.9 284.6 290.5 292.9 294.4 296.0 297.9 298.4 298.6 298.5 298.6 298.5 298.2 297.9 297.5 296.7 296.0 295.4 294.8 294.1 293.3 292.5 291.7 291.0 290.4 290.0 289.5 289.5 289.5 289.5 289.6 289.6 289.7 290.2 290.7 291.2 291.6 292.3 292.8 293.2 293.7 294.3 294.8 295.3 295.5 295.5 295.7 295.7 295.8 295.9 295.8 295.7 295.7 295.5 295.4 295.4 295.0 294.6 294.4 294.0 293.7 293.8 293.9 294.0 294.1 294.6 295.0 294.6 293.8 292.7 291.9 292.3 292.4 292.2 292.8 294.2 297.2 303.1 312.1 325.0 340.9 364.1 381.9 387.8 391.9 394.7 396.1 399.3 401.1 401.6 401.3 400.0 399.7 399.2 398.4 397.6 396.3 395.3 394.4 393.0 391.6 390.0 388.7 388.4 388.4 388.6 388.6 388.7 389.8 391.8 394.2 396.6 399.9 404.4 407.4 410.5 414.3 418.0 421.4 424.8 428.5 432.4 434.6 436.8 438.8 440.8 441.8 441.8 442.1 442.4 442.2 441.5 440.6 439.6 438.9 438.2 437.5 436.8 436.4 436.0 435.5 435.2 434.9 434.9 434.9 434.9 434.9 434.9 435.0 435.3 435.6 435.7 436.0 436.3 436.6 436.9 437.0 437.2 437.3 437.6 437.9 438.2 438.5 438.9 439.3 440.3 441.0 441.3 441.6 441.9 442.2 442.5 442.9 443.4 443.7 444.0 444.1 444.1 444.1 444.1 444.1 444.1 444.1 444.1 444.1 444.1 443.6 443.3 443.0 442.7 442.2 441.8 441.4 440.9 440.6 440.3 439.7 439.4 439.0 438.6 438.3 438.0 437.7 437.2 436.8 436.5 436.7 437.1 437.6 437.6 437.1 436.7 436.8 437.0 437.1 437.2 437.5 437.5 437.7 437.8 438.0 438.2 438.3 438.6 438.7 439.1 439.5 439.9 440.5 441.1 442.1 442.3 442.9 443.6 444.1 444.7 447.9 455.1 459.2 464.7 475.1 491.0 506.7 517.1 524.1 528.6 531.8 533.9 535.5 537.0 538.4 538.0 536.5 534.7 532.0 528.8 525.4 522.0 519.1 516.9 514.9 513.1 511.3 511.6 512.1 512.6 513.1 514.0 515.6 517.5 519.6 522.0 525.0 527.7 529.6 531.2 532.4 532.0 531.7 531.3 530.7 529.3 527.7 526.0 524.6 523.0 521.4 520.2 520.5 521.1 521.7 522.3 522.4 522.6 522.8 522.9 523.3 523.2 522.8 522.3 522.3 522.6 522.9 523.1 523.4 523.8 523.9 524.1 523.7 523.4 523.0 522.6 522.0 521.4 520.8 520.3 519.6 519.0 518.5 518.0 517.6 517.5 517.8 517.8 517.8 517.8 518.1 518.1 518.1 518.3 518.4 518.1 517.3 517.8 518.5 519.0 519.6 520.1 520.7 520.8 520.8 520.8 521.7 522.6 523.1 523.5 522.9 522.2 523.0 523.9 525.3 528.1 528.5 528.7 528.7 528.0 527.2 526.1 525.4 524.6 523.5 522.6 522.0 521.9 522.0 522.3 522.3 523.1 523.8 524.5 525.2 526.3 526.9 526.7 526.6 526.4 526.3 523.6 521.2 518.1 512.3 505.4 498.1 489.1 481.0 472.8 463.7 453.5 442.4 433.1 422.7 411.7 406.5 406.4 405.9 404.9 403.2 400.8 397.9 395.1 392.8 390.9 388.9 387.3 386.4 386.2 386.6 387.8 389.0 389.1 388.7 388.6 388.7 389.1 389.6 390.1 390.6 391.2 391.8 392.6 393.2 394.0 394.8 395.1 395.2 395.3 395.6 395.9 397.0 399.8 403.4 407.2 410.8 414.7 418.0 421.5 426.0 431.3 435.9 438.7 440.6 442.5 444.4 446.1 447.8 448.5 449.0 448.4 447.7 446.0 443.8 442.3 440.8 439.4 438.1 436.8 435.4 434.9 434.5 433.9 433.5 433.7 434.0 434.3 434.6 435.4 436.5 437.3 437.9 438.5 439.1 439.5 440.1 440.8 441.3 441.7 441.3 440.7 440.3 439.7 439.3 439.5 440.1 440.4 440.7 440.6 440.5 440.3 440.2 440.0 439.8 439.7 439.5 439.4 439.2 439.4 439.5 439.6 439.7 439.7 439.9 440.0 440.4 440.9 441.2 441.7 442.0 441.7 441.4 441.4 441.5 441.8 442.0 442.2 442.3 442.5 442.5 442.8 442.9 443.2 443.3 443.6 443.6 443.7 443.1 442.4 441.8 442.7 443.1 442.8 442.2 441.5 441.8 442.0 442.0 441.7 440.8 440.2 440.0 439.9 439.7 439.5 439.2 439.0 438.8 438.9 439.0 439.0 439.0 438.9 439.5 440.8 440.5 440.5 440.8 441.8 442.3 441.7 442.9 445.0 447.6 450.5 457.6 467.1 474.3 480.9 487.4 492.1 492.7 492.5 491.5 490.2 488.4 488.5 489.1 489.8 490.5 491.2 492.4 495.2 498.9 502.5 506.2 509.8 511.9 513.4 515.2 516.9 518.4 519.8 520.7 522.6 524.7 525.5 525.7 525.9 526.0 526.1 526.2 525.8 526.1 526.6 525.8 525.1 524.4 523.7 522.9 522.2 521.5 520.7 519.8 519.0 518.3 517.5 516.0 512.3 507.2 500.1 486.0 471.7 456.0 440.8 430.7 420.9 412.5 403.4 397.0 391.3 385.8 380.5 373.9 366.2 357.3 347.5 339.3 333.1 325.7 315.7 305.7 297.8 288.4 278.5 269.2 263.1 258.9 254.7 251.5 250.8 251.0 251.3 252.3 254.0 254.8 256.0 257.1 257.9 258.6 259.3 259.8 260.9 262.0 263.1 264.2 264.4 264.4 264.4 264.2 264.2 264.2 264.1 263.7 263.1 262.7 262.2 261.7 261.1 260.7 260.2 259.8 259.6 259.4 259.4 259.2 259.1 259.3 259.6 259.8 260.2 260.8 261.5 262.2 263.0 263.7 264.2 264.4 264.4 264.4 264.2 264.2 264.1 263.6 263.0 262.3 261.6 260.8 259.5 257.9 256.2 253.9 249.5 243.3 235.8 228.4 222.0 218.3 216.1 219.0 223.7 230.2 237.2 245.3 253.6 257.1 259.8 260.5 260.7 260.9 261.1 261.1 261.0 260.9 260.7 260.5 260.4 260.5 260.7 260.7 260.8 260.4 260.3 260.4 260.7 261.1 261.2 261.3 261.6 261.6 261.8 262.0 262.1 261.7 261.3 261.0 260.7 260.3 260.0 259.8 260.3 260.8 261.8 263.5 265.6 267.9 271.0 273.8 276.5 279.8 282.8 285.3 287.6 290.0 292.3 294.0 295.1 295.9 296.6 297.4 297.0 296.8 296.6 296.1 295.7 295.3 295.0 294.7 294.3 293.8 293.6 293.1 292.6 291.9 291.3 291.3 291.2 291.1 291.1 291.3 291.5 291.7 291.9 292.1 292.3 292.5 292.7 292.9 293.1 293.3 293.5 293.7 293.9 294.1 294.3 294.1 293.9 293.7 293.5 293.3 292.9 292.9 293.2 293.5 293.8 293.4 293.0 292.8 292.9 293.3 293.2 293.1 292.9 292.7 292.6 292.4 292.3 292.3 292.3 292.3 292.3 292.3 292.4 292.5 292.5 292.5 292.5 292.6 292.9 293.5 293.3 293.1 293.0 292.9 292.6 292.5 292.5 292.5 292.5 292.6 292.6 292.6 292.6 292.6 292.6 292.6 292.6 292.8 292.8 292.8 292.8 292.8 292.8 292.8 292.8 293.0 293.0 293.0 293.0 293.0 292.9 292.8 292.8 292.8 292.3 292.0 292.2 292.4 292.6 292.8 293.0 293.2 293.4 293.6 293.8 294.0 294.3 294.4 294.6 294.9 295.0 294.7 294.3 294.0 294.0 294.2 294.0 293.5 292.9 292.3 292.3 292.1 292.1 291.8 291.5 291.2 290.9 290.6 290.2 290.0 289.7 290.2 290.7 291.3 292.0 292.6 293.2 293.6 294.2 294.9 295.5 296.1 296.6 297.2 297.4 297.8 298.0 298.2 298.2 297.9 297.7 297.5 297.2 296.1 295.0 293.7 292.6 292.0 291.3 290.0 288.8 288.4 288.1 287.7 287.8 288.2 289.5 290.8 292.2 293.0 293.6 294.2 294.8 295.5 296.4 297.4 298.3 299.1 299.9 299.7 299.4 299.1 298.6 297.5 296.0 294.7 293.9 293.4 292.6 291.1 289.7 288.3 286.9 285.4 284.6 283.8 283.4 283.8 284.4 285.0 285.6 287.0 288.4 289.6 290.6 291.5 292.8 294.4 296.2 297.8 299.1 300.3 301.6 303.0 304.4 304.4 304.4 304.4 304.2 303.0 301.7 300.5 299.1 296.6 293.8 291.0 287.9 285.1 282.3 279.3 278.2 277.2 276.6 277.0 277.8 278.8 279.8 281.3 283.0 284.8 286.8 289.1 291.3 293.8 296.4 298.8 300.8 302.4 304.2 306.1 305.7 305.3 304.9 304.3 302.3 300.1 297.7 295.4 292.4 288.6 284.9 281.7 278.6 275.0 271.6 270.2 270.4 270.8 271.5 273.4 275.5 277.9 280.2 283.0 285.5 287.8 290.2 292.2 294.3 296.4 298.4 300.4 302.1 303.3 304.4 305.1 305.0 304.6 303.5 302.1 299.5 297.1 294.9 292.3 289.1 286.0 282.7 279.9 277.3 275.6 274.2 273.4 273.4 273.9 275.4 277.1 278.9 280.5 282.3 285.1 288.4 291.2 293.5 295.9 298.5 299.9 301.3 302.4 303.1 303.5 303.8 304.2 304.5 305.0 305.4 304.5 302.8 301.3 299.5 297.8 296.3 295.8 295.6 295.4 295.2 295.0 294.8 294.6 294.4 294.2 294.0 293.8 293.7 293.7", + "f0_timestep": "0.005" + }, + { + "offset": 87.0, + "text": "AP 空 气 中 的 广 播 声 SP 在 回 荡 着 SP", + "ph_seq": "AP k ong q i zh ong d e g uang b o sh eng SP z ai h ui d ang zh e SP", + "ph_dur": "0.4992 0.1045 0.2438 0.1625 0.7082 0.0929 0.3483 0.0464 0.2902 0.1161 0.3019 0.0929 0.058 0.1393 0.4063 0.0929 0.1045 0.2438 0.1509 0.3135 0.0929 0.1509 0.0929 1.3584 0.0464", + "ph_num": "2 2 2 2 2 2 2 1 2 2 2 2 1 1", + "note_seq": "rest D#3 C4 D#4 C4 A#3 C4 C4 rest D#3 G3 G#3 G#3 rest", + "note_dur": "0.6 0.4 0.8 0.4 0.412 0.388 0.2 0.4 0.2 0.4 0.4 0.25 1.35 0.05", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 162.5 155.6 156.0 156.5 156.9 157.2 157.6 158.1 158.5 158.9 159.4 159.8 160.3 160.7 161.1 161.5 162.0 162.5 162.9 163.3 163.7 164.1 164.1 161.4 157.4 153.2 150.2 147.9 147.2 146.9 147.0 147.2 147.5 147.6 147.7 147.8 147.9 148.5 149.1 149.6 150.0 150.4 150.9 151.4 151.9 152.4 152.6 152.7 152.8 152.9 153.2 153.5 153.8 154.1 154.4 154.6 154.9 155.2 155.4 155.7 156.0 156.9 157.9 158.6 158.9 158.9 159.0 158.9 158.6 157.9 155.9 152.0 148.5 147.2 147.1 149.1 152.2 155.2 158.0 160.5 163.3 166.2 169.2 173.1 176.7 180.6 183.4 186.1 188.6 191.1 194.2 197.7 201.2 203.8 206.1 208.2 210.9 214.7 217.5 220.9 225.8 231.3 237.0 241.2 244.0 245.7 246.1 245.3 245.8 245.9 245.5 246.1 246.5 246.7 246.5 246.2 245.8 245.9 246.0 245.9 245.6 245.4 244.9 244.5 244.0 243.6 243.5 243.5 243.4 243.4 243.4 243.7 244.0 244.4 244.7 245.0 246.1 247.3 248.3 249.4 250.2 251.0 251.8 253.4 254.7 256.2 257.9 259.5 260.8 261.6 262.3 263.0 263.5 263.6 263.6 263.7 263.7 263.7 263.7 263.4 263.1 262.7 262.5 262.1 261.7 261.4 261.0 260.8 260.6 260.9 261.2 261.8 261.4 261.0 260.7 260.5 260.7 261.1 261.7 262.0 262.1 261.9 261.9 261.9 261.8 261.8 261.6 261.6 261.6 261.6 261.5 261.5 261.3 261.3 261.2 261.2 261.2 261.1 261.0 261.0 260.9 260.9 261.1 261.2 261.5 261.7 261.9 261.6 261.2 260.9 261.0 261.0 261.2 261.3 261.4 261.5 261.6 261.7 261.8 261.9 262.0 262.1 262.3 262.7 262.9 262.9 262.8 262.8 262.7 262.7 262.6 262.5 261.4 260.3 258.2 253.3 246.9 238.9 232.8 231.1 235.1 241.2 246.9 250.2 252.7 255.5 258.6 261.5 263.8 266.0 268.6 271.3 274.2 277.2 279.6 282.2 285.5 289.5 293.1 296.1 299.7 304.5 309.6 314.7 318.1 319.7 320.2 320.2 319.7 319.0 318.3 317.5 316.4 315.3 314.3 313.7 313.1 312.5 312.0 311.4 310.7 310.1 310.3 310.6 310.9 311.1 311.3 311.6 311.9 312.1 312.3 312.2 312.0 311.9 311.7 311.7 311.5 310.6 309.8 309.2 309.1 309.2 309.3 309.4 309.6 309.8 310.8 311.6 311.9 312.2 312.5 312.7 313.2 313.4 313.6 313.9 314.2 314.0 313.9 313.7 313.2 312.6 311.7 310.8 309.3 307.3 305.1 302.8 299.5 296.2 291.9 284.6 276.3 266.3 258.4 253.0 248.1 247.3 245.9 244.8 244.7 245.2 245.8 246.4 246.8 245.9 244.8 244.2 243.8 242.8 241.9 241.2 240.6 240.1 239.7 239.2 238.8 238.7 240.5 242.5 244.9 247.2 249.6 252.1 254.1 256.1 258.3 260.5 262.1 262.9 263.4 263.7 264.3 264.5 264.2 263.8 263.4 262.9 262.5 261.9 261.3 260.6 260.0 259.2 258.7 258.1 258.5 258.8 259.2 259.6 260.0 260.4 261.1 261.7 262.3 263.0 263.6 263.1 262.7 262.2 261.7 261.2 258.4 254.5 251.2 247.4 243.0 238.8 234.8 231.1 226.4 220.8 214.4 210.2 208.7 208.6 209.5 211.3 213.0 215.1 218.3 221.5 224.3 227.6 231.4 233.8 234.3 234.6 235.3 235.9 236.0 236.1 236.1 235.8 235.7 235.6 235.4 234.7 234.2 233.7 233.1 232.5 232.3 232.3 232.5 232.6 232.4 232.1 232.0 232.1 232.3 232.5 232.7 233.0 233.2 233.5 233.6 233.9 233.8 233.7 233.6 233.5 233.4 233.3 233.1 233.1 232.9 233.0 233.1 233.1 233.2 233.4 233.4 233.6 233.7 234.0 234.2 234.4 234.6 234.7 234.7 234.7 233.8 232.3 230.5 228.8 227.4 225.9 225.4 225.4 225.4 225.4 225.4 227.4 228.8 231.7 235.1 239.8 244.5 249.2 254.6 257.9 260.7 260.7 260.7 262.4 262.4 263.0 263.0 263.0 262.4 261.8 261.2 261.8 262.4 263.4 262.1 259.3 256.0 249.7 238.0 225.3 217.0 213.9 215.4 218.4 221.7 225.0 228.1 230.8 233.8 235.5 237.0 238.5 240.1 241.9 244.0 245.7 247.2 248.8 250.6 252.3 254.0 255.2 256.3 257.7 259.5 261.2 262.9 264.4 265.6 267.6 268.7 268.3 267.8 267.1 265.3 263.0 261.1 259.3 257.2 255.1 253.4 253.2 253.2 253.2 253.2 254.8 256.2 257.6 259.2 260.7 262.4 264.1 265.5 267.0 268.7 268.9 269.2 269.4 269.5 268.1 266.3 264.6 262.8 259.9 256.5 253.2 250.1 247.4 245.4 243.8 244.5 245.2 246.1 247.5 249.2 252.3 255.1 258.2 261.8 265.6 269.1 272.2 274.5 276.2 277.8 279.1 279.7 280.1 280.2 278.5 276.0 271.9 267.6 262.9 257.9 253.3 250.8 249.5 248.3 247.1 247.3 247.6 247.7 247.9 248.1 248.2 247.7 247.7 247.3 246.8 245.8 244.2 242.4 239.5 235.1 229.1 222.3 214.5 204.6 194.5 184.9 176.4 170.2 165.1 160.9 158.0 156.1 154.9 153.9 153.3 153.1 152.9 152.9 152.7 152.7 152.9 153.1 153.3 153.5 153.7 154.0 154.5 154.4 154.0 152.8 151.5 150.5 149.9 149.5 149.6 149.8 150.0 150.2 150.5 151.1 151.9 152.3 152.6 153.2 153.8 154.4 154.9 155.2 155.5 155.8 156.2 156.4 156.6 156.2 155.7 155.1 154.8 154.5 154.3 154.3 154.5 154.6 154.8 155.0 155.4 155.6 155.9 155.9 155.8 155.7 155.6 155.5 155.4 155.2 154.8 154.3 152.6 150.9 149.0 145.9 142.8 140.0 138.5 138.8 139.8 142.1 144.5 146.6 148.9 150.8 152.7 154.5 156.1 157.9 159.5 161.4 163.5 165.3 166.9 168.9 171.2 173.2 175.3 178.3 181.8 185.5 189.0 191.7 193.5 193.6 193.0 191.9 191.0 190.4 190.1 189.5 188.9 188.6 188.4 188.8 189.1 189.6 189.9 190.2 190.9 191.7 192.4 193.0 193.5 194.0 194.4 194.9 195.2 195.3 195.3 195.2 195.2 195.2 195.2 195.2 195.1 195.1 195.1 195.3 195.4 195.6 195.7 195.8 196.0 196.2 196.3 196.3 196.3 196.3 196.3 196.3 196.4 196.5 196.5 196.5 196.5 196.5 196.4 196.0 195.4 195.0 194.5 194.0 193.6 193.2 189.7 186.3 182.3 177.6 173.0 172.2 172.2 173.9 176.4 179.1 182.6 186.0 189.5 193.5 197.7 202.4 207.2 210.6 211.6 211.6 211.6 211.4 211.3 211.3 211.3 211.2 210.6 209.9 209.2 208.4 207.7 207.1 206.9 206.7 206.6 206.4 206.3 205.8 204.5 202.9 200.6 196.1 191.1 183.7 175.8 168.7 163.5 160.3 159.6 159.8 160.8 164.5 169.0 175.3 182.2 188.7 192.0 193.9 194.8 195.2 195.7 196.1 196.5 197.0 197.5 197.8 198.2 198.4 198.7 198.5 198.2 198.1 197.8 197.6 197.6 197.6 197.6 197.6 197.6 197.4 197.2 197.0 196.9 197.0 197.2 197.6 198.2 198.7 199.4 200.0 200.7 201.3 201.9 202.7 203.6 204.4 205.3 206.0 206.7 206.8 206.9 207.0 207.1 207.1 207.2 207.2 207.2 207.3 207.4 207.4 207.1 206.8 206.8 206.8 206.9 206.8 206.4 206.0 205.6 205.4 205.2 205.2 205.3 205.5 205.6 205.8 205.9 206.1 206.3 206.7 207.1 207.3 207.5 207.7 207.9 208.1 208.0 207.7 207.6 207.4 207.3 207.1 206.9 206.7 206.5 206.4 206.5 206.6 206.9 207.2 207.6 207.9 208.3 208.6 209.0 208.5 208.0 207.6 207.4 207.4 207.4 207.2 207.0 206.6 206.2 205.9 205.6 205.3 205.3 205.3 205.4 205.3 205.2 205.1 204.8 204.6 204.6 204.9 205.4 205.9 206.3 206.8 207.2 207.6 207.9 208.2 208.4 208.4 208.3 208.1 208.0 207.9 207.8 207.7 207.3 206.9 207.0 207.1 207.1 207.2 207.3 207.3 207.4 207.3 207.3 207.2 207.1 207.0 207.0 207.5 208.1 208.5 208.6 208.4 208.3 208.2 208.5 208.8 208.8 208.7 208.6 208.6 208.6 208.8 209.2 209.6 209.9 210.2 210.4 210.4 210.5 210.6 210.6 210.6 209.9 209.2 208.7 208.3 207.8 206.7 205.5 204.6 203.6 202.4 201.4 200.4 199.7 199.3 199.3 199.4 199.8 200.3 201.0 202.2 203.4 204.7 205.9 207.0 208.1 209.5 210.7 212.2 213.5 214.5 215.3 216.2 216.7 217.0 217.0 216.8 215.6 214.5 213.2 211.3 209.2 207.2 204.9 202.8 200.7 198.5 196.4 195.2 194.2 193.2 193.4 194.0 194.7 195.8 197.2 198.6 200.2 201.7 203.7 206.3 208.9 210.5 212.3 213.8 215.4 217.1 217.6 217.9 217.5 216.8 216.2 214.4 212.6 210.9 208.6 206.1 203.6 201.0 198.6 195.9 193.1 190.7 189.2 188.4 188.5 188.9 191.0 193.0 194.9 197.5 200.1 202.9 205.5 207.3 208.9 210.1 211.1 211.6 211.2 209.9 206.7 206.5 206.4 206.3 206.1 206.0 205.7 205.6 205.5 205.5", + "f0_timestep": "0.005" + }, + { + "offset": 93.4, + "text": "AP 黄 昏 的 站 台 已 被 阳 光 淹 没 SP", + "ph_seq": "AP h uang h un d e zh an t ai y i b ei y ang g uang y En m o SP", + "ph_dur": "0.4992 0.1045 0.2786 0.1277 1.0913 0.1045 0.1277 0.0697 0.1277 0.0697 0.3135 0.1393 0.267 0.0813 0.267 0.1393 0.2786 0.1161 0.2902 0.1161 0.0929 0.1045 1.4048 0.0464", + "ph_num": "2 2 2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest C4 F4 D#4 D#4 C4 A#3 A#3 G#3 A#3 C4 C4 rest", + "note_dur": "0.6 0.4 1.2 0.2 0.2 0.45 0.35 0.4 0.4 0.4 0.2 1.4 0.05", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 255.1 261.6 260.5 259.2 258.1 257.1 255.8 254.7 253.6 252.6 251.4 250.2 249.0 247.9 246.9 245.9 244.7 243.6 242.5 241.6 240.4 239.4 239.5 245.9 251.7 255.4 258.5 260.0 261.3 262.4 263.1 263.6 263.4 263.2 263.1 262.9 262.5 262.0 261.5 261.1 260.6 260.4 260.4 260.3 260.2 260.1 260.0 259.6 259.2 258.8 258.4 258.0 257.8 257.7 257.6 257.6 258.0 258.7 259.3 259.9 260.6 261.3 261.9 262.5 262.9 263.3 263.7 264.1 264.2 263.7 262.9 261.9 261.0 259.1 257.0 253.2 246.7 240.4 237.5 237.1 237.8 240.1 242.5 245.0 247.1 249.3 251.7 254.6 257.5 260.3 263.4 265.9 268.4 270.8 272.6 274.6 277.8 281.6 284.8 287.5 291.0 295.2 303.3 311.0 317.0 321.9 325.8 328.5 330.4 331.4 332.0 332.3 332.1 331.6 331.1 330.5 329.6 329.0 328.4 327.9 327.4 327.0 326.4 326.5 326.7 326.8 327.0 327.0 327.2 327.4 327.5 327.5 327.8 327.9 328.0 328.1 328.3 328.3 328.6 328.9 329.9 331.3 332.9 335.2 337.4 339.8 342.2 344.4 346.3 348.2 350.2 351.5 352.5 353.6 354.3 354.4 354.1 353.8 353.6 353.2 352.4 351.5 350.4 349.4 348.8 348.6 348.8 348.8 348.9 349.0 349.0 349.2 349.3 349.8 350.3 350.1 349.8 349.9 350.0 350.0 350.0 350.0 350.2 350.2 350.4 350.4 350.4 350.2 350.0 349.7 349.5 349.2 349.0 348.7 348.5 348.3 348.0 348.3 348.5 348.7 349.0 349.2 349.5 349.6 349.6 349.6 349.6 349.6 349.4 349.4 349.4 349.4 349.5 349.6 349.8 350.0 350.2 350.5 350.7 350.8 351.0 350.8 350.8 350.6 350.5 350.4 350.2 350.2 350.1 350.3 350.6 350.2 349.8 349.5 349.4 349.4 349.4 348.5 347.9 347.9 348.2 348.4 348.7 348.8 348.7 348.6 348.4 348.2 348.1 347.9 347.5 347.0 346.5 346.1 346.0 345.9 345.8 346.0 346.7 347.2 347.6 347.6 347.7 347.9 348.3 348.7 349.2 349.7 350.2 350.6 351.3 352.5 353.7 354.9 355.7 356.6 357.4 358.2 358.9 358.9 358.7 358.4 358.0 356.9 355.7 354.7 353.9 353.3 352.7 352.3 351.6 351.0 351.5 351.9 352.2 352.6 353.1 353.4 353.8 354.1 354.6 354.9 355.4 355.8 356.8 357.6 357.6 357.1 356.9 356.7 356.4 355.7 355.2 354.7 354.3 353.8 353.3 352.8 352.1 351.3 350.2 349.0 347.9 346.1 344.6 342.5 339.5 335.9 332.7 329.1 322.9 316.0 309.4 303.6 298.7 293.3 287.5 285.8 285.5 289.5 297.5 306.3 314.5 316.9 316.1 314.7 313.3 312.6 312.1 312.0 311.9 311.8 312.1 312.3 312.5 312.8 312.6 312.3 312.0 311.8 311.7 311.5 311.3 310.1 307.2 302.8 293.7 279.2 267.5 260.6 258.5 258.2 264.2 270.9 278.4 286.4 292.6 295.2 297.4 299.7 302.1 304.7 307.8 310.8 312.9 313.5 313.3 313.2 312.7 312.2 311.8 311.1 310.8 310.8 310.9 311.1 311.3 310.9 310.6 310.3 310.0 309.7 309.2 308.9 308.4 306.8 304.7 302.3 297.2 291.0 283.8 276.5 270.3 267.7 265.7 263.4 260.6 259.9 259.5 260.5 262.0 263.3 262.4 261.7 261.5 261.6 261.3 261.2 260.9 260.8 261.0 261.3 261.3 261.3 261.4 261.6 261.9 262.0 261.7 261.5 261.2 261.0 260.7 260.4 260.2 260.0 260.1 260.2 260.3 260.3 260.5 260.6 260.7 260.8 261.0 261.0 261.3 261.5 261.5 261.5 261.5 261.5 262.1 262.1 262.1 262.1 262.1 262.1 261.9 262.3 262.2 262.2 262.2 262.2 262.2 262.2 262.2 262.2 262.1 262.1 262.1 262.1 262.1 261.9 261.9 261.9 261.9 261.9 261.9 261.9 261.9 261.9 261.8 261.5 260.9 260.0 259.1 257.9 256.4 254.7 253.2 251.5 249.6 247.7 245.7 243.8 242.1 240.5 238.9 237.5 236.4 235.4 234.5 233.9 233.5 233.4 233.1 233.2 233.1 233.1 233.2 233.2 232.9 232.5 232.3 232.1 232.0 231.9 231.8 231.7 231.7 231.6 231.6 231.5 231.6 231.7 232.0 232.2 232.5 232.7 232.9 233.2 233.4 233.8 234.0 234.2 234.4 234.7 234.7 234.6 234.6 234.6 234.2 233.8 233.5 233.1 232.7 232.3 232.0 231.4 230.2 228.5 223.5 217.8 210.9 202.3 192.9 187.4 186.3 188.2 191.7 196.2 200.9 204.7 208.0 211.5 215.3 219.3 222.9 226.5 230.6 234.8 236.4 238.0 239.4 240.6 240.5 239.7 238.3 236.7 235.0 234.4 233.9 233.5 233.2 233.1 233.1 233.1 233.2 233.2 233.2 233.5 233.8 234.2 234.5 234.8 235.0 235.3 235.5 235.4 235.3 235.0 234.7 234.2 233.7 233.2 232.5 232.1 232.0 231.9 231.9 231.7 231.6 230.7 230.0 229.4 229.1 228.7 228.3 228.0 228.1 228.3 228.4 228.2 227.9 227.7 227.4 226.9 226.1 225.1 223.9 222.8 221.0 219.2 217.3 214.7 211.6 208.6 205.9 203.3 200.3 197.2 194.1 191.0 188.8 187.9 187.5 187.1 188.1 189.4 191.3 193.5 195.7 197.9 199.7 200.9 201.7 203.1 204.4 205.5 205.7 205.5 205.5 205.4 205.1 204.6 204.2 203.9 203.5 203.3 203.0 202.7 202.4 202.5 202.7 202.9 203.0 203.4 204.0 204.6 205.4 206.0 206.7 207.5 208.1 208.5 208.9 209.1 209.0 208.7 208.4 208.3 208.0 207.7 207.5 207.2 206.9 206.7 206.9 207.1 207.4 207.7 207.8 208.1 208.3 208.6 209.0 209.4 209.4 209.3 209.3 209.2 209.2 209.0 208.6 208.6 208.6 207.1 204.7 202.5 199.1 198.2 199.4 201.4 204.2 207.5 210.6 214.7 218.7 222.9 226.8 229.2 230.7 232.1 233.2 233.6 235.1 236.7 236.5 236.8 237.0 237.0 236.7 235.8 235.1 234.5 234.2 233.8 233.1 232.3 231.6 230.8 230.1 230.1 230.1 230.1 230.3 230.3 230.5 230.8 231.1 231.5 231.8 232.0 232.3 232.6 232.9 233.2 233.2 233.1 233.1 233.1 233.4 233.8 234.0 234.2 234.6 234.0 233.5 233.3 233.1 233.1 232.9 232.7 232.7 233.0 233.5 233.4 233.3 233.2 233.1 232.9 232.9 232.7 232.4 232.2 231.9 231.5 231.2 230.9 230.2 229.2 229.5 229.9 230.7 232.5 235.5 239.1 242.6 246.2 250.2 254.2 258.1 260.8 262.3 263.3 264.2 264.8 265.2 265.4 265.4 265.3 265.0 264.2 263.5 262.8 262.1 261.3 261.3 261.3 261.3 261.3 261.2 261.2 261.2 261.2 261.2 259.9 258.6 257.0 255.0 253.0 252.3 251.5 250.9 250.5 250.1 249.9 250.4 251.0 251.9 254.6 259.3 263.5 265.5 266.0 266.2 266.2 266.4 266.5 266.5 266.2 265.8 265.2 264.8 264.3 263.4 262.4 261.8 261.2 260.7 260.1 259.6 259.0 258.6 258.4 258.3 258.3 258.2 258.3 258.4 258.6 258.9 259.8 260.6 261.3 261.9 262.6 263.2 263.8 264.3 264.7 265.0 265.3 265.1 264.7 264.1 263.3 262.6 261.9 261.0 260.3 259.6 259.1 258.7 258.4 258.0 257.5 257.4 257.4 257.3 257.1 257.5 258.0 258.4 258.8 259.2 259.7 260.1 260.5 260.6 260.6 260.9 261.2 261.5 261.9 262.2 261.9 261.6 261.8 262.0 262.4 262.2 261.9 261.7 261.5 261.2 261.0 260.8 260.5 260.3 260.6 260.9 261.1 260.8 260.2 260.3 260.5 260.6 260.8 261.0 260.7 260.4 260.3 260.4 260.5 260.9 261.1 261.2 261.2 261.2 261.0 261.2 261.3 261.1 260.9 260.6 260.2 260.1 260.0 260.1 260.3 260.0 259.7 259.6 259.3 259.1 259.1 259.1 259.1 259.1 259.1 259.1 259.4 259.7 260.0 260.4 260.0 259.8 259.9 260.1 260.3 260.5 260.5 260.2 260.0 260.4 261.1 261.3 261.4 261.6 261.8 261.8 262.0 262.2 262.2 262.4 262.6 262.6 262.4 262.0 261.6 261.2 260.3 259.5 259.5 259.7 259.3 259.1 258.9 259.0 259.2 259.4 259.7 259.9 260.1 260.4 260.6 260.8 261.0 261.6 262.2 262.3 262.4 262.4 262.5 262.5 262.2 261.7 261.3 260.9 260.6 260.0 259.2 258.5 257.7 257.9 258.1 258.4 258.7 259.3 260.0 261.3 262.7 263.9 265.2 266.5 267.9 268.3 268.7 269.1 269.4 269.8 268.9 268.1 267.3 266.4 264.5 262.8 260.8 258.5 256.2 254.1 252.8 251.7 250.6 250.1 251.0 251.8 252.8 254.5 256.5 258.7 260.9 263.0 265.1 266.2 267.0 267.7 268.1 267.9 267.4 266.9 266.0 264.7 263.0 260.7 258.5 256.4 254.4 252.1 250.0 249.1 248.3 247.7 247.7 248.9 250.4 252.6 254.9 257.5 259.8 262.2 264.3 265.4 266.4 267.6 268.7 269.4 269.1 268.4 267.6 266.0 264.5 263.0 260.8 258.3 255.9 253.4 250.8 247.7 244.7 245.4 246.1 246.7 247.4 248.1 248.8 249.5 249.8 249.8", + "f0_timestep": "0.005" + }, + { + "offset": 99.8, + "text": "AP 我 拖 着 过 往 在 人 SP 群 中 穿 梭 SP", + "ph_seq": "AP w o t uo zh e g uo w ang z ai r en SP q vn zh ong ch uan s uo SP", + "ph_dur": "0.4876 0.1161 0.2554 0.1509 0.685 0.1161 0.3135 0.0813 0.2786 0.1161 0.3135 0.0929 0.1277 0.0697 0.4063 0.0697 0.1277 0.3019 0.0929 0.2554 0.1509 0.1161 0.1045 1.3816 0.0464", + "ph_num": "2 2 2 2 2 2 2 1 2 2 2 2 1 1", + "note_seq": "rest D#3 C4 D#4 C4 A#3 C4 C4 rest D#3 G3 G#3 G#3 rest", + "note_dur": "0.6 0.4 0.8 0.4 0.4 0.4 0.2 0.4 0.2 0.4 0.4 0.225 1.375 0.05", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 170.7 155.6 155.5 155.3 155.2 155.1 155.0 154.9 154.8 154.7 154.7 154.6 154.5 154.4 154.3 154.2 154.0 153.9 153.8 153.7 153.6 153.5 153.4 152.9 152.5 152.2 152.5 153.0 153.4 153.6 153.7 153.9 154.0 154.2 154.6 155.0 155.0 154.9 154.9 154.9 155.1 155.3 155.5 155.8 156.0 156.2 156.5 156.1 155.7 155.4 155.1 155.0 154.8 154.4 154.0 153.7 153.4 153.2 153.1 153.1 153.3 153.4 154.0 154.4 155.0 155.7 156.6 157.2 156.8 156.1 155.1 153.9 153.1 154.1 155.6 158.0 160.9 163.8 166.5 169.1 171.8 174.3 176.8 178.4 179.7 181.4 183.1 184.8 186.6 188.3 190.4 191.6 193.1 194.6 195.5 196.7 199.1 202.2 204.4 207.2 211.8 220.0 228.5 234.7 238.9 242.3 245.4 247.1 247.5 247.4 247.7 247.7 247.4 247.3 247.1 246.9 246.4 246.0 246.0 245.8 245.4 245.1 244.7 244.4 244.1 243.8 243.4 243.1 243.2 243.3 243.4 243.5 243.6 243.6 243.5 243.3 243.1 242.9 242.8 242.7 242.8 243.0 244.2 245.6 246.8 248.0 249.2 250.6 252.0 254.0 256.5 259.1 261.4 263.0 264.3 265.7 267.3 267.7 268.0 268.4 268.6 267.9 266.9 266.0 265.0 263.9 262.5 261.1 259.8 258.7 257.4 256.8 256.4 256.1 256.3 256.6 257.4 258.5 259.4 260.3 261.3 262.2 263.3 264.3 265.0 265.7 266.5 267.1 267.0 266.7 266.4 266.2 265.4 264.5 263.8 263.0 262.2 260.9 259.8 259.1 258.6 258.0 258.2 258.4 258.6 258.8 259.7 260.8 261.5 261.9 262.3 262.7 263.1 263.9 264.4 264.4 264.1 263.8 263.5 263.3 263.0 262.7 262.5 262.2 262.0 261.8 261.8 261.7 261.5 261.0 260.4 259.7 258.2 251.3 242.2 232.2 221.9 220.2 225.9 234.0 243.3 248.4 251.8 252.8 253.3 253.8 254.5 255.3 256.2 257.1 258.2 259.4 260.6 261.3 262.2 263.3 265.0 266.9 268.1 269.6 271.4 272.4 273.8 278.4 282.6 286.3 287.8 288.3 288.2 288.0 287.8 287.5 286.9 286.3 285.6 284.9 284.8 285.0 285.1 285.3 286.2 287.3 288.7 291.1 293.4 295.8 298.5 301.1 303.6 306.0 308.5 310.4 311.8 312.7 313.5 314.1 313.8 313.2 312.6 312.1 311.4 310.8 310.3 309.8 309.8 310.0 310.2 310.5 310.7 311.1 311.7 312.4 312.7 312.4 312.1 311.8 311.3 310.9 310.2 308.8 306.5 301.6 287.8 275.8 270.9 276.3 294.0 306.8 309.8 311.2 312.7 314.0 312.4 309.9 306.0 301.4 295.9 290.8 285.7 280.5 274.6 268.8 265.8 263.3 262.0 261.4 261.3 261.6 262.3 263.0 263.3 263.4 262.7 261.9 261.4 260.8 260.4 258.9 257.7 257.0 256.2 255.5 255.7 255.7 255.9 255.9 256.1 256.4 257.1 257.9 258.4 258.9 259.3 259.7 260.1 260.4 260.7 260.9 261.2 261.5 261.7 262.1 262.3 262.6 262.9 263.1 263.4 263.3 263.1 262.9 262.7 262.5 262.3 262.2 262.1 262.1 262.1 262.1 262.1 261.9 261.1 260.1 259.1 257.7 255.6 253.0 250.4 246.2 242.5 238.8 234.0 228.9 224.3 221.1 219.1 218.1 217.6 219.0 220.4 221.5 223.4 225.5 227.8 230.2 232.1 233.4 234.6 236.0 236.4 236.9 237.4 236.9 236.5 236.0 235.2 234.5 233.5 232.7 231.9 231.3 231.0 230.7 230.5 230.2 230.0 229.8 230.0 230.5 230.8 231.1 231.4 231.7 232.3 232.9 233.3 233.9 234.4 234.8 234.8 234.6 234.5 234.3 233.8 233.3 232.8 232.3 232.5 232.7 232.9 233.1 233.3 233.5 233.7 234.0 234.1 234.3 234.2 234.0 233.9 233.8 233.3 232.8 232.2 231.6 230.9 230.3 229.5 226.0 222.4 217.7 212.0 206.5 204.4 203.8 206.3 210.4 217.0 224.6 231.8 238.6 246.6 254.9 261.5 264.8 266.7 267.2 267.0 266.2 265.5 264.9 264.3 264.1 263.7 263.3 263.0 262.5 262.7 263.0 262.7 262.2 261.7 261.3 260.8 260.3 259.8 259.4 258.9 257.9 257.2 257.4 257.8 257.9 257.9 257.9 257.9 257.9 257.9 259.2 260.4 261.6 262.9 264.4 265.6 266.4 267.0 267.6 267.4 267.2 266.9 266.7 266.3 266.0 265.5 264.3 263.1 261.9 260.6 259.2 257.9 256.8 255.7 254.8 254.4 254.2 254.0 254.5 255.1 255.8 256.3 257.1 258.6 260.4 262.2 264.0 265.4 266.6 267.7 268.7 269.4 269.2 268.6 268.1 267.2 265.2 263.1 260.2 256.8 253.8 252.0 250.6 249.2 249.2 249.4 249.9 250.9 251.9 253.2 255.6 258.0 260.2 262.8 265.3 266.8 267.9 268.4 268.6 268.1 267.3 266.4 265.2 263.7 262.2 260.0 257.9 255.9 254.0 251.8 250.4 249.0 247.2 245.0 242.7 243.2 243.8 244.4 244.8 245.5 245.9 245.7 245.9 245.9 245.8 245.2 244.1 242.5 240.0 236.1 230.4 223.8 216.3 206.6 196.7 187.2 179.0 172.9 168.0 164.0 161.3 159.6 158.6 157.8 157.5 157.5 157.6 157.8 157.8 158.1 158.5 158.9 159.3 159.8 160.2 160.4 158.7 156.4 153.9 152.3 150.8 149.6 149.0 148.5 147.9 147.3 146.9 146.8 146.9 146.9 147.0 147.4 147.9 148.3 148.9 149.3 149.8 150.1 150.4 151.0 151.8 152.4 153.0 153.4 153.8 154.0 154.3 154.4 154.5 154.6 155.0 155.5 155.9 156.1 156.3 156.5 156.6 156.8 156.8 156.7 156.7 156.7 156.6 156.6 156.6 156.6 156.5 156.4 156.0 155.6 155.2 154.6 153.7 152.6 151.4 148.4 145.5 142.9 140.6 139.4 138.5 138.0 138.8 142.0 145.9 150.1 154.4 157.9 161.6 166.2 171.1 175.5 179.9 184.9 189.8 194.3 196.7 197.7 198.1 197.9 197.4 197.1 196.8 196.9 197.1 196.6 196.0 195.5 195.2 195.2 195.0 194.9 194.7 194.5 194.2 194.2 194.4 194.4 194.4 194.5 194.8 195.0 195.2 195.4 195.7 195.1 194.6 194.4 194.4 194.6 194.9 195.2 195.4 195.6 195.9 196.2 196.4 196.6 196.8 197.1 197.3 197.5 197.5 197.4 197.2 197.1 197.0 196.8 196.2 195.3 194.6 193.3 190.6 186.8 182.3 178.5 177.6 177.7 179.0 180.9 182.3 183.5 184.9 186.5 188.2 190.0 191.9 193.4 194.8 196.2 197.7 198.9 200.1 201.9 205.7 209.8 211.7 212.6 212.3 211.5 210.5 209.5 208.7 208.5 208.5 208.5 208.4 208.4 208.3 208.5 208.9 208.6 208.1 208.1 208.1 208.9 208.9 208.3 207.3 204.9 198.0 189.6 181.9 175.0 171.5 172.3 173.4 175.3 178.2 181.5 184.8 187.9 190.6 193.7 196.8 199.9 203.3 206.6 210.2 214.2 213.2 212.1 211.1 210.0 209.0 208.8 208.7 208.5 208.3 208.1 208.3 208.5 208.3 207.9 207.8 207.7 207.6 207.5 207.3 207.5 207.7 207.9 208.1 208.2 208.3 208.3 208.2 208.1 208.1 208.1 208.3 208.4 208.4 208.6 208.7 208.9 209.0 209.0 208.9 208.6 208.4 208.6 208.7 208.5 208.1 207.7 207.4 207.2 207.2 207.1 207.0 206.9 206.9 206.7 206.7 206.6 206.5 206.5 206.5 206.6 206.7 206.7 206.9 207.4 208.1 208.2 208.3 208.3 208.4 208.5 208.5 208.6 208.7 208.7 208.5 208.2 208.0 207.9 208.1 208.4 208.3 208.2 208.1 208.0 207.9 207.8 207.9 208.0 208.1 208.1 208.2 208.1 208.1 207.9 207.8 207.6 207.6 207.7 207.9 208.1 208.3 208.3 208.1 207.6 207.5 207.5 207.5 207.4 206.8 206.8 207.0 207.0 206.8 206.4 206.1 206.3 206.4 206.3 206.1 206.0 205.8 205.7 205.6 206.0 206.5 206.6 206.8 207.0 207.1 207.3 207.4 207.6 207.7 208.0 208.1 208.2 207.7 207.5 207.5 207.8 207.4 207.0 206.7 206.3 205.9 205.5 205.3 205.4 205.7 206.0 206.3 206.6 206.8 207.1 207.4 208.2 208.9 209.6 210.3 211.0 211.3 211.7 212.1 212.6 213.2 213.7 213.5 213.1 212.6 211.9 211.2 210.4 209.2 207.7 206.6 205.5 204.3 203.4 202.6 201.7 200.9 200.3 200.4 200.8 201.0 201.6 202.2 202.9 203.9 205.3 206.5 207.7 208.9 210.2 211.4 212.8 213.8 214.1 214.1 214.2 214.1 213.4 212.6 211.3 209.9 208.6 206.6 204.8 202.5 200.0 198.1 196.3 194.8 193.4 192.2 192.3 192.7 193.9 195.6 197.6 199.6 201.5 203.3 205.3 207.4 209.1 210.7 212.2 213.5 214.9 215.4 215.7 215.6 215.3 214.9 213.5 211.6 209.8 208.0 206.1 203.7 201.6 199.5 197.2 195.0 193.4 192.3 192.1 192.2 192.7 193.6 195.1 196.8 198.6 200.3 202.0 203.7 205.1 206.3 207.7 208.9 209.4 209.8 210.0 209.8 209.3 208.0 206.8 205.3 202.9 200.3 197.9 195.8 193.9 192.4 193.1 193.8 194.4 195.1 195.8 196.6 197.2 197.6 197.6", + "f0_timestep": "0.005" + }, + { + "offset": 106.2, + "text": "AP 找 一 个 SP 位 置 SP 等 一 段 SP 未 知 SP 去 期 待 着 SP 固 执 如 我 的 那 些 声 音 SP 思 绪 随 一 阵 风 迷 离 SP 在 春 天 的 原 野 里 SP 在 指 间 缝 隙 SP 看 见 惊 世 的 美 丽 SP 在 晨 曦 里 笑 靥 如 花 的 你 SP", + "ph_seq": "AP zh ao y i g e SP w ei zh ir SP d eng y i d uan SP w ei zh ir SP q v q i d ai zh e SP g u zh ir r u w o d e n a x ie sh eng y in SP s i0 x v s ui y i zh en f eng p iao l i SP z ai ch un t ian d e y van y E l i SP z ai zh ir j ian f eng x i SP k an j ian j ing sh ir d e m ei l i SP z ai ch en x i l i x iao y En r u h ua d e n i SP", + "ph_dur": "0.5108 0.0929 0.1393 0.058 0.1625 0.0464 0.1974 0.1161 0.0813 0.2902 0.1161 0.1974 0.1045 0.0929 0.1277 0.0464 0.1741 0.0464 0.209 0.1045 0.0929 0.3019 0.0929 0.209 0.0697 0.1277 0.1161 0.0813 0.1509 0.0464 0.6502 0.1509 0.6037 0.1509 0.0464 0.2902 0.1161 0.2902 0.1045 0.3019 0.0929 0.3367 0.0697 1.0681 0.1277 0.0697 0.1277 0.418 0.1858 0.1277 0.0697 0.4063 0.0697 0.1277 0.0929 0.1045 0.1045 0.1045 0.3019 0.0929 0.1277 0.0697 0.1277 0.0697 0.1393 0.0697 0.4528 0.1393 0.6037 0.0929 0.1045 0.2786 0.1277 0.3135 0.0813 0.3599 0.0464 0.1393 0.058 0.1509 0.0464 0.1277 0.0697 0.1974 0.1161 0.0929 0.1277 0.0697 0.1393 0.058 0.1393 0.058 0.1161 0.0929 0.1974 0.1045 0.0929 0.1393 0.058 0.1393 0.0697 0.1045 0.0929 0.1625 0.0348 0.1161 0.0813 0.1393 0.058 0.209 0.1161 0.0813 0.1277 0.0697 0.1161 0.0813 0.1509 0.058 0.2438 0.1509 0.2902 0.1045 0.3135 0.0929 0.2554 0.1393 1.1377 0.0697 0.2322 0.1625 0.4063 0.0464", + "ph_num": "2 2 2 1 2 2 1 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest F3 G3 G#3 rest G#3 G#3 rest G3 G#3 A#3 rest A#3 A#3 rest G#3 A#3 C4 E4 rest F4 G4 G#4 A#4 G#4 F4 G4 D#4 D#4 rest D#4 F4 G4 G4 G4 G4 G4 G#4 rest C4 D#4 F4 F4 F4 F4 F4 rest F4 F4 F4 F4 F4 rest F4 F4 F4 G#4 G#4 G#4 G#4 rest G#4 G#4 G#4 G#4 G#4 A#4 G#4 G4 G4 F4 F4 rest", + "note_dur": "0.6 0.2 0.2 0.2 0.2 0.4 0.2 0.2 0.175 0.225 0.2 0.2 0.4 0.2 0.2 0.2 0.2 0.8 0.6 0.2 0.4 0.4 0.4 0.4 1.2 0.2 0.6 0.2 0.4 0.2 0.2 0.2 0.4 0.2 0.2 0.2 0.6 0.6 0.2 0.4 0.4 0.4 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.4 0.4 0.4 0.4 0.4 0.8 0.4 0.4 0.05", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0", + "f0_seq": "182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 182.1 174.6 175.0 175.4 175.7 176.1 176.4 176.8 177.1 177.4 177.8 178.2 178.6 179.0 179.3 179.7 180.0 180.4 180.8 181.1 181.5 181.8 181.5 177.9 174.7 172.4 170.3 170.5 170.6 170.8 171.3 172.0 172.5 172.7 172.7 172.8 172.8 173.0 173.1 173.3 173.6 173.8 174.1 174.3 174.5 174.5 174.4 174.6 174.8 175.0 175.3 175.5 175.6 175.7 175.6 175.8 176.0 176.8 178.3 180.4 183.5 186.9 190.4 192.7 194.5 196.1 197.4 198.1 198.6 199.0 199.2 198.7 198.1 197.4 196.9 196.5 196.2 195.9 195.6 195.3 194.9 195.1 195.4 195.5 195.2 194.6 194.2 190.1 186.0 181.1 175.4 171.1 170.6 170.9 172.8 175.7 180.5 186.0 191.4 197.0 204.1 211.8 215.2 215.4 215.0 214.6 214.6 214.7 214.7 214.4 213.7 212.8 211.6 209.8 208.2 206.5 204.6 202.9 201.2 199.7 198.2 196.8 197.2 197.5 197.9 198.4 199.5 202.0 204.3 206.7 209.6 212.8 215.5 217.0 217.5 216.7 215.3 213.5 209.2 203.6 197.1 192.0 192.2 192.5 192.8 193.0 193.3 193.7 193.9 194.2 194.5 194.8 195.3 195.8 196.3 196.8 197.4 197.8 198.3 198.8 199.3 199.9 200.5 201.0 201.4 202.0 202.6 203.1 203.6 204.1 204.7 205.1 205.7 206.3 206.8 207.3 207.9 208.5 208.9 209.5 210.1 210.6 210.9 210.1 209.3 208.3 207.4 207.1 206.7 206.5 206.7 207.2 207.2 207.3 207.4 207.5 207.9 208.5 208.9 208.7 208.3 207.7 207.0 206.3 205.7 205.1 205.3 205.4 205.5 205.2 204.9 205.3 205.7 205.7 205.7 205.7 205.7 205.7 205.7 205.7 206.2 206.2 206.2 206.2 205.7 205.4 204.7 203.4 201.4 199.8 197.8 195.9 193.4 193.0 193.0 193.4 193.9 194.4 195.1 195.1 195.7 196.3 197.1 197.8 198.4 198.4 199.2 199.3 200.1 200.6 201.6 202.3 203.1 203.4 203.5 203.9 204.2 204.6 204.9 205.3 205.7 206.0 206.9 209.9 212.5 213.9 213.9 213.6 213.3 213.0 212.5 211.4 210.1 208.5 207.1 205.6 204.0 203.1 202.2 201.6 201.7 202.1 203.1 204.1 205.1 206.3 207.8 208.7 209.3 209.5 209.5 209.5 209.2 208.1 207.1 205.9 204.7 202.0 199.7 197.2 193.3 189.1 189.3 189.5 189.7 189.9 190.2 190.3 190.5 190.6 190.8 191.0 191.5 192.2 192.6 193.1 193.4 193.6 193.6 193.4 193.1 192.7 192.4 192.1 192.0 192.0 192.1 192.5 192.9 193.4 194.0 194.5 195.2 195.9 196.6 197.2 197.9 198.8 199.5 200.2 200.9 201.7 201.7 198.3 195.3 193.6 192.3 192.5 192.7 193.0 193.7 194.1 194.5 194.9 195.1 195.1 195.0 194.8 194.7 194.5 194.3 193.9 193.6 193.3 193.3 194.0 195.0 196.0 196.5 197.0 197.5 197.7 197.8 197.9 197.6 197.3 197.1 197.1 197.4 198.2 199.8 202.6 205.4 206.9 207.5 207.8 208.0 208.1 208.1 208.1 208.0 208.0 208.2 208.3 208.4 208.6 208.5 208.5 208.3 208.2 207.9 207.4 207.1 207.1 207.2 207.2 206.6 205.8 204.6 201.3 194.5 186.9 182.0 178.0 176.6 178.0 183.1 190.8 198.2 205.9 215.3 225.1 231.5 237.1 240.1 241.7 243.0 243.6 243.6 243.2 242.7 242.0 240.1 238.3 236.6 234.3 231.7 229.7 227.9 226.2 224.2 222.6 221.1 220.0 220.0 220.4 220.9 223.4 226.6 229.8 233.6 236.9 239.9 241.7 243.2 244.2 242.8 240.9 238.6 234.7 228.5 221.9 221.9 222.0 222.0 222.0 222.0 222.0 222.0 222.1 222.2 222.2 222.7 223.1 223.6 224.1 224.6 225.1 225.6 226.0 226.6 227.1 227.6 228.1 228.5 229.0 229.6 230.1 230.6 231.0 231.5 232.0 232.6 233.1 233.6 234.1 234.6 235.2 235.7 236.1 236.6 237.2 237.5 236.7 235.8 235.0 234.0 233.4 232.9 232.4 232.4 232.4 232.5 232.6 232.8 232.9 233.4 234.0 234.4 234.3 234.0 233.5 232.8 232.2 231.7 231.2 231.3 231.5 231.6 231.5 230.9 230.9 231.5 232.0 232.0 232.0 232.4 232.7 232.9 233.5 233.5 233.5 233.5 233.5 232.9 232.0 231.0 229.7 227.6 226.6 224.0 221.3 218.5 215.9 215.2 215.7 216.5 216.8 217.6 218.0 218.5 219.5 219.5 220.1 220.9 221.3 221.8 222.5 223.2 223.7 224.6 225.1 225.7 226.1 226.6 227.1 227.1 227.8 229.1 229.5 229.9 230.4 231.4 235.4 238.7 240.5 240.3 239.8 239.5 239.2 238.5 237.3 235.8 233.9 232.2 230.4 228.5 227.4 226.3 225.6 225.6 226.1 227.4 228.6 229.8 231.1 232.5 234.0 235.1 235.4 235.6 235.7 235.6 234.2 232.8 231.4 229.9 226.7 223.8 220.8 216.3 211.4 211.4 211.4 211.4 211.4 211.4 211.4 211.3 211.2 211.1 210.9 211.3 211.6 211.6 211.6 211.2 210.5 209.6 208.5 206.8 205.0 203.2 201.6 200.5 199.6 199.0 198.6 198.6 198.7 198.8 199.2 199.6 200.1 200.5 201.0 201.5 202.1 202.5 203.0 203.6 204.2 204.8 205.4 206.0 206.9 208.1 209.2 209.3 209.4 209.4 209.0 208.5 208.0 207.6 206.9 204.8 201.6 196.0 190.3 184.4 180.6 177.7 177.7 179.0 183.0 188.2 193.4 196.2 198.7 201.6 204.6 207.0 209.5 211.8 214.5 217.6 219.3 221.0 222.7 223.9 224.9 226.3 229.5 232.5 235.0 235.8 235.7 235.6 235.5 235.5 235.2 234.9 234.6 234.2 233.7 233.4 233.4 233.5 232.9 232.2 231.5 231.8 232.1 232.4 232.6 231.9 230.4 224.9 216.9 207.4 199.8 197.2 198.6 201.4 207.3 215.1 223.4 229.6 235.7 243.1 250.8 253.1 252.5 251.4 249.9 248.1 247.7 248.4 249.1 250.1 251.1 251.9 252.5 252.6 252.3 251.7 250.8 250.2 249.7 249.3 248.9 249.5 250.0 250.5 251.0 251.5 252.8 253.9 255.0 256.2 257.4 258.7 259.9 261.1 262.2 262.8 263.4 264.1 264.5 264.7 264.7 264.7 264.5 264.1 263.6 262.8 262.3 261.7 261.2 260.7 260.6 260.4 260.4 260.4 260.3 260.3 260.8 261.2 261.6 262.1 262.7 263.1 263.4 263.4 263.2 262.8 262.6 262.4 262.2 261.9 261.3 260.6 260.4 260.3 260.2 260.0 259.9 260.0 260.1 260.2 260.4 260.8 261.2 261.6 261.6 261.6 261.6 261.5 261.5 261.5 261.8 262.0 262.1 262.0 261.7 261.5 261.2 261.4 261.8 262.0 261.9 261.7 261.4 261.2 261.1 260.9 261.1 261.2 261.5 261.7 261.9 262.1 262.3 262.6 263.0 263.6 263.9 264.0 263.8 263.7 263.6 263.6 263.4 263.2 262.9 262.5 261.9 261.0 261.0 260.2 260.0 260.0 259.4 259.4 258.8 258.8 258.8 258.3 258.0 257.9 257.0 257.9 258.8 259.9 261.9 264.2 266.7 268.9 271.0 273.1 275.3 277.7 280.6 283.2 285.6 288.8 291.5 294.6 297.6 301.4 305.6 309.6 312.3 313.9 314.9 315.1 315.6 315.4 315.4 315.2 315.1 314.8 314.4 313.9 313.7 313.7 313.3 313.4 313.1 312.8 312.6 312.2 311.8 311.6 311.4 310.9 310.7 310.6 310.8 311.1 311.5 311.9 312.5 313.8 315.3 317.1 318.7 320.3 321.8 323.6 326.0 328.6 331.2 333.5 335.8 338.5 339.7 339.6 339.3 338.9 338.7 338.1 336.7 335.3 333.8 332.3 329.5 327.2 325.5 323.7 322.5 321.5 320.4 319.8 320.2 321.0 321.9 323.1 325.0 327.6 330.2 332.9 335.4 337.0 338.6 340.3 341.6 341.6 341.3 340.0 338.5 337.0 335.1 332.5 329.5 326.4 323.3 320.6 318.9 317.3 316.4 316.0 316.9 318.1 319.4 321.7 324.6 327.5 330.6 334.1 337.5 338.5 339.3 340.0 340.6 340.1 339.3 338.3 336.5 333.8 330.8 327.7 324.6 322.2 320.2 318.4 316.9 316.8 316.3 313.1 309.0 309.2 309.6 309.9 310.2 310.4 310.9 311.3 311.6 311.9 312.4 313.3 314.2 315.0 316.0 317.3 319.0 320.7 322.6 324.9 327.5 330.2 332.7 334.7 336.4 338.1 339.5 340.7 341.6 342.6 343.4 344.4 345.1 345.8 346.6 347.2 348.0 348.7 349.3 350.1 350.8 352.2 356.5 358.4 359.8 361.3 360.1 359.0 358.0 356.8 355.7 354.5 353.5 352.6 351.8 350.8 350.0 349.3 348.8 348.3 348.0 347.5 347.0 346.7 346.3 345.8 346.1 346.5 346.7 347.0 347.4 347.7 348.0 348.3 348.6 348.8 349.2 349.1 349.0 348.9 348.8 348.6 348.5 348.5 348.8 349.2 349.7 349.9 350.0 349.9 349.8 349.8 349.7 349.6 349.0 345.2 339.6 328.9 318.1 306.3 295.0 284.9 279.4 276.4 276.8 278.6 280.7 283.9 287.4 291.2 295.2 301.9 308.8 315.1 321.9 327.9 334.1 339.5 343.3 347.4 351.7 359.8 368.4 377.1 386.2 396.1 399.8 402.3 403.0 402.8 402.6 401.9 400.7 398.9 396.6 394.0 391.5 389.2 386.9 384.4 382.6 381.2 380.1 380.4 381.1 381.7 383.7 385.5 387.4 389.3 391.3 393.1 395.0 396.5 398.2 400.0 399.7 399.2 398.6 397.0 395.0 392.8 391.3 390.0 388.5 387.0 386.5 385.9 385.4 385.4 385.7 386.8 387.7 388.6 389.5 390.4 391.5 392.4 392.9 393.5 394.0 394.6 395.2 395.4 394.7 393.8 392.7 390.5 388.3 385.1 381.7 382.5 383.3 384.2 385.4 387.9 392.8 397.6 402.3 407.6 412.7 417.8 422.0 423.1 423.3 423.3 422.8 422.8 422.8 422.4 420.6 418.7 416.6 414.8 412.9 410.8 408.7 407.0 406.3 407.0 408.2 409.1 410.4 411.6 412.7 414.1 415.4 416.7 418.0 419.3 420.9 420.6 420.3 419.8 419.5 419.2 417.3 415.7 414.2 412.7 412.0 411.4 410.8 410.4 410.7 411.0 411.4 412.2 413.0 414.1 415.1 416.6 418.1 419.4 420.6 420.6 420.3 420.0 419.8 419.3 418.0 416.2 414.2 411.4 408.3 404.9 401.8 399.4 397.2 394.8 392.4 392.2 393.0 394.0 395.7 397.7 401.7 405.8 409.8 413.8 417.7 421.6 425.1 427.3 428.7 430.0 430.5 430.7 430.7 430.5 430.2 429.3 427.5 425.8 424.7 423.8 422.6 421.7 421.1 422.0 423.5 424.8 427.0 430.1 434.1 439.2 444.7 449.7 453.4 457.4 461.3 465.0 467.0 468.8 470.2 470.5 470.1 469.4 468.6 467.7 467.0 466.0 465.4 464.6 463.7 462.9 463.2 463.3 463.6 464.1 464.8 465.5 466.2 466.8 467.4 468.1 466.7 465.5 463.6 458.0 447.7 436.9 427.4 421.0 415.7 414.3 414.0 413.0 410.1 405.9 403.0 400.0 397.1 395.4 393.4 391.1 385.8 380.7 375.6 370.0 368.7 369.6 377.2 385.5 394.2 400.0 405.8 410.9 414.3 416.4 418.2 420.1 420.7 421.2 421.7 421.3 421.2 420.8 420.6 420.3 419.2 418.2 417.0 415.9 415.0 414.6 414.5 414.3 414.1 413.9 413.6 413.6 413.3 413.3 413.6 413.9 414.2 414.7 414.9 415.4 415.8 416.1 416.5 416.9 417.3 418.2 419.1 419.9 420.6 420.7 420.4 420.1 419.8 419.5 418.9 418.0 417.1 416.6 416.1 415.8 415.3 414.9 414.5 414.2 413.7 413.4 412.9 412.6 412.2 411.8 412.4 413.0 413.6 414.2 414.9 415.5 416.1 416.6 416.9 417.0 417.2 417.3 417.5 417.6 417.7 418.0 418.0 418.0 418.0 418.0 418.0 417.0 416.3 415.6 415.1 414.6 414.2 413.8 413.4 412.8 412.4 412.0 412.1 412.2 412.4 412.4 412.7 413.1 413.6 414.2 414.8 415.2 415.4 415.0 414.5 414.8 415.1 415.5 415.9 416.4 416.7 417.1 417.6 417.9 417.8 417.7 417.7 417.5 417.5 417.3 417.2 417.2 416.9 416.5 415.9 415.3 414.9 414.5 414.2 414.1 414.1 413.9 413.9 414.0 414.3 414.3 414.6 414.9 415.2 415.8 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.8 417.0 417.2 417.5 417.8 418.1 418.3 418.6 418.9 419.2 419.3 419.5 419.6 418.9 417.7 416.6 415.7 414.8 413.6 413.0 412.5 412.0 411.4 410.8 410.8 411.0 411.2 411.2 411.7 412.1 412.6 413.0 413.5 413.9 414.5 415.2 416.0 416.8 417.7 418.0 418.0 418.3 418.4 418.7 418.9 419.0 419.2 419.3 419.2 418.9 418.6 418.3 418.0 418.7 419.0 418.0 416.9 415.4 412.4 409.2 405.2 398.6 390.2 381.9 375.1 369.0 365.1 361.2 357.0 354.8 352.6 350.6 349.1 347.6 346.1 345.7 345.1 344.2 342.8 340.8 338.9 338.4 338.9 343.6 348.8 350.5 350.4 350.4 351.0 352.1 352.0 352.1 352.3 350.2 347.1 339.3 330.8 318.7 304.9 298.2 293.3 291.4 290.8 293.3 296.9 301.6 305.8 310.2 312.7 315.0 316.9 319.0 321.4 323.8 326.4 329.2 332.0 335.2 338.9 342.1 345.5 348.7 351.7 354.3 358.6 362.7 366.2 369.2 372.4 372.7 372.9 372.6 372.2 371.5 371.2 370.7 370.5 370.1 369.6 369.1 368.7 368.2 368.1 367.9 367.9 368.0 368.3 368.8 369.4 369.9 370.4 370.9 371.2 371.7 372.2 372.5 372.0 371.2 370.4 369.8 369.1 368.5 368.4 368.7 369.0 369.2 369.9 371.7 373.9 376.2 378.3 380.4 382.9 386.8 391.0 394.8 397.2 399.3 401.6 403.9 405.7 406.4 406.7 407.0 406.8 404.2 401.8 399.2 396.3 394.0 391.7 389.7 387.5 386.2 385.1 385.5 386.0 386.5 387.0 388.5 390.0 391.2 392.8 394.3 395.7 397.4 398.6 400.1 401.6 401.1 400.7 400.2 399.3 395.6 389.7 376.5 362.8 353.5 354.3 360.7 366.6 372.4 378.5 381.7 383.6 384.0 384.5 385.8 387.7 387.7 387.7 387.5 386.3 384.4 377.7 370.6 364.1 356.9 348.4 340.8 333.2 325.5 316.5 309.7 303.9 301.9 302.8 304.5 305.6 307.3 308.9 309.5 310.0 310.8 311.6 311.9 312.0 311.5 310.8 310.3 310.1 310.3 310.5 310.8 311.0 311.2 311.3 311.0 310.6 310.1 309.7 309.2 308.7 308.3 307.8 307.6 307.7 308.0 308.3 308.5 307.9 307.3 306.5 305.8 308.0 310.1 311.8 312.9 314.0 315.0 315.9 316.7 317.4 317.8 318.3 318.4 317.6 316.3 315.1 313.5 311.2 308.7 306.0 303.3 300.8 299.8 299.2 298.7 299.1 299.8 300.7 302.5 305.1 307.6 310.1 312.7 314.9 317.3 319.9 321.0 321.8 321.7 321.3 319.9 318.5 316.6 313.9 310.9 306.8 302.7 299.2 296.4 293.4 290.5 289.7 289.0 288.8 290.3 292.6 295.0 297.5 299.8 302.4 305.3 308.2 311.5 314.1 315.7 317.3 318.7 319.7 319.9 319.7 318.4 317.0 315.3 313.2 310.8 308.3 304.9 301.7 298.1 294.0 289.8 290.0 290.0 290.1 290.2 290.3 290.5 290.6 290.7 290.8 291.0 291.2 291.6 291.8 292.1 292.5 292.7 293.0 293.2 293.6 293.8 294.2 294.4 294.7 295.0 295.4 295.6 295.8 296.1 296.5 296.7 297.1 297.3 297.6 297.9 298.3 298.5 298.9 299.1 299.4 299.7 299.3 297.8 300.7 305.3 310.4 311.6 312.5 312.3 311.8 311.3 311.5 311.8 311.8 311.8 310.6 309.2 307.4 304.1 299.6 293.8 288.3 284.6 281.8 279.4 279.3 280.0 280.6 281.9 286.1 291.5 297.1 303.1 308.4 314.3 319.5 325.1 330.6 336.5 343.4 350.6 349.6 348.6 348.0 348.6 349.8 350.4 351.0 351.3 351.4 351.5 351.0 349.7 346.6 341.2 327.9 313.2 300.0 287.4 274.2 267.3 261.8 258.2 258.7 260.7 262.8 270.1 276.9 283.7 291.2 296.6 301.8 307.3 312.3 318.0 324.5 331.9 338.2 342.6 347.3 352.1 352.6 354.7 359.7 365.6 371.9 377.1 379.5 381.1 382.7 384.2 381.7 379.3 377.2 374.8 372.4 371.1 369.9 368.6 367.4 367.9 368.4 369.2 370.7 372.6 374.5 376.4 378.3 380.7 383.6 386.6 389.6 392.6 394.9 396.5 397.9 399.6 400.6 400.5 399.7 399.1 398.5 397.6 396.2 394.8 393.1 391.4 389.9 388.4 386.9 387.0 387.4 387.9 388.3 388.7 389.1 389.6 389.9 390.3 390.8 391.3 391.7 392.1 392.5 392.8 392.7 392.6 392.4 392.3 392.1 392.0 391.6 390.6 389.9 389.9 390.2 390.2 390.5 390.6 391.1 392.9 395.2 396.9 397.2 397.4 397.5 396.9 396.4 395.9 395.3 394.7 395.0 395.1 395.2 395.0 394.7 394.4 394.3 394.0 393.1 392.0 390.9 388.6 381.3 365.5 346.0 329.2 320.0 314.0 313.0 314.4 324.1 334.0 343.1 352.3 359.5 366.0 371.9 377.9 384.9 392.9 399.7 401.0 400.7 399.1 396.8 395.1 394.7 394.7 394.7 394.7 394.5 394.5 394.5 394.5 394.0 393.5 393.2 392.7 392.3 391.8 391.3 389.3 384.0 377.6 370.6 355.2 340.7 325.9 314.6 315.1 322.3 329.7 336.0 342.0 348.2 354.4 360.3 366.6 375.9 386.4 395.7 399.0 399.0 398.3 397.5 396.6 395.9 395.3 394.4 393.6 392.7 392.0 391.6 391.9 392.4 393.0 393.4 393.1 392.6 392.0 390.9 387.3 383.7 379.1 369.6 359.2 349.2 341.8 340.9 343.0 344.8 344.4 343.7 343.4 345.6 348.4 351.9 357.3 365.0 376.0 387.3 392.1 392.6 392.1 391.5 393.0 394.3 395.0 395.5 396.1 395.2 394.3 393.4 392.6 391.8 391.7 391.5 391.3 390.4 389.3 388.2 387.4 386.6 386.0 385.3 385.8 386.2 386.6 387.2 387.7 388.1 388.6 389.2 390.0 391.1 392.1 392.5 392.8 393.1 393.4 393.4 393.7 393.9 394.2 394.0 393.8 393.5 393.4 393.2 392.9 392.3 391.8 391.3 390.8 390.6 390.9 390.9 390.9 391.0 391.1 391.7 392.3 392.8 393.1 393.4 393.4 393.6 393.7 394.0 394.0 394.2 394.0 393.9 393.6 393.4 393.3 393.0 392.8 392.7 392.4 392.2 391.9 391.9 392.2 392.4 392.8 392.6 392.4 392.3 392.0 391.9 392.6 393.3 393.9 393.8 393.5 394.0 394.3 393.9 393.4 392.8 392.2 391.7 391.0 390.0 388.3 387.0 385.9 384.5 383.3 384.1 385.0 386.0 387.2 388.6 390.1 391.4 393.6 396.8 401.6 406.6 411.4 414.1 415.9 417.2 418.2 419.0 419.3 419.2 419.2 418.8 418.2 417.4 416.4 415.1 414.0 412.5 410.7 408.4 406.1 404.2 403.6 403.2 402.8 402.3 402.0 401.9 402.7 404.6 407.0 409.2 410.5 411.7 413.3 415.3 417.1 418.7 419.6 420.4 421.3 421.8 421.8 421.7 421.4 421.3 421.0 420.9 420.7 420.4 420.4 420.0 419.3 418.5 417.7 416.7 415.8 415.0 414.1 412.6 411.0 410.8 410.7 410.5 410.5 411.2 412.1 413.0 413.9 415.1 416.3 417.7 419.0 420.2 421.3 422.8 424.0 424.9 424.9 424.6 424.3 422.7 421.3 420.1 418.7 416.5 414.4 412.4 410.4 408.3 406.8 405.5 404.3 403.5 402.9 402.3 403.7 404.9 406.4 409.2 412.4 415.7 419.0 422.0 425.1 427.5 430.0 431.8 432.7 433.3 433.9 431.8 429.2 426.2 422.6 417.7 412.6 408.5 406.2 404.1 402.1 401.7 401.3 401.0 400.6 400.2 399.7 398.3 397.6 396.4 395.0 393.1 390.5 387.4 383.2 376.7 367.7 357.3 345.8 331.4 316.4 302.1 289.6 280.3 272.4 265.9 261.4 258.4 256.3 254.6 253.6 252.9 252.4 252.1 251.5 251.4 251.4 251.5 251.5 251.5 251.5 252.2 255.6 258.2 258.9 258.9 258.7 257.9 257.1 256.6 256.4 256.2 255.9 255.7 255.7 256.2 257.1 257.3 257.5 257.8 258.5 259.2 259.9 260.3 260.6 261.0 261.6 261.9 262.0 261.4 260.4 259.6 259.5 259.4 258.9 258.3 257.9 258.4 259.0 259.7 260.4 261.1 262.1 263.1 263.8 263.4 262.5 259.3 255.1 247.3 238.5 228.9 221.1 217.3 215.0 216.0 217.6 219.6 222.9 227.4 231.9 235.4 239.2 242.5 246.0 250.1 253.2 256.3 259.4 262.9 266.5 270.6 274.8 278.9 283.2 286.6 290.1 293.9 297.9 302.0 306.0 310.0 313.8 316.7 318.9 319.3 318.5 317.4 316.0 314.3 313.3 312.4 311.5 310.9 310.4 309.7 309.3 309.1 309.0 308.8 308.6 308.4 308.3 308.2 308.2 308.4 308.7 308.9 309.0 309.1 308.6 308.2 307.6 307.2 306.8 306.8 307.0 307.7 308.4 309.3 310.2 311.1 312.0 312.8 313.7 314.6 315.4 315.7 315.8 316.0 315.5 315.0 314.4 314.0 313.4 312.9 310.9 309.1 307.5 305.1 300.2 294.2 284.5 275.2 264.5 252.7 247.8 244.7 246.1 250.1 258.5 268.2 277.9 284.7 290.8 297.6 305.0 312.2 319.7 328.7 338.1 341.3 344.3 346.9 349.5 352.3 354.3 355.9 356.8 357.3 357.8 357.6 356.7 355.5 354.4 353.1 350.4 348.1 345.7 343.3 342.2 341.3 340.5 340.1 340.8 342.2 343.5 344.7 346.0 347.7 349.6 351.4 353.0 354.0 354.8 355.7 356.3 355.6 354.7 353.5 351.7 349.6 347.6 345.9 344.2 343.2 342.7 343.1 343.7 344.5 345.0 345.8 346.6 347.5 348.6 349.6 350.8 351.8 352.6 353.3 354.1 353.8 353.7 353.3 352.3 350.8 349.6 348.2 346.1 343.5 340.9 334.5 328.1 322.4 315.8 308.6 304.8 306.7 313.4 325.7 339.9 350.7 355.4 356.4 355.7 354.7 354.1 353.9 353.9 353.9 353.9 353.1 352.2 351.5 351.1 350.6 350.3 350.0 349.7 349.5 349.4 349.2 349.1 348.9 348.8 349.2 349.5 349.9 349.9 349.2 348.2 347.0 346.0 345.0 344.2 344.4 344.9 345.5 347.0 348.9 349.6 349.9 350.1 350.5 350.8 351.0 351.5 351.7 352.0 351.9 351.9 351.8 351.7 351.5 351.5 351.7 352.0 351.5 350.9 350.2 349.6 348.9 348.2 347.2 346.2 345.8 345.8 345.6 345.5 345.3 345.0 344.0 342.9 342.2 342.3 342.6 343.9 345.1 346.3 347.7 349.6 351.3 352.4 353.0 353.7 353.3 352.7 352.1 351.7 351.0 350.4 350.4 350.4 350.6 350.6 350.6 350.6 350.6 350.7 350.8 350.8 350.7 350.2 349.8 349.3 348.8 348.3 347.7 346.6 345.1 344.4 343.7 341.7 339.9 338.3 337.1 336.0 335.5 336.6 338.9 344.0 349.8 355.1 357.8 359.0 359.9 360.9 361.5 361.4 361.0 360.7 359.9 358.0 356.1 353.6 350.8 348.1 345.6 343.3 340.6 337.9 335.5 334.4 333.9 334.1 334.8 336.6 338.8 342.3 347.1 351.7 356.2 359.5 362.2 364.8 366.6 366.0 364.5 360.7 353.9 346.8 345.8 344.8 343.8 342.8 341.8 340.9 339.9 338.9 337.9 336.9 336.7 336.5 336.2 336.2 336.0 335.7 335.5 335.3 335.1 334.8 334.6 334.5 334.3 334.1 333.8 333.6 333.4 333.2 333.1 332.9 332.6 332.4 332.2 332.0 331.7 331.5 331.5 331.2 331.0 330.8 331.4 336.3 340.6 343.7 346.2 346.8 346.4 345.8 345.3 345.2 345.4 345.5 345.9 346.6 347.6 349.6 351.2 351.9 352.4 352.9 353.1 352.3 350.9 347.7 340.3 329.8 322.7 323.4 331.3 341.4 345.3 347.3 348.6 349.2 349.4 349.7 350.1 350.3 350.7 351.0 349.3 348.1 348.4 349.1 350.4 352.0 352.8 352.2 351.0 349.8 349.9 350.0 350.2 350.2 350.4 350.4 350.5 350.6 350.6 350.6 350.5 349.7 349.1 347.3 339.9 323.1 308.8 298.7 293.4 295.4 302.5 309.8 316.0 321.8 327.7 333.7 338.0 341.8 346.3 350.8 354.9 356.3 356.4 355.1 353.1 351.0 349.6 349.1 348.9 348.6 348.4 348.3 348.7 349.1 349.6 350.1 350.6 350.8 350.7 350.2 349.8 349.4 349.0 348.4 346.0 342.1 334.8 326.1 312.2 297.2 290.8 293.4 298.3 304.2 310.4 317.0 323.4 330.6 339.3 348.2 355.8 356.4 355.8 355.1 354.5 353.9 352.9 351.9 350.8 349.8 349.0 348.8 348.7 348.6 348.6 347.3 344.9 339.8 332.2 321.2 304.0 289.5 283.2 284.1 291.8 300.1 304.7 308.7 313.3 318.0 320.1 322.6 325.5 328.9 332.5 336.2 339.7 342.9 346.8 350.6 352.2 354.5 358.0 362.1 366.6 367.5 366.9 366.1 365.1 364.1 361.2 358.3 355.8 353.1 349.2 345.2 341.6 338.3 334.6 332.3 330.8 331.1 331.7 332.5 334.8 338.9 342.8 346.6 351.0 355.3 359.7 363.7 366.4 368.7 371.3 368.9 365.6 359.2 349.1 338.9 338.2 337.3 336.6 335.9 335.0 334.3 333.6 333.0 332.1 331.3 331.6 332.0 332.3 332.6 333.1 333.3 333.6 333.9 334.3 334.6 335.1 335.3 335.6 335.9 336.4 336.6 336.9 337.2 337.6 337.9 338.4 338.6 338.9 339.2 339.7 340.0 340.3 340.6 341.0 341.3 342.0 344.2 345.6 345.1 345.2 345.7 346.2 346.6 347.1 347.2 347.2 347.3 347.4 347.4 347.4 347.9 348.4 348.8 349.3 350.0 350.8 351.8 352.4 353.3 354.1 351.8 349.5 346.0 337.0 326.2 316.4 310.9 309.6 309.9 310.8 312.7 318.4 325.2 335.0 345.8 351.9 356.1 355.9 354.6 353.1 351.7 351.0 350.4 350.1 350.0 349.8 349.7 350.2 350.7 351.3 351.8 352.3 352.6 351.7 350.2 349.1 348.4 348.0 347.5 347.0 346.5 345.5 343.1 339.0 330.4 321.0 313.2 309.2 306.6 307.0 308.8 313.9 321.3 330.6 340.1 345.0 349.1 351.0 351.9 351.5 350.7 350.2 350.3 350.6 350.8 351.0 350.7 350.5 350.1 349.8 350.5 351.0 350.4 345.9 339.7 326.2 314.3 307.7 306.4 311.5 319.5 327.3 335.0 343.7 351.0 358.3 365.5 370.9 376.4 382.2 388.4 395.2 402.0 408.6 414.8 421.4 426.4 427.5 427.1 425.7 423.7 421.9 420.3 419.3 418.7 417.5 416.4 415.4 414.9 414.3 414.0 413.9 414.1 414.7 415.3 416.1 416.7 417.1 417.2 417.2 417.5 417.5 417.2 416.3 415.1 402.8 381.6 363.6 349.9 344.6 353.8 367.6 382.3 399.1 414.3 421.8 423.9 422.9 421.4 420.9 420.6 420.3 420.0 419.7 419.4 419.1 418.9 418.8 418.7 418.7 418.9 418.9 418.8 418.0 416.7 414.6 412.6 411.2 410.6 410.3 409.9 409.4 408.8 408.1 407.5 406.8 406.8 406.9 407.0 407.0 406.7 406.4 406.9 409.9 414.3 418.6 422.0 422.8 422.3 421.3 420.4 419.6 418.8 418.1 418.4 418.9 418.4 418.0 417.8 417.2 416.9 416.6 416.1 415.7 415.3 415.5 415.7 415.8 416.0 416.0 416.1 415.6 414.8 413.3 411.2 409.1 406.8 404.6 402.5 401.4 402.6 403.9 405.2 408.2 413.2 418.3 422.9 425.4 426.4 427.2 428.1 428.5 428.2 427.6 427.0 426.1 423.8 421.5 419.2 416.5 414.0 411.7 409.5 407.0 404.4 402.4 402.1 401.9 402.0 403.5 405.3 407.6 411.0 415.8 420.4 425.0 428.2 430.8 433.2 434.2 434.0 430.5 426.2 419.1 411.2 410.3 409.1 408.2 407.4 406.3 405.2 404.4 403.5 402.5 401.4 401.2 401.0 400.9 400.8 400.5 400.4 400.2 400.1 399.8 399.8 399.5 399.4 399.3 399.1 398.8 398.8 398.6 398.5 398.2 398.2 397.9 397.8 397.6 397.5 397.2 397.2 396.9 396.8 396.6 396.6 397.7 405.5 412.2 416.1 419.2 419.4 419.5 419.8 419.9 420.1 419.5 418.7 418.1 416.9 412.2 406.6 402.2 400.2 400.5 401.6 399.3 397.0 395.0 393.2 392.2 392.8 393.5 394.0 394.8 396.1 397.5 399.2 401.1 402.9 403.0 403.0 401.9 399.1 395.7 395.9 405.4 414.2 419.8 422.3 422.1 421.5 420.9 420.4 419.8 419.6 419.8 419.2 418.6 418.1 417.5 414.4 410.3 403.7 395.2 388.4 387.2 387.9 389.7 393.4 397.9 400.8 402.9 403.5 403.1 402.6 402.0 401.4 400.9 400.3 399.8 399.3 400.0 400.8 401.9 402.8 408.7 414.8 419.4 422.0 424.0 422.6 421.3 420.1 419.3 418.7 417.8 417.2 416.8 416.7 416.5 416.2 415.9 415.7 415.4 415.1 415.1 415.2 415.3 415.3 415.3 414.6 413.8 413.2 412.4 411.0 409.8 408.6 408.5 408.6 408.9 410.1 411.2 412.4 413.6 414.8 415.7 416.4 417.2 417.8 417.7 417.4 417.2 417.0 416.2 415.3 414.2 413.4 413.0 412.7 412.4 412.1 411.9 411.6 411.3 411.2 411.5 411.5 411.5 411.5 411.7 411.9 412.8 413.9 415.1 416.3 417.4 418.3 418.8 419.3 419.6 420.1 419.7 419.2 418.7 418.2 416.9 415.5 414.3 412.8 408.2 402.2 392.0 379.3 365.5 358.6 358.9 359.2 359.8 361.3 363.6 365.7 367.7 369.6 371.7 373.9 376.2 378.4 380.4 382.4 384.6 387.0 389.0 390.8 392.6 394.5 396.6 399.0 401.3 403.7 406.3 408.8 410.7 412.6 414.5 416.5 422.5 427.1 428.1 427.0 425.5 424.0 422.6 421.6 421.9 422.6 421.6 420.7 419.9 419.1 418.2 417.5 416.7 415.9 415.4 414.8 414.3 414.0 414.0 413.9 413.4 412.7 412.8 413.2 413.6 413.9 414.2 414.6 415.0 415.2 415.8 416.0 415.6 415.2 414.9 414.8 415.1 415.1 415.2 415.3 416.0 416.7 416.4 416.4 416.7 417.2 417.6 418.1 418.5 418.9 418.9 418.7 418.2 416.5 414.1 412.0 408.9 403.1 397.9 393.2 391.5 390.6 389.8 389.2 388.5 388.8 390.2 392.4 395.1 399.3 404.2 409.8 413.2 416.6 420.9 425.5 428.9 431.9 433.7 434.6 435.4 436.4 437.0 436.7 436.1 435.2 433.9 432.7 431.6 430.6 429.7 428.9 429.9 431.1 432.4 433.7 437.8 442.2 445.8 449.7 452.9 456.2 459.1 461.9 465.0 468.3 469.1 469.8 469.9 469.7 469.7 469.6 469.4 469.1 468.3 467.0 465.7 464.8 464.4 464.1 463.7 464.1 464.7 465.0 465.3 465.9 466.2 466.6 467.0 467.4 467.8 468.4 468.7 469.0 469.5 469.9 469.9 469.7 469.7 469.3 469.1 468.8 468.3 467.2 465.7 464.3 462.4 459.7 457.4 454.8 453.9 452.4 450.8 448.5 445.5 442.3 439.0 436.0 433.7 431.8 430.2 427.4 425.1 423.3 421.6 420.6 419.9 419.2 418.5 417.8 417.0 416.3 415.6 415.1 414.5 413.9 413.3 412.7 412.3 411.8 411.7 412.0 412.1 412.2 412.2 412.4 412.4 412.6 412.8 413.3 413.9 414.7 415.3 415.8 416.4 416.7 417.0 417.3 417.6 417.7 416.7 415.3 414.2 412.6 408.8 404.4 398.7 384.9 367.6 349.7 335.8 332.2 330.1 330.9 333.0 335.2 337.4 339.6 341.4 342.9 344.2 345.8 347.3 348.5 350.1 351.5 353.2 354.8 356.2 358.0 360.1 361.9 363.2 364.4 366.0 369.8 380.6 390.2 396.1 401.0 403.5 403.8 404.2 404.9 405.3 404.4 403.3 402.3 401.4 400.6 399.8 398.6 397.2 395.9 394.3 392.9 392.7 392.6 392.3 392.2 392.0 391.9 392.7 393.5 394.3 394.7 394.8 395.1 395.2 395.0 394.7 394.7 394.4 394.2 394.0 393.8 393.6 393.5 393.2 393.1 392.9 392.6 392.0 391.5 391.7 392.2 391.9 391.7 391.5 391.4 391.1 392.4 393.3 393.6 393.6 393.6 393.6 393.6 393.6 393.6 393.6 393.6 393.5 393.4 393.4 393.4 393.4 393.4 393.4 393.4 393.4 393.4 393.4 393.2 392.4 391.5 392.7 393.4 393.1 392.7 392.2 391.8 392.1 392.4 392.8 393.1 391.8 391.1 391.4 391.9 392.7 393.4 393.3 393.1 393.0 392.9 392.7 392.6 392.4 392.4 392.2 392.2 392.0 392.1 392.2 392.4 392.5 392.8 392.9 393.1 393.1 393.4 393.4 393.6 394.3 393.8 392.9 391.5 389.7 387.9 386.2 384.6 383.5 382.8 382.8 383.2 384.0 385.1 386.5 388.2 389.9 391.9 393.5 395.3 396.8 397.9 398.7 399.3 399.4 399.1 398.4 397.5 396.1 394.5 392.9 391.1 389.4 387.5 386.0 384.6 383.4 382.6 382.0 382.8 383.0 383.9 385.4 387.0 389.4 391.8 394.4 396.8 399.2 401.2 402.8 403.9 404.5 404.4 403.9 403.2 401.9 400.5 398.7 396.8 394.7 392.9 390.9 388.8 387.3 385.9 384.7 383.9 383.5 383.5 383.9 384.9 386.4 388.4 390.4 392.7 395.0 397.0 398.8 400.1 400.9 401.0 400.2 398.5 396.3 393.4 390.6 388.1 386.4 385.4 385.3 385.6 386.3 387.3 388.1 389.0 389.6 390.0 391.8 390.5 386.4 376.7 358.1 341.3 330.8 325.0 321.0 325.4 336.0 346.4 354.5 360.9 360.9 359.9 357.4 354.1 350.2 344.8 339.8 334.5 328.3 322.1 318.0 319.9 325.3 331.9 336.0 340.1 343.1 344.5 345.3 346.4 347.5 347.7 347.9 348.2 348.4 348.8 349.0 349.2 349.1 348.6 348.2 347.8 347.4 347.1 347.2 347.3 347.4 347.5 347.6 347.8 347.8 347.8 347.8 347.8 347.8 347.8 347.8 347.8 347.8 347.8 347.8 347.9 348.1 348.4 348.6 348.9 349.1 348.9 348.5 348.2 348.2 348.3 348.4 348.4 348.2 347.8 347.5 347.3 346.8 345.2 343.2 341.4 340.4 339.3 338.1 337.3 337.1 337.1 337.0 336.9 337.0 337.5 338.0 338.4 338.9 339.4 340.3 342.4 345.9 351.3 356.3 358.5 359.6 359.7 359.5 359.0 358.8 358.3 357.2 355.9 354.7 353.4 352.3 350.9 348.6 346.1 343.6 341.7 340.9 340.5 341.7 342.8 343.8 345.1 347.4 350.0 352.5 354.6 356.6 358.4 360.2 361.0 361.5 361.4 361.1 359.4 357.5 354.7 351.1 347.8 344.3 341.0 338.0 335.2 333.3 332.1 332.8 333.7 335.1 337.7 340.7 343.9 346.7 349.6 352.7 354.5 356.1 357.3 357.4 357.0 356.4 355.1 353.5 351.2 348.4 345.5 342.8 339.8 336.3 332.9 330.8 329.3 329.2 329.5 329.8 330.8 331.7 332.9 335.7 339.1 339.6 340.3 340.7 341.3 341.8 342.4 343.0 343.2 343.2", + "f0_timestep": "0.005" + }, + { + "offset": 128.48, + "text": "SP 我 多 想 说 再 见 啊 SP 捧 起 雪 花 SP 把 爱 与 恨 留 下 SP", + "ph_seq": "SP w o d uo x iang sh uo z ai j ian a SP p eng q i x ve h ua SP b a ai y v h en l iu x ia SP", + "ph_dur": "0.2786 0.0464 0.1625 0.0232 0.1393 0.0813 0.1277 0.0697 0.1277 0.0697 0.3019 0.0929 0.209 0.3947 0.1045 0.0929 0.267 0.1393 0.267 0.1277 0.1045 0.0929 0.4063 0.1045 0.0929 0.3019 0.3831 0.1161 0.1161 0.0813 0.3483 0.058 0.3947 0.1974 0.4063 0.0464", + "ph_num": "2 2 2 2 2 2 1 1 2 2 2 2 1 2 1 2 2 2 2 1 1", + "note_seq": "rest F4 G4 A4 A#4 A4 C5 C5 rest C4 G4 A4 A4 rest C4 E4 F4 F4 C4 A3 rest", + "note_dur": "0.32 0.188 0.212 0.2 0.2 0.4 0.2 0.4 0.2 0.4 0.4 0.2 0.4 0.2 0.3 0.5 0.2 0.4 0.6 0.4 0.05", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "348.4 348.4 348.4 348.7 347.6 347.6 347.5 347.5 347.5 347.4 347.4 347.4 347.3 347.3 347.3 347.2 347.2 347.2 347.1 347.1 347.1 347.0 347.0 347.0 346.9 346.9 346.8 346.8 346.8 346.7 346.7 346.7 346.6 346.6 346.6 346.5 346.5 346.5 346.4 346.4 346.4 346.3 346.3 346.3 349.2 348.9 348.5 348.2 347.9 347.4 347.2 346.9 346.5 346.1 345.8 345.4 345.1 344.8 344.5 344.0 343.7 343.3 343.1 342.7 342.4 342.4 344.7 346.8 347.9 348.8 349.8 350.4 350.7 350.8 351.0 350.5 349.9 349.5 349.3 349.0 348.8 348.6 348.7 348.8 349.0 349.1 349.6 350.4 351.3 352.5 353.5 354.4 353.4 347.0 330.8 315.4 308.6 308.8 312.9 318.8 325.9 336.4 348.3 366.4 386.6 397.8 398.4 397.2 396.8 396.3 395.5 395.8 396.1 396.1 396.3 396.3 396.1 396.0 395.3 394.3 393.4 390.7 383.7 373.5 361.1 349.3 344.3 344.8 347.2 353.5 357.1 361.1 366.6 373.7 381.1 388.3 393.0 396.8 401.1 405.1 409.8 414.5 418.7 420.7 421.8 428.6 438.0 445.0 447.8 448.7 448.7 448.5 447.8 446.7 445.1 443.2 441.8 441.7 442.0 442.3 442.5 443.3 443.6 443.0 441.8 435.1 425.9 410.5 390.5 375.4 382.4 396.6 411.0 423.0 433.2 437.9 441.3 441.5 441.1 440.8 440.8 440.8 439.9 439.6 444.6 451.8 462.3 469.9 472.5 472.7 472.3 471.9 471.4 470.7 469.7 469.2 468.3 467.7 466.9 466.2 466.8 467.4 467.8 468.1 466.7 464.8 461.2 451.0 431.3 407.7 387.3 376.8 369.4 365.6 363.8 368.9 374.1 378.4 382.9 387.7 392.2 396.8 402.4 409.6 418.0 426.9 434.6 437.9 440.3 441.0 441.4 440.9 440.6 440.3 440.3 440.1 440.3 440.1 439.6 439.2 438.4 437.8 437.3 437.4 437.7 438.0 438.4 438.5 438.7 439.0 439.4 440.3 440.9 440.6 440.0 439.5 439.4 439.2 439.0 439.0 438.7 438.6 438.5 438.7 438.7 438.8 439.1 439.5 440.3 441.0 441.7 442.2 442.8 443.4 443.3 443.3 442.9 442.5 441.1 439.5 437.8 435.4 430.1 418.7 405.6 395.1 393.6 394.7 399.0 404.9 411.2 419.2 426.7 433.9 440.5 447.6 455.3 461.9 468.1 474.9 482.4 488.1 494.3 502.3 511.6 521.0 529.5 533.6 534.8 534.2 532.9 531.7 531.6 531.8 531.5 530.4 529.5 528.7 528.2 527.8 527.8 527.7 527.3 526.7 525.7 524.5 523.4 522.0 520.1 517.8 517.1 516.6 516.6 516.9 517.2 518.7 519.9 520.9 521.4 521.7 522.1 522.5 523.1 524.9 527.2 531.4 534.7 535.9 535.6 535.2 534.7 534.1 533.8 533.4 533.0 532.3 531.9 531.2 529.7 527.8 525.9 524.2 522.5 520.6 519.0 517.5 516.0 515.3 515.6 516.3 517.1 517.8 518.7 520.9 523.3 525.9 528.6 530.9 533.2 534.2 535.1 536.2 536.6 535.5 533.9 532.1 529.0 526.3 523.6 520.8 518.3 516.1 514.3 513.4 513.1 512.7 513.1 514.7 516.8 519.0 521.7 524.5 527.3 530.6 533.9 537.1 540.0 541.3 541.9 541.1 539.6 538.4 536.7 533.2 529.0 524.8 520.7 517.2 513.6 509.5 508.6 509.8 511.6 513.6 515.5 515.1 514.6 514.1 513.7 513.1 512.3 510.2 508.9 506.8 504.3 500.5 495.5 489.3 480.7 468.1 451.5 432.4 411.6 385.8 359.9 335.5 314.6 299.4 286.7 276.5 269.3 264.6 261.2 258.6 256.7 255.6 254.6 254.1 253.1 252.7 252.7 252.6 252.5 252.3 252.3 252.2 253.3 255.3 257.5 260.1 261.5 262.1 262.6 263.2 263.7 263.4 263.1 262.9 262.6 262.4 261.9 260.8 259.6 258.3 257.0 255.9 255.5 255.2 255.1 255.5 256.1 256.6 257.1 257.8 258.3 258.9 259.6 260.1 260.6 261.2 261.9 262.4 262.8 263.1 263.3 263.5 263.7 263.8 264.0 263.6 263.2 262.8 262.1 260.3 257.9 252.6 245.9 240.9 238.5 240.7 244.2 248.9 253.4 257.7 261.5 265.3 269.4 273.2 277.6 282.4 287.1 290.7 294.1 298.3 303.0 305.9 309.2 312.3 314.5 317.5 321.7 325.1 329.3 335.1 340.1 344.7 349.6 355.1 360.3 364.5 366.6 367.5 367.7 368.1 368.3 368.0 367.0 365.4 363.6 361.3 359.3 358.4 357.4 356.4 356.6 357.6 359.9 362.2 364.6 367.2 371.8 376.0 379.8 383.3 386.6 389.9 392.9 395.1 397.1 397.7 397.8 397.8 397.5 396.9 396.3 395.7 394.8 393.6 393.0 392.7 392.3 391.9 391.7 391.4 392.0 392.2 390.9 389.4 387.2 379.3 363.2 351.5 348.7 354.5 366.6 379.1 384.7 385.8 386.3 386.4 387.2 389.0 391.1 393.5 396.1 398.8 401.7 404.0 406.8 410.3 414.5 417.9 420.0 422.3 424.8 431.3 437.7 442.4 444.8 446.4 447.0 447.4 447.3 446.4 445.1 444.8 444.5 444.2 443.7 443.6 443.0 442.2 440.1 436.7 429.2 415.8 404.8 398.9 394.7 393.4 392.8 393.4 394.2 395.3 397.2 399.1 400.0 400.6 401.4 402.1 402.7 403.9 405.9 409.3 416.0 423.7 431.6 437.9 442.3 444.6 446.5 448.0 448.6 448.9 449.2 449.2 447.8 446.4 444.9 442.8 440.6 438.8 436.8 434.8 432.7 430.8 430.2 429.7 429.1 428.5 429.4 430.2 431.3 433.4 436.0 438.5 441.0 443.4 446.1 449.2 451.8 452.8 453.4 453.9 452.9 451.3 449.5 446.8 443.7 440.3 436.8 433.8 431.3 429.7 428.5 427.5 427.0 427.8 429.1 430.4 431.9 433.4 435.4 438.0 440.5 443.1 445.6 447.7 449.2 450.8 451.8 451.6 451.1 450.4 449.8 447.2 444.3 440.7 436.4 431.9 426.7 422.1 418.2 415.7 414.1 414.3 414.5 414.6 414.8 415.1 414.8 413.9 413.5 412.7 411.7 409.8 406.9 403.3 398.2 390.9 380.5 368.8 355.5 339.1 321.9 305.7 291.5 281.1 272.4 265.3 260.2 256.9 254.7 253.0 251.7 251.1 250.6 250.4 249.8 249.8 249.8 250.0 250.1 250.2 250.2 250.1 249.2 250.3 252.1 253.2 254.1 254.9 255.7 256.6 257.3 257.9 258.4 258.5 258.5 258.3 258.3 258.2 257.8 257.4 257.3 257.3 257.4 257.5 257.8 258.2 258.6 259.0 259.4 259.7 260.1 260.5 261.0 261.3 261.3 261.8 261.8 261.8 261.8 261.8 263.7 264.2 264.7 265.2 265.7 265.7 266.1 267.2 268.4 270.2 272.6 275.6 279.4 283.6 288.4 294.0 298.5 302.5 305.7 308.6 310.6 312.3 314.4 316.1 317.8 320.4 325.2 329.4 333.6 337.9 341.1 341.4 342.1 342.4 342.7 343.0 342.0 341.1 340.3 339.3 337.7 336.0 334.3 332.3 331.0 331.0 330.2 329.4 329.4 328.9 328.1 328.1 328.1 328.1 328.1 328.1 328.1 328.1 328.1 328.1 328.9 328.9 329.2 330.4 331.3 331.9 332.2 332.5 332.8 333.0 332.7 332.2 332.5 332.8 333.0 332.7 332.2 332.5 332.8 333.0 332.7 332.4 332.0 331.7 331.1 330.4 329.9 329.2 328.6 328.0 328.1 328.3 328.6 328.8 328.9 328.3 327.5 326.7 326.2 325.9 325.5 325.2 325.2 325.5 325.8 326.4 326.8 327.1 327.6 328.2 329.1 330.2 331.4 332.6 334.1 335.6 337.6 339.5 341.2 343.3 347.0 351.3 354.3 354.8 354.6 353.9 353.0 352.7 352.4 351.8 351.0 350.5 350.2 350.1 349.7 349.4 349.4 349.1 348.8 348.5 348.2 344.2 340.3 335.5 327.2 316.7 305.3 295.0 286.9 282.6 280.4 282.5 284.6 286.6 289.0 294.2 299.7 303.7 307.2 311.8 319.3 326.7 329.9 332.2 334.1 333.7 332.7 331.8 331.2 330.8 330.6 330.3 330.1 330.0 329.9 329.6 329.4 329.2 329.2 328.9 329.2 329.7 330.2 330.6 331.1 331.5 332.0 332.5 332.9 333.7 334.4 335.3 336.2 337.3 339.3 341.8 344.4 346.7 348.6 350.6 352.7 354.5 355.3 355.8 356.4 357.0 356.5 356.2 355.7 355.4 354.9 354.5 354.1 353.7 353.2 351.7 349.9 348.5 346.9 345.3 343.8 342.5 341.1 339.9 337.9 333.5 328.5 324.0 319.6 314.5 309.3 301.1 292.8 285.3 277.1 267.6 262.2 256.5 251.3 247.9 245.1 242.5 240.3 238.7 237.2 236.3 236.3 236.9 237.8 239.2 239.5 239.7 240.1 240.4 241.0 241.7 241.3 241.0 241.0 240.8 240.7 240.6 240.4 240.2 240.2 240.1 240.6 241.1 241.6 242.2 242.7 243.2 243.8 244.6 246.3 248.5 250.9 253.0 255.0 257.3 259.1 260.8 262.5 263.8 264.8 265.6 266.4 266.3 266.2 266.0 265.0 263.8 262.7 261.8 260.8 259.7 259.3 258.9 258.6 258.2 258.5 258.8 259.2 259.5 259.7 260.1 260.7 261.4 261.9 262.6 263.3 263.9 264.4 264.6 264.7 264.7 264.8 264.9 265.0 265.1 265.1 262.2 258.2 252.7 246.2 238.0 230.5 226.6 223.8 222.9 223.1 223.1 223.1 223.1 223.2 223.2 223.2 223.3 223.3 223.3 222.9 222.5 222.2 221.8 221.4 221.4 221.7 221.8 222.0 222.0 222.0 221.9 221.7 221.6 221.4 220.9 220.2 219.7 219.0 217.9 216.6 217.4 218.3 219.4 221.0 223.2 223.9 224.9 225.7 226.1 226.2 224.9 223.7 222.6 220.8 219.0 216.9 215.0 213.0 210.6 208.3 206.1 205.0 204.5 205.0 205.7 206.6 207.7 209.4 211.6 213.9 216.6 219.4 221.6 223.4 225.1 226.9 228.3 228.8 229.0 228.0 226.9 225.3 223.1 220.5 217.9 214.9 212.2 209.7 206.9 204.1 202.5 200.9 199.8 199.1 198.5 199.4 200.2 201.2 203.1 205.5 207.9 210.2 212.0 213.8 215.7 217.8 219.6 221.3 223.2 224.6 225.8 226.5 226.3 225.9 225.4 224.1 222.8 221.5 219.3 217.0 217.0 217.0 217.0 217.0 217.0 217.1 217.1 217.1 217.1", + "f0_timestep": "0.005" + }, + { + "offset": 134.88, + "text": "SP 只 看 着 眼 下 SP 匆 匆 一 簇 繁 华 SP 在 手 中 融 化 SP", + "ph_seq": "SP zh ir k an zh e y En x ia SP c ong c ong y i c u f an h ua SP z ai sh ou zh ong r ong h ua SP", + "ph_dur": "0.2438 0.0813 0.3135 0.0929 0.2902 0.1045 0.3135 0.0813 0.0929 0.1161 0.3947 0.1045 0.0929 0.1277 0.0813 0.1393 0.058 0.1277 0.0697 0.1393 0.058 0.1161 0.0813 0.4063 0.0929 0.1045 0.1161 0.0813 0.1509 0.058 0.3019 0.0929 0.1045 0.0929 1.4048 0.0464", + "ph_num": "2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 1", + "note_seq": "rest F4 G4 A4 C5 C5 rest C4 C4 A4 A4 C5 C5 rest G4 G4 G4 A4 A4 A4 rest", + "note_dur": "0.32 0.4 0.4 0.4 0.2 0.4 0.2 0.2 0.2 0.2 0.2 0.2 0.4 0.2 0.2 0.2 0.4 0.2 0.6 0.8 0.05", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0", + "f0_seq": "219.5 219.5 219.5 219.7 251.7 252.9 254.2 255.4 256.7 258.0 259.2 260.5 261.8 263.1 264.4 265.7 267.0 268.3 269.7 271.0 272.3 273.7 275.0 276.4 277.7 279.1 280.5 281.9 283.3 284.7 286.1 287.5 288.9 290.3 291.8 293.2 294.7 296.1 297.6 299.0 300.5 302.0 303.5 305.0 349.2 348.8 348.4 348.0 347.5 347.2 346.7 346.3 345.9 345.5 345.0 344.6 344.2 343.8 343.3 343.0 342.5 342.1 341.7 341.4 340.9 341.8 347.8 351.2 353.3 352.9 351.9 351.2 350.8 350.5 349.2 348.1 347.7 347.5 347.0 346.0 345.3 344.6 344.1 344.2 344.4 344.9 345.2 345.5 345.8 346.2 346.5 346.9 347.2 347.6 347.8 348.3 348.6 348.9 349.2 349.6 349.9 350.3 350.5 350.6 350.6 350.6 350.5 350.2 349.9 349.4 349.0 349.1 349.3 349.4 349.6 349.7 349.6 349.2 348.6 347.8 344.3 337.3 327.9 317.8 314.6 321.7 329.2 335.0 339.1 342.6 343.1 343.5 344.0 344.8 347.2 350.3 353.8 356.6 359.3 362.0 365.6 368.8 371.1 374.0 380.6 387.8 393.6 395.5 396.0 396.3 395.5 395.2 395.2 395.2 395.2 394.8 394.3 393.9 393.5 393.1 392.9 392.7 392.3 392.1 392.2 392.5 392.8 392.9 393.1 393.4 393.6 393.8 393.8 393.6 393.1 392.8 392.3 392.0 391.6 391.1 390.0 389.2 388.2 387.2 386.2 387.0 387.8 388.6 389.3 390.2 391.0 391.8 392.6 393.2 393.6 394.2 394.7 394.8 394.2 393.1 392.0 391.0 389.7 387.4 384.6 377.0 362.7 347.6 332.1 315.8 309.0 304.2 304.2 306.6 313.1 320.9 329.0 336.1 343.4 351.5 360.4 369.4 379.1 391.3 403.9 416.4 426.1 434.0 441.3 444.6 445.9 446.0 445.5 444.7 443.6 442.0 440.6 439.4 437.8 437.0 436.2 436.3 436.5 436.6 436.7 437.0 437.5 438.0 438.6 439.2 439.6 440.4 441.7 443.1 442.8 442.4 441.9 441.5 441.1 440.5 440.1 439.6 439.2 438.8 439.0 439.3 439.6 439.9 440.2 440.5 440.7 440.3 439.7 439.3 439.5 439.6 439.9 440.0 440.2 440.5 440.6 440.8 440.9 441.2 441.3 441.3 440.4 439.4 438.6 438.5 438.2 438.3 438.7 440.5 442.8 445.9 450.5 455.3 460.7 467.2 475.1 482.5 489.2 496.9 505.1 513.1 519.2 523.6 527.3 530.2 532.1 533.1 532.9 531.7 530.2 528.3 527.8 527.1 526.2 522.9 519.6 515.3 508.1 498.2 484.3 471.8 470.2 474.4 480.4 487.1 490.2 491.3 491.9 493.5 499.3 506.5 512.6 516.2 518.6 516.9 514.6 512.4 510.9 511.1 511.9 518.2 524.6 529.9 534.3 538.6 540.5 541.8 541.7 540.9 539.8 538.7 535.6 532.6 529.4 525.7 522.3 519.2 516.2 512.9 509.5 508.4 507.0 506.4 506.7 507.5 509.7 512.1 515.2 519.1 523.3 527.4 531.5 534.9 537.5 539.8 541.9 541.5 540.8 539.5 536.1 531.9 527.8 523.6 518.9 514.0 509.1 505.2 503.5 502.4 501.4 502.9 504.6 506.2 508.6 511.6 514.6 517.3 519.9 522.7 524.8 526.7 528.1 528.6 528.7 528.1 527.4 527.0 526.3 525.8 525.1 526.2 527.2 527.7 526.9 525.7 524.5 523.4 523.1 522.3 518.1 517.7 517.1 516.8 516.4 516.0 514.9 512.9 511.4 509.4 506.9 503.4 498.5 492.4 484.2 471.9 455.3 436.3 415.4 389.6 363.4 339.1 318.1 302.9 290.3 280.1 272.9 268.2 265.0 262.4 260.7 259.6 258.8 258.4 257.5 257.3 257.3 257.3 257.4 257.4 257.4 257.8 259.8 261.2 262.5 264.1 265.1 265.0 264.5 263.2 261.6 260.3 259.6 259.1 258.7 259.1 259.7 260.5 261.4 262.5 263.4 262.7 261.0 257.8 253.1 244.4 234.9 225.3 217.4 213.8 216.2 220.0 225.3 230.1 235.0 240.3 245.6 250.7 255.7 261.1 265.0 267.5 266.1 264.4 262.6 261.5 260.5 259.5 258.7 258.0 258.3 259.0 259.7 260.2 260.5 260.7 260.9 261.2 261.4 261.6 261.8 262.1 262.3 262.7 263.6 264.7 265.0 265.5 266.4 268.6 271.8 275.6 280.2 285.5 292.3 301.2 311.3 322.8 335.8 353.4 373.2 388.6 400.1 408.6 416.0 424.8 431.5 435.9 438.7 441.1 443.3 444.8 445.6 445.9 445.1 443.8 442.7 440.6 434.8 426.7 416.5 407.6 407.8 413.4 420.2 422.6 422.9 421.0 418.9 417.5 416.5 418.3 419.9 421.5 423.0 424.8 424.4 424.4 425.9 428.4 433.9 439.3 440.4 440.8 441.2 441.8 442.1 442.4 442.4 442.1 441.8 441.7 441.4 441.1 441.0 440.8 440.4 440.4 440.8 441.4 442.0 442.7 441.9 441.1 440.0 435.4 419.5 400.7 385.8 383.0 399.5 420.1 437.3 447.2 453.0 458.7 465.2 472.1 479.8 489.6 500.2 511.2 521.0 526.2 528.6 530.2 530.8 530.4 529.9 529.2 528.1 526.9 525.2 523.7 522.6 521.1 520.0 519.1 518.7 518.7 518.4 518.4 516.9 512.8 506.4 492.7 476.2 455.8 437.3 423.5 420.4 421.0 430.3 440.0 450.2 460.5 471.0 481.6 493.5 507.4 516.0 518.2 520.2 522.2 524.3 526.3 528.6 530.7 532.2 532.9 533.0 533.0 531.3 529.5 527.6 525.7 523.5 521.6 519.6 517.4 515.2 512.9 510.9 510.2 509.9 510.7 511.4 512.1 513.1 515.5 518.1 521.1 523.9 526.7 529.9 533.3 536.3 536.7 536.7 537.0 537.0 536.3 532.6 528.8 525.0 520.5 516.6 513.5 510.9 509.2 508.1 507.3 507.9 508.7 509.6 511.3 512.9 514.8 517.1 519.9 522.6 525.7 528.6 530.7 532.4 533.6 534.6 534.4 533.8 531.9 529.3 527.0 524.2 520.5 516.3 511.6 505.4 500.0 495.5 493.5 493.6 494.0 494.3 494.6 495.0 495.3 495.5 495.0 495.0 494.8 494.2 493.2 491.3 489.1 485.9 481.2 474.3 466.3 457.1 445.4 432.9 421.0 410.1 402.0 395.2 389.5 385.8 383.2 381.5 380.0 379.3 378.8 378.6 378.6 378.3 378.4 378.7 378.9 379.2 379.5 379.7 381.0 386.9 392.0 394.6 396.6 396.3 396.0 395.7 395.3 395.0 394.6 393.9 393.3 392.6 391.8 390.5 386.4 381.3 372.6 366.2 373.7 380.4 384.0 387.0 390.4 391.1 390.9 390.5 390.1 389.7 389.3 389.6 389.9 390.5 391.3 392.2 392.9 393.7 394.6 396.3 398.3 399.4 399.1 398.3 397.5 396.4 395.7 395.3 395.0 394.7 394.7 394.4 394.0 393.3 392.4 391.6 390.8 390.1 388.7 384.2 371.4 358.6 346.7 335.7 331.2 334.3 337.1 338.7 340.6 345.2 350.7 356.1 360.7 365.2 369.8 372.5 374.9 377.1 379.8 382.6 386.7 390.8 394.1 396.2 396.6 396.8 396.9 397.0 397.2 397.2 396.4 395.5 394.8 394.0 393.1 392.6 392.3 391.8 391.4 390.9 391.1 391.2 391.5 391.7 391.8 392.1 392.2 392.3 392.6 392.7 393.0 393.2 393.2 392.6 391.5 390.7 390.1 390.0 389.8 389.7 390.3 390.9 391.4 391.7 391.8 391.8 391.7 391.5 391.5 391.5 391.6 391.9 392.1 392.4 392.2 392.0 391.9 391.7 391.5 391.3 391.6 391.9 392.0 392.2 391.5 390.6 389.8 389.2 388.5 387.7 388.8 390.1 391.7 395.0 399.1 405.8 412.3 419.3 427.7 436.5 442.5 446.0 448.4 450.4 452.1 451.1 450.0 448.6 447.2 445.6 443.7 441.9 440.4 438.6 438.2 437.7 437.6 437.3 436.8 435.7 434.2 431.4 426.0 418.9 407.2 391.4 378.4 369.1 360.5 355.1 354.4 353.6 352.8 352.6 355.9 359.9 364.6 371.7 380.9 390.6 399.7 405.7 409.6 411.5 412.7 413.6 414.7 415.7 416.7 418.0 418.7 418.4 418.0 417.6 417.2 416.7 416.3 415.9 415.4 415.1 414.5 414.1 413.7 413.3 412.9 413.2 413.4 413.7 414.8 416.0 417.5 418.7 420.0 422.3 424.8 427.2 429.6 431.9 434.4 437.0 439.6 441.9 443.3 444.4 445.1 445.8 446.3 446.8 447.3 447.9 447.0 446.0 445.2 444.3 443.3 442.4 441.6 441.0 440.4 439.7 439.2 439.4 439.5 439.7 439.7 440.0 439.9 439.7 439.7 439.5 439.5 439.5 439.3 439.2 439.5 439.8 440.1 440.4 440.7 441.0 441.2 440.8 440.2 439.8 439.7 439.8 440.0 440.0 440.0 440.0 440.3 440.3 440.3 440.3 440.5 440.5 440.5 440.5 440.7 440.8 440.8 440.8 440.6 440.5 440.5 440.4 440.3 440.1 439.6 439.0 439.9 440.3 440.1 439.8 439.5 439.2 438.9 438.6 438.5 438.7 438.7 438.9 438.8 438.2 437.5 437.4 437.2 437.1 437.0 437.0 436.8 437.1 437.4 437.8 438.2 438.5 438.8 439.2 439.9 440.5 441.3 441.5 441.7 441.8 442.0 442.7 443.3 443.8 444.5 445.1 444.5 444.1 443.5 442.9 441.8 440.5 439.3 438.2 437.2 436.5 436.1 435.8 435.4 434.4 433.2 432.3 431.8 431.6 431.3 431.4 431.5 431.8 432.4 433.3 433.9 435.8 437.5 438.6 439.6 440.5 441.5 442.4 443.4 444.6 446.1 447.4 448.4 448.6 448.1 447.2 446.1 445.0 444.0 442.4 440.8 438.0 435.5 433.2 430.7 429.5 428.2 427.5 427.8 428.5 429.7 430.9 432.2 433.4 434.9 437.2 440.0 442.7 445.1 447.6 450.3 451.3 452.4 452.9 451.7 450.0 447.9 445.4 443.1 440.8 438.0 435.4 433.1 430.9 428.5 427.2 426.3 426.1 427.5 429.5 431.7 433.6 436.0 439.0 442.6 445.4 447.6 449.6 450.8 451.7 451.1 450.2 449.6 448.5 445.8 442.8 439.4 435.3 431.7 427.8 423.8 422.0 420.5 418.9 417.8 419.9 422.6 425.7 430.0 434.9 440.3 445.4 450.3 454.2 458.4 462.7 466.4 468.7 469.7 468.9 467.2 465.6 463.4 459.1 451.8 443.8 443.4 442.8 442.4 441.9 441.5 441.0 440.7 440.5 440.5", + "f0_timestep": "0.005" + }, + { + "offset": 141.28, + "text": "SP 兵 荒 马 乱 的 青 春 年 华 扬 起 的 风 沙 倒 让 人 放 不 下 SP", + "ph_seq": "SP b ing h uang m a l uan d e q in ch un n ian h ua y ang q i d e f eng sh a d ao r ang r en f ang b u x ia SP", + "ph_dur": "0.2786 0.0464 0.1161 0.0813 0.1277 0.0813 0.1509 0.0464 0.1625 0.0348 0.3019 0.0929 0.1277 0.0813 0.3251 0.0697 0.1161 0.0813 0.2902 0.1161 0.1045 0.0929 0.1625 0.0348 0.1045 0.0929 0.1045 0.1045 0.3367 0.058 0.1161 0.0813 0.1509 0.058 0.2902 0.1045 0.3483 0.0464 0.2554 0.1509 0.3947 0.058", + "ph_num": "2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest D4 E4 F4 G4 A4 C5 C5 C5 C5 D5 C5 C5 C5 C5 A#4 A#4 A#4 A4 G4 A4 rest", + "note_dur": "0.32 0.2 0.2 0.2 0.2 0.4 0.2 0.4 0.2 0.4 0.2 0.2 0.2 0.2 0.4 0.2 0.2 0.4 0.4 0.4 0.4 0.05", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "440.0 440.0 440.0 440.0 390.0 388.0 386.0 384.1 382.2 380.2 378.3 376.4 374.5 372.6 370.7 368.9 367.0 365.2 363.3 361.5 359.7 357.9 356.1 354.3 352.5 350.7 348.9 347.2 345.4 343.7 341.9 340.2 338.5 336.8 335.1 333.4 331.7 330.1 328.4 326.7 325.1 323.5 321.8 320.2 293.7 293.2 292.6 292.3 291.9 291.3 290.9 290.5 290.0 289.5 289.1 288.7 288.1 287.8 287.4 286.8 286.4 285.9 285.5 285.1 284.6 284.6 287.1 289.6 292.0 293.0 293.7 294.4 294.8 294.5 294.0 293.4 292.9 292.3 291.9 291.3 291.1 291.7 292.6 294.2 295.9 297.3 297.6 296.6 292.9 287.8 275.8 265.2 255.9 247.7 240.5 238.4 237.4 238.3 240.8 246.7 254.5 264.8 275.7 287.9 300.4 312.8 322.6 327.2 329.0 330.0 330.5 330.8 331.2 331.8 332.1 332.1 332.1 332.1 331.8 331.3 330.7 330.2 329.6 329.3 329.2 329.1 329.0 328.8 328.5 327.2 325.3 323.8 322.6 322.0 322.8 324.2 325.2 325.6 325.8 326.2 326.8 328.0 330.0 333.3 338.9 344.4 347.6 349.0 350.0 350.6 351.0 350.9 350.4 349.8 349.4 348.9 348.4 348.0 347.4 346.8 346.8 346.7 346.5 346.4 346.6 346.7 346.9 347.1 348.0 349.0 350.2 351.9 353.7 355.7 357.8 357.4 357.3 356.6 354.6 351.9 350.7 353.4 357.4 364.3 372.4 380.0 385.5 389.5 392.2 394.5 396.1 397.3 397.9 398.2 397.9 396.7 395.4 394.3 393.0 391.5 390.1 388.9 388.1 387.0 386.2 385.5 386.0 386.8 387.5 388.4 389.4 390.1 391.1 391.9 391.8 391.5 390.6 387.0 379.5 366.6 355.6 355.9 366.7 388.7 415.1 431.3 439.1 443.0 445.8 448.5 450.4 451.7 451.5 450.7 449.8 447.8 444.5 441.2 437.7 434.2 430.5 428.5 426.5 424.0 421.8 422.8 424.2 425.8 427.6 429.7 431.9 434.3 436.8 439.7 442.5 445.4 447.4 447.9 447.9 447.9 447.5 445.2 442.7 439.8 437.0 435.4 433.9 432.7 431.3 429.7 430.9 431.8 432.9 434.0 433.7 432.4 425.9 415.4 403.3 390.6 383.4 383.4 390.3 405.2 423.1 430.9 433.7 435.2 436.6 436.5 435.3 434.8 435.4 436.5 436.0 435.8 437.8 440.5 443.6 447.7 452.7 458.2 465.2 477.5 491.9 506.0 517.2 525.2 530.1 533.3 532.9 531.9 530.2 528.0 525.1 524.0 522.9 522.2 522.7 523.6 524.7 525.7 526.6 527.3 528.1 525.5 520.7 511.5 499.7 481.5 463.0 447.1 434.2 420.6 407.5 403.4 399.2 397.5 400.8 406.5 419.0 431.0 444.0 463.2 485.1 499.3 513.7 525.1 532.4 538.3 537.8 537.0 535.6 533.7 531.8 529.6 527.7 526.0 524.0 521.7 519.5 517.4 515.5 513.4 513.1 513.1 513.4 513.4 513.6 515.5 517.7 519.8 521.7 524.0 525.7 527.5 529.0 530.6 531.9 531.8 531.4 530.8 529.5 527.6 525.7 525.3 524.9 524.2 522.7 520.5 519.0 519.0 519.2 519.6 519.9 521.8 523.6 525.1 526.8 528.7 530.3 531.7 531.9 531.8 531.8 531.2 530.1 529.1 527.8 526.6 525.4 523.5 520.5 516.6 512.5 508.9 507.6 506.8 505.9 504.8 504.3 504.3 505.6 511.1 518.4 524.5 525.7 525.9 526.2 526.6 527.0 527.3 527.5 527.7 527.5 526.8 526.4 525.9 525.4 525.1 524.6 523.3 520.4 516.0 511.9 507.5 503.2 499.0 492.8 485.4 467.4 449.8 429.8 407.8 393.8 384.1 385.4 391.3 398.8 407.0 424.4 441.9 461.6 484.6 498.8 511.1 521.1 525.1 527.3 529.9 530.3 530.6 530.7 531.1 530.2 529.5 528.7 528.0 527.3 526.6 525.8 524.8 524.3 524.2 524.2 524.2 524.0 523.7 523.1 522.6 522.0 521.6 521.1 520.6 520.8 521.2 521.6 521.9 522.3 522.6 523.0 523.4 523.7 523.9 524.2 524.5 524.9 525.2 525.6 526.0 525.6 525.2 524.9 524.5 524.2 523.8 523.4 523.1 522.9 522.6 522.6 522.6 522.5 522.3 522.3 521.5 520.5 519.9 518.7 514.6 509.7 505.9 504.4 503.8 505.7 508.4 512.8 519.3 527.7 537.3 547.4 554.8 562.1 571.0 580.6 584.8 588.9 592.0 594.4 596.9 597.8 598.3 597.6 594.8 591.1 587.0 585.5 584.1 582.6 581.3 583.1 585.2 586.8 588.9 590.7 592.0 593.1 592.9 589.4 584.3 564.9 549.1 540.3 540.1 543.3 545.9 546.6 543.1 537.9 531.8 521.5 511.9 502.2 491.0 479.8 472.7 483.2 495.6 508.5 516.6 523.9 526.4 528.3 529.3 529.6 528.8 527.8 527.1 526.4 524.8 523.2 521.6 520.2 519.0 519.3 520.0 520.5 521.2 522.3 523.9 525.3 526.5 527.8 529.1 530.6 524.1 507.5 491.8 475.8 459.2 448.9 450.8 462.3 480.0 501.1 520.6 527.0 529.6 528.6 526.3 526.0 525.9 526.0 527.0 528.4 528.8 529.2 529.7 530.2 530.6 529.8 529.1 526.6 515.5 491.6 470.8 473.9 486.6 501.0 505.4 507.0 509.1 512.6 516.8 516.6 516.1 516.8 518.0 519.1 520.2 521.4 522.9 525.8 530.0 533.9 537.3 536.9 535.9 534.8 533.6 532.2 530.2 528.4 526.1 523.9 523.9 524.2 524.2 524.2 524.5 523.7 519.9 514.6 502.8 479.3 455.1 439.2 435.4 438.9 444.3 447.2 449.5 450.7 451.7 452.4 455.3 458.4 460.9 462.6 464.0 465.7 467.1 468.3 469.1 469.4 471.3 478.7 486.1 493.2 496.5 498.0 497.1 495.9 494.2 491.9 489.1 486.5 484.1 481.7 479.0 478.0 477.3 476.4 475.5 474.6 475.9 477.9 481.6 485.9 490.8 495.7 500.1 504.4 508.9 513.7 518.1 522.0 524.0 525.6 527.2 529.0 530.1 530.1 529.5 528.1 526.6 525.1 523.7 522.8 522.0 521.3 520.8 520.8 521.1 521.4 521.8 522.3 523.2 524.2 525.1 526.0 525.9 525.4 524.8 524.5 523.8 523.4 520.4 509.8 496.2 472.5 454.0 442.4 434.1 437.0 454.7 476.5 495.4 509.8 516.6 511.4 503.0 494.6 486.4 478.7 470.9 464.8 462.2 461.2 461.9 463.9 465.7 466.2 466.0 466.2 466.8 467.5 468.1 468.7 468.6 468.5 468.1 468.1 468.1 468.1 467.8 467.8 467.6 467.3 467.0 466.4 465.9 465.5 465.0 463.7 462.1 461.3 461.8 462.7 462.7 462.6 462.3 462.1 462.3 465.1 468.5 471.3 472.1 471.3 469.9 468.9 469.0 469.3 469.2 468.9 468.5 468.2 467.9 468.2 468.6 468.7 468.1 467.6 467.1 466.4 465.8 465.1 464.5 463.9 463.2 462.5 461.9 461.5 461.3 461.6 461.6 461.7 461.9 461.7 461.3 461.0 460.5 459.3 457.7 456.0 454.1 451.1 448.4 445.5 442.3 439.4 436.9 435.4 434.0 432.7 431.4 430.2 429.1 428.3 429.2 430.4 431.7 434.2 437.3 440.5 444.3 448.2 451.6 455.3 459.2 463.2 466.5 468.5 470.2 471.9 471.2 470.5 469.9 469.3 468.6 467.9 467.3 466.7 466.0 465.4 464.9 465.4 465.9 466.6 467.2 469.5 471.1 471.4 471.3 471.3 471.0 469.9 466.9 462.0 451.1 437.7 420.1 404.6 392.8 383.5 386.9 391.0 395.8 401.2 406.8 412.9 418.0 421.5 425.0 428.5 432.1 436.5 440.4 444.5 450.0 455.3 459.9 464.1 468.8 473.5 480.1 485.5 486.3 483.9 480.7 477.8 475.2 473.1 470.7 467.2 463.9 460.7 458.2 456.0 453.7 450.9 449.1 448.3 448.0 447.7 447.4 447.0 446.8 446.7 447.4 448.4 449.3 450.2 451.1 452.1 451.1 449.9 448.9 447.9 446.7 445.3 442.5 439.7 436.6 433.4 426.7 420.1 414.3 408.5 402.1 398.3 394.7 392.0 390.9 390.6 390.4 390.1 390.2 391.8 394.0 396.3 398.4 400.5 402.8 405.1 407.0 406.6 405.9 404.9 403.9 402.0 397.1 391.9 384.8 370.9 355.5 341.8 332.8 323.9 314.4 316.0 327.7 341.7 361.8 384.4 393.1 399.1 398.5 396.5 395.9 396.1 396.7 397.4 396.8 395.9 395.5 395.0 394.4 394.3 393.8 393.3 391.9 390.8 390.2 390.0 389.7 389.4 389.3 389.6 390.2 390.5 391.0 391.5 392.1 392.7 393.1 393.1 393.1 393.1 393.1 393.4 393.4 393.4 393.4 393.4 393.0 392.6 392.3 391.5 388.4 384.5 381.1 376.7 367.5 356.8 347.2 341.4 337.9 337.1 337.5 342.4 346.8 351.1 355.7 360.3 365.0 369.2 372.8 376.5 380.4 384.5 387.9 390.6 393.3 396.1 399.3 402.6 405.8 409.5 413.9 417.9 421.2 425.0 429.7 434.7 439.7 444.5 448.3 451.9 455.5 456.1 456.3 456.0 455.6 454.7 453.4 450.7 448.1 445.2 442.3 438.9 436.2 433.4 430.5 428.7 426.9 426.0 426.4 427.5 428.5 431.9 434.9 437.8 441.3 444.9 448.4 452.0 454.5 455.8 456.6 457.3 457.6 456.3 453.9 449.8 445.0 440.4 436.4 432.3 428.5 424.8 422.1 420.6 419.8 421.1 422.6 424.3 426.0 428.6 431.7 434.8 437.5 440.3 443.3 444.9 446.1 447.0 447.0 446.5 446.1 444.1 442.2 440.5 438.4 436.5 437.0 437.5 438.0 438.4 439.0 439.6 440.1 441.1 442.0 440.3 440.0 439.9 439.7 439.6 439.5 439.2 439.0 439.0 439.0", + "f0_timestep": "0.005" + }, + { + "offset": 147.28, + "text": "SP 心 的 呼 喊 你 听 见 了 吗 SP", + "ph_seq": "SP x in d e h u h an n i t ing j ian l e m a SP", + "ph_dur": "0.1625 0.1625 0.3367 0.0697 0.2438 0.1509 0.6269 0.1741 0.3019 0.0929 0.2786 0.1277 0.685 0.1161 0.3135 0.0813 0.2438 0.1625 3.5991 0.0464", + "ph_num": "2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest C4 D4 A4 C5 C5 A4 C5 C5 D5 D5 D5 rest", + "note_dur": "0.32 0.4 0.4 0.8 0.4 0.4 0.8 0.4 0.4 0.8 1.2 1.6 0.05", + "note_slur": "0 0 0 0 0 0 0 0 0 0 1 1 0", + "f0_seq": "439.7 439.7 439.7 439.7 376.5 373.8 371.2 368.6 366.0 363.5 360.9 358.4 355.9 353.4 350.9 348.5 346.1 343.6 341.2 338.8 336.5 334.1 331.8 329.5 327.2 324.9 322.6 320.3 318.1 315.9 313.7 311.5 309.3 307.1 305.0 302.9 300.7 298.6 296.5 294.5 292.4 290.4 288.3 286.3 261.6 262.2 262.9 263.5 264.1 264.8 265.4 266.1 266.7 267.3 268.1 268.7 269.4 270.0 270.6 271.3 271.9 272.6 273.2 273.9 274.6 274.8 272.5 269.4 266.0 262.2 258.9 257.0 255.4 253.7 251.8 251.3 251.0 251.1 251.2 251.4 251.6 252.0 252.3 252.8 253.3 253.7 254.3 254.6 255.1 255.7 256.1 256.4 256.5 256.6 257.9 259.2 260.3 260.8 261.2 261.6 262.2 262.6 262.8 262.7 262.5 262.9 263.1 263.3 263.2 262.8 262.6 262.3 262.1 261.8 261.9 262.1 262.3 262.5 262.4 262.2 262.0 261.9 261.9 261.6 261.0 260.3 259.7 259.0 258.3 257.3 256.5 255.5 253.7 250.4 246.8 242.5 238.4 234.9 232.0 231.2 235.8 243.7 254.4 268.1 281.2 289.7 293.3 294.2 294.3 294.2 295.3 296.3 296.7 297.3 297.6 296.7 295.9 295.1 294.2 293.2 292.1 291.3 290.4 289.3 288.3 287.7 287.3 287.4 287.6 287.8 288.5 289.2 289.7 290.5 291.1 291.8 292.6 293.1 293.7 293.8 294.0 294.1 294.2 294.2 294.3 294.3 294.4 294.4 293.8 293.2 290.2 287.1 283.3 278.9 276.1 277.9 281.8 285.6 289.3 292.0 294.1 296.3 298.4 301.1 304.2 307.1 310.2 312.9 316.0 318.6 320.9 323.3 325.6 328.0 330.6 333.6 337.2 340.8 344.0 348.0 353.8 358.9 363.7 370.1 377.6 385.9 398.5 408.6 415.9 418.9 419.3 419.9 419.4 417.8 415.5 414.2 412.3 410.9 409.4 407.7 406.7 406.1 404.9 403.7 404.2 404.8 405.7 407.4 409.4 411.5 414.5 417.3 420.1 423.2 425.5 428.0 430.4 432.5 433.9 435.4 436.1 436.7 437.2 437.8 438.0 438.2 438.1 437.8 437.5 437.0 436.8 437.0 437.1 437.2 437.5 437.7 437.8 438.1 438.2 438.5 437.8 437.5 437.8 438.6 439.2 439.2 439.4 439.5 439.5 439.5 439.6 439.7 439.7 439.4 439.0 438.8 439.0 439.1 439.4 439.5 439.8 439.9 439.5 439.0 439.2 439.6 439.9 440.2 440.4 440.8 441.0 441.0 441.0 441.0 441.0 440.4 440.1 440.0 440.2 440.3 440.3 440.5 440.5 440.7 440.8 440.8 440.9 441.0 441.0 441.3 441.2 440.9 440.5 440.1 439.7 439.3 439.7 440.3 440.9 441.5 441.0 441.1 441.4 441.7 442.0 442.1 442.4 442.7 442.8 442.0 441.3 440.5 438.9 434.5 429.0 415.5 399.8 387.4 379.5 377.6 381.1 384.3 387.6 392.2 397.0 401.9 406.9 411.3 416.1 421.6 424.6 426.2 427.5 429.3 433.4 438.2 442.9 446.6 450.3 453.7 457.8 461.9 465.8 471.0 479.3 495.1 510.0 519.1 524.5 528.4 529.7 530.3 531.3 532.2 532.4 531.9 530.9 529.5 527.9 526.0 524.6 523.9 523.3 522.5 521.7 520.9 521.3 521.6 522.0 522.0 522.4 522.8 523.1 523.5 523.9 524.2 524.6 524.9 525.3 525.4 525.8 526.1 526.4 526.8 527.2 525.7 524.2 523.2 522.7 522.3 522.0 521.6 521.3 520.9 520.5 520.3 520.7 521.0 521.1 521.4 521.8 522.2 522.5 522.9 523.3 523.6 523.6 522.5 521.1 519.6 518.2 516.7 514.3 511.1 508.1 508.4 508.8 509.1 509.5 509.8 511.2 512.4 514.3 519.3 527.5 535.7 539.8 540.1 539.4 538.3 536.8 535.6 534.4 533.0 531.5 529.6 528.0 526.5 524.8 523.3 522.8 522.2 521.9 521.3 520.8 520.4 519.8 519.6 519.9 520.2 520.6 521.2 522.0 523.0 524.2 524.2 524.2 524.2 523.9 523.9 523.9 524.0 524.5 525.2 526.3 527.0 527.8 528.1 527.9 527.2 526.7 526.2 524.5 516.6 499.0 483.3 481.9 487.1 494.7 504.8 514.4 519.4 521.1 521.7 520.8 519.7 519.3 520.7 522.3 524.2 524.5 524.5 524.3 523.3 518.7 507.3 496.5 487.7 478.7 468.3 456.2 444.5 432.6 418.0 403.7 391.4 389.0 394.3 402.0 407.2 411.8 413.4 414.9 416.9 417.5 418.1 418.8 419.5 419.1 418.7 418.0 416.8 415.8 414.8 414.6 414.6 414.7 414.8 414.8 414.8 415.2 417.4 419.8 422.3 424.5 426.7 428.8 430.9 433.4 436.5 439.6 442.0 443.7 445.1 445.9 446.2 446.4 446.2 445.8 445.4 444.1 442.9 441.8 440.5 439.2 437.3 435.6 434.2 433.1 432.2 431.7 431.8 432.1 432.6 434.4 436.6 438.4 439.3 440.1 441.0 441.7 442.7 444.0 445.6 447.2 448.4 447.8 447.0 446.1 444.3 442.4 440.9 439.7 438.5 437.5 436.2 434.9 434.3 434.6 435.2 435.9 436.7 437.5 439.3 441.8 443.9 445.2 446.2 447.2 448.5 448.8 449.1 449.2 449.1 448.5 446.3 444.2 441.9 438.7 434.9 431.4 428.3 426.4 425.9 426.2 426.8 428.6 430.5 432.5 434.7 436.9 438.8 440.6 442.9 445.1 446.1 447.0 447.9 448.6 447.7 446.4 445.2 444.1 442.8 441.5 440.3 439.0 437.9 436.7 435.4 433.9 431.2 428.5 424.3 413.6 391.2 373.4 368.2 371.1 376.7 385.3 393.5 401.5 410.8 418.4 426.4 434.4 441.3 448.7 457.4 463.7 470.1 476.1 483.3 491.0 501.7 512.2 519.8 523.6 525.7 526.5 527.4 527.7 527.3 526.6 525.4 523.9 522.7 521.7 520.5 519.8 519.0 517.8 516.6 515.5 514.6 514.9 515.3 515.9 516.3 517.8 519.2 520.4 521.7 523.3 524.8 526.3 527.3 527.5 527.5 527.2 527.2 527.0 526.2 525.1 523.9 522.6 521.5 520.7 521.1 521.9 522.5 522.9 523.7 524.5 525.1 525.5 525.9 526.2 526.6 526.8 526.6 526.4 526.1 526.0 525.6 525.2 524.7 524.0 523.3 522.5 521.9 521.4 520.7 519.9 519.9 519.6 519.5 519.6 520.2 521.1 522.1 522.9 523.7 524.8 525.8 526.6 527.1 526.7 526.0 525.2 524.8 525.1 525.4 524.8 523.6 522.6 522.2 521.8 521.4 521.0 520.5 520.5 520.8 520.8 520.8 520.8 521.0 521.1 521.1 521.2 521.4 521.6 522.0 522.6 522.0 521.9 522.4 523.3 524.5 524.5 527.8 528.2 528.5 528.9 529.2 529.6 530.0 530.9 523.9 530.7 530.2 529.6 529.0 528.4 527.2 524.8 520.8 515.7 512.2 507.5 501.1 495.9 488.8 482.3 477.1 472.4 465.6 458.9 454.2 449.2 446.4 444.9 443.3 441.3 440.0 440.0 440.0 438.5 438.5 439.0 440.0 441.6 442.8 444.9 447.7 449.8 451.8 453.9 456.8 460.8 482.9 493.9 509.8 522.0 528.4 530.2 529.6 528.8 528.4 527.8 527.2 526.6 526.0 525.4 525.4 524.8 524.8 524.8 524.8 525.4 527.2 528.4 529.2 530.5 531.5 533.2 535.1 536.7 539.6 543.3 547.0 551.2 555.0 559.2 561.1 564.7 568.6 571.3 574.9 578.2 581.3 586.7 589.7 591.5 593.1 595.2 596.9 599.0 600.4 601.1 601.1 601.1 601.1 601.1 600.8 600.4 599.7 598.3 596.6 595.9 595.7 595.2 594.5 593.8 592.4 591.8 590.8 589.7 589.7 589.0 588.0 588.0 587.3 589.4 589.8 590.0 590.0 589.8 589.7 589.7 589.6 589.4 589.4 588.7 587.9 587.5 587.3 587.3 587.3 587.4 587.7 587.7 587.7 587.7 587.2 586.5 585.9 585.4 586.0 586.2 586.0 585.8 585.4 585.0 584.7 585.0 585.2 585.6 586.0 586.3 586.4 586.8 587.2 587.3 587.8 588.2 588.6 588.7 589.0 589.5 589.6 589.0 588.2 587.3 587.4 587.7 587.7 587.9 588.0 588.1 588.3 588.3 588.6 588.7 589.0 588.9 588.1 586.9 586.0 586.8 587.3 587.2 586.5 586.0 586.5 587.2 587.3 587.1 586.7 585.9 585.5 585.0 584.6 585.3 586.1 586.1 586.0 586.0 585.6 585.6 585.5 585.5 586.4 587.3 586.9 586.7 586.4 586.1 585.6 585.2 584.8 584.6 584.4 585.0 585.6 585.5 585.3 585.0 585.0 584.5 584.0 583.3 582.7 583.3 584.0 584.5 584.6 584.9 585.0 585.0 585.1 585.3 585.3 585.3 585.6 586.0 586.7 586.5 586.0 585.6 585.2 584.6 584.0 583.6 583.7 583.9 584.1 584.5 584.6 585.8 586.4 586.5 586.1 585.6 585.3 585.1 584.8 584.4 584.3 583.9 583.5 583.1 582.9 582.6 582.3 582.9 583.5 583.9 583.3 582.4 581.9 581.9 582.2 582.6 583.0 583.3 583.5 583.9 584.3 584.7 585.1 585.3 585.6 585.3 584.9 584.5 584.1 583.7 583.3 582.9 582.9 582.9 582.9 582.9 582.9 582.8 582.6 582.6 582.6 582.6 582.6 582.8 583.2 583.6 584.4 584.8 585.4 585.9 586.3 587.1 587.5 587.8 588.0 587.7 587.7 587.5 587.1 586.5 585.6 584.8 584.0 583.6 583.9 584.3 585.0 585.5 585.8 586.0 586.0 585.6 585.6 585.6 585.6 585.3 585.3 585.5 585.8 586.2 586.7 587.2 587.4 586.5 585.2 585.0 584.9 584.6 584.6 584.6 585.3 586.1 586.9 587.3 586.8 586.0 585.3 585.5 585.8 586.0 586.3 586.4 586.5 586.1 585.7 585.3 584.9 584.5 584.1 583.9 584.6 585.8 586.3 586.0 585.4 585.6 586.0 586.1 586.5 586.7 587.0 587.2 586.9 586.5 586.1 585.3 585.0 585.0 585.2 585.3 585.3 585.3 585.4 585.6 585.6 585.6 585.7 586.0 586.0 586.0 585.6 585.6 585.3 585.3 585.0 585.0 584.9 584.6 584.6 584.4 584.3 583.9 584.2 585.0 585.8 587.0 587.1 587.2 586.8 586.1 585.6 585.0 585.1 585.3 585.6 585.6 585.9 585.5 584.9 584.4 583.9 584.0 584.3 584.3 584.5 584.6 584.7 585.0 585.0 585.2 585.3 585.0 584.8 584.6 584.4 584.3 583.9 583.8 583.6 583.9 584.3 584.5 584.0 583.6 584.1 585.0 585.6 585.0 584.4 584.5 585.0 585.4 585.8 586.0 586.2 586.0 585.6 585.3 585.1 584.7 585.3 586.1 586.7 586.3 585.7 585.0 585.7 586.1 586.3 586.3 586.3 586.2 586.0 586.0 586.0 586.0 585.6 585.0 584.4 584.0 583.3 583.0 583.3 583.4 583.9 583.9 584.4 584.6 584.8 585.2 585.3 585.8 586.6 587.2 586.8 586.3 586.1 586.5 586.7 586.9 587.3 586.6 586.3 586.5 587.2 587.7 587.6 587.3 587.1 587.0 586.7 586.7 586.5 586.3 586.1 586.0 585.9 585.8 586.0 586.2 586.7 587.1 587.5 587.8 588.3 588.7 588.9 588.0 587.5 587.3 587.3 587.3 587.3 587.3 587.3 587.3 587.3 587.5 587.7 587.7 587.7 587.7 587.7 587.7 587.7 587.7 587.5 586.7 586.3 586.8 587.7 588.6 588.3 588.2 588.0 587.7 587.3 587.2 586.8 586.7 586.3 585.1 584.4 583.4 582.4 581.9 581.5 581.3 581.1 580.7 580.2 579.8 579.8 580.8 582.0 583.3 583.7 583.9 584.6 586.0 588.0 588.4 588.8 589.2 589.6 590.0 590.5 590.9 591.3 591.4 590.4 589.0 587.6 586.3 584.9 583.3 582.0 580.6 579.3 577.9 576.6 575.6 575.7 575.9 576.2 576.6 577.1 578.1 579.2 580.1 581.3 582.9 584.4 585.6 587.3 589.0 590.5 592.8 595.0 596.9 597.6 598.1 598.4 597.4 596.1 594.8 593.6 591.1 588.8 586.5 584.6 582.6 581.1 579.4 577.6 575.9 573.9 572.9 573.5 574.9 576.2 577.8 580.5 583.1 586.1 589.4 592.4 595.2 597.3 599.5 601.8 603.8 605.3 606.3 606.1 603.5 600.9 597.9 594.9 592.0 589.4 586.7 583.5 580.6 577.2 575.2 573.7 572.8 573.0 573.7 575.6 578.0 580.0 582.1 584.5 586.7 587.9 589.2 590.3 591.5 592.8 593.6 594.3 594.7 595.1 594.5 593.6 592.8 592.0 591.2 590.4 589.5 588.8 588.0 587.2 586.7 585.8 585.0 584.2 583.4 582.6 581.8 581.0 580.4 580.2 580.6 580.6 580.6 580.8 580.9 580.9 581.8 582.9 583.6 584.7 585.6 586.5 585.6 585.3 586.1 587.0 588.2 588.7 588.2 587.2 587.3 587.8 588.2 587.8 587.4 586.7 586.2 585.6 584.6 583.5 582.3 581.0 579.9 579.0 577.8 576.6 576.1 577.1 579.7 587.2 596.2 596.2 596.0 595.9 595.9 595.5 595.5 595.5 595.5 595.5", + "f0_timestep": "0.005" + }, + { + "offset": 155.28, + "text": "SP 当 命 中 的 雨 滴 在 SP 手 中 蒸 发 干 净 SP", + "ph_seq": "SP d ang m in zh ong d e y v d i z ai SP sh ou zh ong zh eng f a g an j ing SP", + "ph_dur": "0.2902 0.0348 0.2786 0.1277 0.3019 0.0929 0.1625 0.0348 0.4528 0.1509 0.3367 0.058 0.1045 0.1045 0.3947 0.0697 0.1277 0.3135 0.0929 0.1277 0.0697 0.4412 0.1625 0.3483 0.0464 0.6618 0.1393 0.8011 0.0464", + "ph_num": "2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1", + "note_seq": "rest D5 D5 C5 C5 A4 A4 G4 rest G4 F4 F4 E4 F4 G4 rest", + "note_dur": "0.32 0.4 0.4 0.2 0.6 0.4 0.2 0.4 0.2 0.4 0.2 0.6 0.4 0.8 0.8 0.05", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "588.7 588.7 588.7 588.2 582.9 582.7 582.5 582.3 582.1 581.9 581.7 581.5 581.3 581.0 580.8 580.6 580.4 580.2 580.0 579.8 579.6 579.4 579.2 579.0 578.7 578.5 578.3 578.1 577.9 577.7 577.5 577.3 577.1 576.9 576.7 576.4 576.2 576.0 575.8 575.6 575.4 575.2 575.0 574.8 587.3 583.5 579.7 576.4 573.3 569.6 565.9 562.6 559.4 555.7 552.1 548.6 545.3 542.2 539.0 535.5 532.0 528.8 525.8 522.6 519.3 519.9 538.9 557.4 571.6 579.2 585.1 587.1 588.3 589.8 591.4 591.3 590.6 589.0 587.1 585.0 584.0 583.0 582.3 581.2 580.2 579.3 579.7 579.9 580.2 580.6 581.2 582.5 583.6 583.7 583.3 584.5 585.8 586.9 588.1 589.7 591.0 591.9 592.3 592.7 592.8 593.0 591.9 590.6 587.8 584.3 584.2 583.9 584.3 585.4 586.0 586.5 587.3 588.1 589.1 590.0 591.3 592.4 593.3 594.3 595.5 594.2 592.6 590.9 588.0 584.3 581.7 579.1 576.9 574.2 570.0 566.2 563.9 562.1 560.5 559.5 559.1 558.7 558.7 560.1 564.1 568.6 572.4 573.1 571.2 568.0 564.9 562.6 560.5 557.8 555.3 552.9 550.5 548.4 547.0 545.5 544.1 543.3 542.6 542.1 543.0 543.7 544.5 545.2 545.9 546.7 550.3 553.6 556.8 560.2 563.7 567.5 571.8 575.8 579.5 581.3 582.5 583.9 586.0 588.8 591.4 594.1 595.4 596.5 597.7 599.0 597.8 596.8 595.7 594.7 593.5 591.8 590.2 588.9 587.6 588.0 588.3 587.9 587.5 587.1 586.3 585.6 583.1 578.3 566.5 551.8 534.6 521.0 514.1 512.7 513.4 511.2 508.8 507.4 507.8 508.9 506.7 505.4 506.2 507.5 508.9 514.8 520.7 525.4 527.8 529.3 529.4 529.5 529.2 528.6 528.4 526.8 525.1 523.7 522.3 520.8 521.5 522.0 522.6 523.4 524.2 524.8 525.1 525.2 525.4 525.7 524.5 523.6 522.3 519.4 515.7 511.4 500.6 485.8 467.3 446.9 446.6 455.8 470.5 489.1 502.5 514.4 522.2 527.6 531.4 534.6 537.7 540.3 541.4 541.5 541.1 540.7 540.3 539.6 537.6 535.2 532.8 530.4 528.4 525.9 523.3 520.5 518.7 517.4 516.0 514.9 513.9 515.0 516.3 518.1 520.8 523.6 526.4 529.1 532.3 536.1 539.3 541.0 542.2 543.3 542.6 541.9 540.3 537.5 534.3 530.9 527.4 524.3 521.3 518.4 516.0 513.4 511.3 510.5 510.9 511.6 512.3 513.3 514.9 517.1 519.0 521.3 523.9 526.7 529.9 533.3 534.2 534.1 533.8 533.2 532.7 532.3 531.9 531.0 528.7 526.0 523.0 520.8 519.5 518.4 517.2 516.4 516.9 517.4 518.0 518.7 519.5 520.4 521.7 523.3 523.9 524.2 524.8 525.2 525.6 526.0 526.4 526.7 527.0 527.4 527.2 526.8 526.3 525.6 524.5 522.9 520.2 517.5 514.7 511.4 508.1 503.2 498.0 493.0 487.2 480.4 474.0 468.1 463.3 458.0 452.4 448.7 445.2 442.7 440.1 437.7 436.5 435.8 435.6 436.1 437.2 438.5 440.1 441.7 443.3 444.1 444.7 445.4 446.1 446.2 445.9 445.6 445.2 445.0 444.7 444.3 444.0 443.4 442.7 441.7 441.0 440.1 439.9 440.5 441.1 440.8 439.9 439.4 439.2 439.0 439.0 439.0 439.2 439.4 439.7 439.7 440.1 440.3 440.4 440.7 441.0 441.1 441.4 441.5 441.3 441.3 441.0 440.8 440.6 440.5 440.3 440.2 439.9 439.7 439.4 439.0 437.3 428.8 415.7 399.3 383.7 376.1 375.4 377.0 382.1 389.3 397.6 410.4 423.8 439.2 452.6 454.7 451.1 447.2 443.8 442.8 442.4 441.9 441.7 441.3 441.0 441.4 441.9 442.0 441.8 441.5 441.0 440.7 439.5 434.9 429.2 410.5 392.7 379.9 373.6 372.8 372.6 372.4 372.0 371.8 371.5 368.5 365.3 362.4 359.3 357.0 354.4 352.8 353.5 355.1 356.6 364.1 372.0 378.4 382.5 386.2 390.3 391.9 393.4 395.2 397.5 398.6 399.1 398.7 398.2 397.5 396.6 394.8 392.9 390.8 389.7 388.6 387.6 386.7 385.9 384.8 385.4 386.0 386.6 387.2 387.7 388.7 390.6 392.8 394.8 396.3 398.0 399.3 400.7 402.1 401.6 401.0 400.5 400.0 399.1 397.0 394.4 392.1 390.0 387.5 385.0 382.6 380.5 379.1 377.8 376.5 377.0 377.5 378.0 378.7 381.1 383.8 386.6 389.1 391.5 393.6 395.5 396.7 396.8 395.9 394.0 391.8 389.3 386.1 382.2 376.9 371.7 367.8 366.8 367.0 367.0 366.5 366.0 365.5 365.0 364.5 364.0 363.5 363.0 362.5 362.0 361.1 360.2 359.4 358.6 357.8 356.8 356.1 355.3 354.5 353.5 352.7 351.9 351.1 350.2 349.4 348.6 347.8 347.0 346.2 345.4 344.5 343.7 343.0 342.2 341.3 340.5 339.8 339.0 338.1 337.3 338.1 345.8 353.0 358.1 362.6 362.9 363.3 363.5 363.6 362.4 361.0 359.4 357.5 355.4 353.1 351.4 352.0 352.9 354.1 355.1 356.4 357.9 360.2 362.9 365.7 370.0 373.9 377.7 381.9 386.4 389.2 392.0 394.1 395.1 395.6 396.4 396.7 396.1 395.0 393.8 392.9 391.8 390.9 390.0 388.8 389.1 389.2 389.4 389.5 389.7 390.4 391.1 391.6 392.3 392.9 393.2 391.6 389.9 386.7 377.1 361.1 349.7 349.4 355.7 364.5 365.1 366.5 370.4 378.9 388.6 391.1 392.0 389.4 383.6 376.7 368.9 361.7 354.4 345.8 336.9 339.5 345.1 349.7 352.0 353.5 353.5 353.6 353.5 353.3 353.3 352.0 350.7 349.8 348.8 347.6 348.1 348.6 349.0 349.7 350.2 349.3 348.4 347.5 346.8 345.8 339.6 332.6 322.5 309.7 297.4 290.4 284.6 281.9 279.8 277.5 278.5 280.7 286.0 294.1 306.1 319.5 331.4 338.2 343.5 346.0 347.7 348.1 348.2 348.4 348.6 348.7 348.2 347.8 347.3 346.8 346.3 345.9 345.4 344.9 344.4 345.2 345.8 346.4 347.1 347.8 348.5 349.1 349.7 350.5 351.3 351.7 351.5 351.1 350.7 350.2 349.9 349.6 349.2 348.9 348.4 348.5 348.6 348.7 348.8 349.2 349.7 350.0 350.4 350.8 351.3 351.7 352.1 352.3 352.0 351.5 350.9 350.5 350.0 349.5 349.0 347.8 346.7 345.6 344.6 343.4 343.7 343.9 344.1 344.4 344.6 344.8 344.9 345.3 345.7 346.2 346.7 347.2 347.6 348.4 349.2 350.0 350.6 350.5 350.3 350.0 349.6 348.6 347.4 346.1 344.8 341.1 336.7 331.4 325.3 319.0 304.7 292.1 282.1 276.2 272.4 275.6 278.8 281.6 284.6 287.8 289.9 292.0 293.7 295.9 297.9 300.5 303.1 305.4 307.5 309.7 311.8 313.4 314.8 316.3 317.7 318.9 320.8 323.7 327.2 331.3 331.9 332.5 333.0 332.9 332.5 332.3 332.0 331.5 330.9 330.2 329.3 328.7 328.3 328.3 328.5 328.7 329.0 329.2 329.1 328.9 328.8 328.6 328.6 329.0 329.4 329.4 329.2 329.1 329.1 328.9 329.0 329.4 329.7 329.8 329.8 329.8 329.8 329.8 329.8 330.2 330.5 330.8 331.2 331.5 331.3 331.3 331.2 331.0 330.8 330.2 329.4 327.8 323.0 311.8 295.7 281.0 275.8 278.4 284.8 292.6 298.0 303.0 307.6 311.5 315.1 317.2 319.3 321.4 323.6 326.2 329.0 331.5 334.0 337.2 342.4 348.2 353.2 355.3 356.5 356.2 355.3 355.0 354.5 353.8 353.1 352.3 351.4 350.7 349.8 348.8 348.2 348.0 347.9 347.7 347.2 346.8 346.4 346.1 346.3 346.6 346.9 347.5 348.2 349.2 350.4 351.3 351.1 351.0 351.4 351.9 352.4 352.1 351.8 351.5 351.0 350.7 350.3 350.1 349.7 349.4 349.1 349.7 350.1 350.1 349.8 349.5 350.1 350.4 350.3 349.8 349.6 349.3 348.9 348.5 348.2 347.8 347.4 347.1 346.7 346.4 346.1 346.6 347.0 347.5 348.0 350.0 351.8 352.8 353.7 354.9 355.9 356.9 357.6 357.8 357.2 356.2 355.1 354.0 352.7 351.3 349.2 347.2 345.4 343.3 341.3 340.8 340.3 339.8 339.5 339.7 341.2 342.6 344.0 345.5 347.2 348.7 350.2 351.6 352.5 353.5 354.5 354.9 354.6 353.8 352.9 352.1 351.4 350.8 350.6 350.6 350.6 350.3 349.8 349.6 350.0 350.6 351.4 351.8 351.3 351.3 352.1 352.1 352.1 352.1 352.1 352.7 352.7 352.7 352.1 348.2 345.2 342.4 338.7 335.2 330.8 327.4 323.2 320.4 324.5 327.4 332.3 337.3 340.1 342.4 343.8 343.8 343.8 344.6 345.2 345.2 345.6 346.4 346.9 349.8 353.1 359.6 370.9 380.8 389.4 395.4 397.4 399.1 400.1 400.8 401.2 400.9 400.6 399.5 398.0 396.6 394.0 391.9 389.6 387.3 385.9 384.6 383.5 382.6 382.5 382.6 382.7 383.3 384.7 386.7 388.8 391.0 393.0 394.9 396.8 398.2 399.3 400.4 401.0 400.8 400.5 399.9 399.3 398.8 398.3 397.0 395.3 394.0 392.8 391.4 389.7 388.4 387.7 387.2 386.7 386.2 385.6 385.3 385.5 386.0 386.6 387.2 387.9 388.9 390.1 392.0 393.8 395.5 397.1 399.0 400.2 401.0 401.5 401.8 401.9 401.2 400.3 399.5 398.6 397.1 395.4 393.7 392.0 390.4 388.4 386.4 384.4 382.6 381.6 380.8 380.8 381.3 382.4 383.6 385.5 387.5 389.7 391.9 394.3 397.0 399.8 401.2 402.6 403.7 404.9 404.6 404.1 403.3 402.2 400.6 399.1 396.8 394.4 392.0 389.4 386.6 383.8 381.5 380.1 378.5 377.1 376.1 376.9 377.9 378.7 379.7 381.9 384.0 386.2 389.3 392.7 396.1 399.5 402.2 403.9 405.1 406.2 405.9 405.4 404.4 402.1 399.4 396.1 393.2 390.4 387.0 383.9 381.0 378.6 377.1 376.0 375.4 376.6 379.3 382.5 386.2 390.2 395.8 399.8 398.3 385.9 386.4 387.5 387.9 388.4 388.5 388.8 389.6 389.7 389.7", + "f0_timestep": "0.005" + }, + { + "offset": 161.68, + "text": "SP 我 总 在 思 考 存 在 和 消 失 的 意 义 SP", + "ph_seq": "SP w o z ong z ai s i0 k ao c un z ai h e x iao sh ir d e y i y i SP", + "ph_dur": "0.2786 0.0464 0.2902 0.1161 0.3251 0.0697 0.1161 0.1045 0.4296 0.1509 0.2554 0.1393 0.1161 0.0929 0.4412 0.1509 0.267 0.1393 0.0929 0.1277 0.476 0.1045 0.2902 0.1045 0.6502 0.1509 0.8011 0.0464", + "ph_num": "2 2 2 2 2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest A4 A4 G4 G4 F4 G4 A4 A4 G4 G4 A4 A4 C5 rest", + "note_dur": "0.32 0.4 0.4 0.225 0.575 0.4 0.2 0.6 0.4 0.225 0.575 0.4 0.8 0.8 0.05", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "391.8 391.8 391.8 391.8 395.9 396.0 396.2 396.4 396.6 396.8 396.9 397.1 397.3 397.5 397.6 397.8 398.0 398.2 398.4 398.5 398.7 398.9 399.1 399.2 399.4 399.6 399.8 400.0 400.1 400.3 400.5 400.7 400.9 401.0 401.2 401.4 401.6 401.8 401.9 402.1 402.3 402.5 402.7 402.8 440.0 438.4 436.6 435.2 433.8 431.9 430.4 429.0 427.5 425.8 424.3 422.7 421.0 419.6 418.1 416.5 415.0 413.5 412.1 410.6 409.1 407.4 406.1 405.0 403.8 401.2 398.3 396.8 395.5 394.4 395.4 396.8 398.3 399.8 402.2 404.9 407.8 410.7 413.9 417.7 421.6 424.7 428.0 430.8 433.8 436.5 439.0 441.1 441.7 442.0 442.0 442.4 442.3 441.7 441.1 440.3 439.4 438.8 438.1 437.3 437.5 437.5 437.7 437.9 438.0 438.2 439.4 440.4 441.5 442.8 444.1 444.8 444.2 443.4 441.1 430.4 416.8 399.2 382.0 364.1 349.8 346.3 349.5 353.3 357.3 361.8 366.2 369.4 372.5 376.0 379.5 383.0 387.2 390.7 394.6 398.8 403.0 406.1 406.4 405.7 405.1 420.1 435.7 447.0 451.1 452.4 450.1 448.1 446.5 444.7 443.1 441.5 439.7 438.2 436.8 435.2 433.6 431.9 430.8 430.3 430.0 429.6 429.5 429.6 430.6 432.4 434.0 435.5 437.0 438.0 438.7 439.7 440.6 441.3 442.1 443.1 443.8 444.3 444.2 443.7 443.3 442.9 442.4 442.0 441.2 440.3 439.3 438.7 438.9 439.0 439.2 439.6 439.9 440.2 440.4 440.8 441.1 441.4 441.7 442.0 442.3 441.6 440.8 440.2 438.7 433.7 425.8 412.1 398.2 382.9 368.3 359.8 353.6 353.4 354.4 355.3 360.0 364.3 367.8 371.9 378.4 385.6 391.3 392.7 393.4 394.5 393.7 393.3 393.1 393.3 393.6 391.8 390.0 388.3 385.9 376.9 367.0 357.0 345.1 331.2 317.7 319.6 322.8 328.2 335.1 342.6 345.6 348.4 351.0 353.9 355.1 356.2 357.3 358.8 360.6 362.4 364.1 364.0 363.7 363.5 363.0 363.4 367.0 371.5 378.6 387.5 395.9 399.8 402.6 403.7 403.9 404.5 404.1 402.5 400.6 398.4 394.4 390.8 387.5 383.9 381.5 379.6 378.2 378.2 378.6 379.1 381.9 384.6 387.0 390.0 392.9 398.1 403.0 406.3 409.4 411.2 412.7 413.6 413.3 412.2 411.2 407.3 403.0 398.8 394.2 389.3 384.3 379.8 376.0 373.4 371.5 372.4 373.3 374.6 377.1 380.4 384.8 388.7 392.7 397.1 401.6 403.9 406.3 408.4 410.2 409.8 408.9 407.9 406.6 403.9 400.5 396.9 392.8 388.9 385.0 380.8 378.9 377.6 377.6 378.1 380.0 382.4 386.4 390.3 394.2 397.0 399.5 401.6 403.2 405.0 406.8 405.2 402.1 396.3 387.9 372.1 349.9 333.7 330.0 342.3 365.7 379.4 387.9 394.9 401.1 401.9 400.1 394.8 388.8 382.0 374.1 366.0 359.2 353.7 349.0 344.4 339.0 334.0 328.9 322.5 315.3 316.2 318.8 324.5 332.3 341.1 344.0 346.4 347.5 348.3 349.2 348.9 348.3 347.5 346.6 345.6 344.8 343.8 343.2 343.2 343.4 343.7 344.0 344.7 345.6 346.6 347.6 348.2 348.7 349.3 350.0 349.6 349.2 348.8 348.5 348.0 347.6 347.7 347.8 347.8 348.0 348.0 348.1 348.2 348.2 348.4 348.5 348.7 348.9 349.2 349.4 349.7 349.9 350.2 350.2 349.2 348.2 345.3 336.7 321.5 305.4 301.2 297.0 293.1 288.6 283.5 286.8 290.6 296.2 303.6 311.1 319.1 326.7 331.8 336.9 342.8 348.6 351.3 353.6 357.8 368.9 381.9 392.9 398.4 401.7 401.6 399.9 398.3 397.0 395.9 394.3 393.7 393.1 392.6 391.9 391.3 390.8 390.5 390.2 389.8 389.3 389.0 388.6 388.3 387.8 384.8 381.5 376.6 366.3 349.7 332.9 318.3 310.1 305.1 303.8 307.4 314.3 328.7 345.2 367.0 391.3 407.4 421.3 428.8 433.9 437.5 439.2 440.0 440.0 440.0 439.7 439.1 438.2 437.0 435.3 433.7 431.8 430.1 428.5 426.8 427.2 427.8 428.5 429.0 430.0 432.4 435.5 438.2 440.9 443.8 445.9 447.8 449.8 451.3 452.0 452.4 452.7 452.7 451.5 448.6 445.4 442.2 439.1 436.5 433.6 430.4 427.6 426.1 425.3 425.2 425.5 428.2 430.8 433.3 436.1 439.2 442.7 445.6 448.2 450.0 451.6 452.6 452.4 451.5 449.7 447.2 444.5 441.7 438.7 435.8 433.9 432.6 431.1 429.9 428.9 429.7 430.9 432.1 433.4 436.1 439.2 442.2 444.1 445.6 447.3 449.0 450.7 451.6 450.3 447.9 445.6 439.6 433.6 427.6 419.2 409.6 397.9 387.3 378.5 372.6 368.3 371.0 373.6 376.0 378.4 381.1 383.8 386.2 388.1 389.9 391.8 393.5 395.4 397.1 398.7 400.7 403.7 406.2 407.7 409.1 411.7 414.9 418.3 422.1 426.1 430.7 432.3 433.8 435.3 436.3 434.2 431.4 428.6 426.1 423.8 422.1 420.9 421.0 421.1 421.3 421.6 422.1 423.5 425.0 426.6 428.2 430.6 432.7 434.9 437.3 439.7 440.4 441.0 441.6 442.2 442.8 443.3 443.0 442.7 442.2 441.8 441.5 441.1 441.0 441.2 441.5 442.1 442.4 442.8 443.3 443.6 443.8 442.5 440.5 434.8 419.2 393.9 380.2 377.7 383.4 391.3 399.4 407.7 414.2 418.6 422.8 419.8 417.2 414.8 412.6 410.5 408.3 405.7 403.8 402.6 401.4 399.6 397.5 395.0 391.8 387.9 385.0 386.5 388.6 391.3 394.7 396.0 395.8 395.7 395.9 396.3 395.9 391.0 383.7 370.5 354.1 339.8 332.1 326.7 323.7 322.1 323.7 326.1 330.5 335.5 339.5 343.0 345.4 347.6 350.1 352.5 355.0 357.6 360.0 363.0 366.6 370.0 373.0 375.3 377.7 380.2 389.1 397.2 401.3 401.2 400.0 398.6 397.3 396.3 395.5 395.0 394.3 393.6 393.1 392.6 392.0 391.4 390.7 390.3 390.2 390.2 390.2 390.2 390.2 390.2 390.4 390.8 391.2 391.4 391.7 392.0 392.0 392.0 392.0 392.0 392.0 392.0 392.0 392.0 392.0 392.2 392.7 393.0 393.3 393.5 393.4 393.3 393.1 393.0 392.9 392.7 392.6 392.4 392.3 392.2 392.0 392.1 392.3 392.4 392.4 392.7 392.4 392.2 392.1 391.8 391.5 391.5 391.2 391.0 390.9 390.6 390.4 390.3 390.7 391.0 391.5 391.5 391.5 391.5 391.5 391.5 391.8 392.1 392.4 392.6 392.9 393.0 393.2 393.5 393.8 394.0 394.0 393.8 393.8 393.6 393.6 393.5 393.4 392.7 388.1 374.7 350.9 330.8 320.8 318.7 323.0 328.8 334.0 339.7 347.7 356.6 362.6 368.9 374.7 381.3 388.8 394.2 399.6 405.4 412.0 417.2 423.0 432.6 440.4 445.4 448.5 450.5 452.3 453.3 454.1 453.2 451.8 450.3 449.0 447.5 445.9 444.1 442.7 441.4 440.6 440.3 439.9 439.4 439.1 438.8 439.2 439.6 440.1 440.4 440.9 441.3 441.8 441.7 441.4 441.3 441.0 441.0 440.7 440.3 439.6 439.0 438.6 438.0 437.6 437.5 437.5 437.7 437.7 437.7 437.9 438.0 438.0 438.0 438.1 438.2 438.2 438.2 438.3 438.5 438.5 438.2 437.9 437.6 437.2 436.2 434.9 433.4 432.4 431.8 431.5 431.2 431.0 431.7 433.1 434.6 436.5 438.7 441.0 442.9 445.2 446.1 446.9 447.8 448.5 449.1 449.0 448.6 447.9 447.0 446.1 445.1 444.3 442.5 441.0 439.4 437.7 436.0 435.2 434.7 434.1 434.2 434.5 434.8 434.9 435.1 435.4 437.0 438.3 439.0 439.6 440.3 440.9 441.4 441.4 441.3 441.3 441.0 441.0 440.9 440.6 440.0 439.0 438.1 437.3 436.4 435.4 435.5 435.7 435.8 436.0 436.0 436.2 436.3 436.6 437.1 437.7 438.4 438.9 439.5 440.1 441.0 441.5 441.3 441.1 440.8 440.8 440.4 440.2 440.1 440.8 441.5 440.9 440.4 439.9 439.4 438.7 438.3 438.7 439.1 439.2 439.2 439.2 439.1 439.0 439.0 439.0 439.0 438.9 438.5 437.8 437.2 437.8 438.1 438.1 437.8 437.5 437.2 437.0 436.8 436.9 437.0 437.7 438.6 439.1 439.2 439.2 439.0 439.0 439.1 439.4 439.7 444.1 444.1 443.6 443.3 443.0 442.8 442.5 442.0 441.3 441.3 441.2 441.0 440.7 440.5 440.2 439.9 439.7 439.4 439.1 438.5 438.5 438.5 438.5 440.5 440.5 440.5 439.1 438.4 437.9 437.3 436.2 434.7 433.7 432.7 432.2 432.2 432.2 432.2 432.2 432.2 434.2 434.9 436.0 436.0 437.7 442.5 448.2 452.1 458.9 465.9 474.0 482.2 490.2 498.3 506.0 511.4 515.7 518.7 521.5 523.6 526.6 529.0 529.8 529.5 528.7 528.3 527.4 526.4 525.1 523.3 521.5 518.9 516.9 515.9 515.5 515.2 515.2 515.3 515.5 515.5 516.9 518.4 519.4 519.9 520.2 520.6 521.0 521.4 522.6 524.2 525.4 526.9 527.9 527.9 527.5 529.6 529.4 529.0 527.9 527.5 526.7 525.5 524.3 522.7 520.8 519.0 517.5 515.9 514.3 512.8 511.7 510.9 510.5 510.4 510.5 511.0 512.0 513.4 514.9 516.8 518.6 520.7 522.6 524.9 526.9 528.6 530.2 531.8 532.9 533.5 533.8 533.7 533.0 531.4 529.6 527.7 524.8 522.0 519.0 516.0 513.6 511.4 509.5 508.1 507.4 507.2 507.5 508.5 510.0 512.5 515.2 518.3 521.1 524.1 527.5 530.5 532.8 534.7 536.2 537.0 537.2 536.7 535.7 534.2 532.3 530.1 527.9 525.6 522.9 520.4 518.3 516.5 514.9 513.4 512.8 512.8 512.9 513.4 514.3 515.5 516.9 518.3 519.8 521.1 522.6 523.8 524.7 525.4 525.7 525.8 525.0 523.6 521.4 519.3 517.7 516.6 516.0 516.3 518.4 521.3 524.6 528.7 532.7 536.4 538.9 540.1 540.6 540.0 539.2 538.8 538.0 537.0 536.2 535.1 533.9 532.8 531.8 531.5 531.5", + "f0_timestep": "0.005" + }, + { + "offset": 168.08, + "text": "SP 错 愕 于 SP 一 个 习 惯 本 不 属 于 自 己 SP", + "ph_seq": "SP c uo e y v SP y i g e x i g uan b en b u sh u y v z i0 j i SP", + "ph_dur": "0.1741 0.1509 0.4063 0.1509 0.0464 0.3947 0.1277 0.0697 0.3135 0.0929 0.0813 0.1161 0.3367 0.0697 0.4992 0.0929 0.3367 0.0697 0.0813 0.1161 0.4644 0.1393 0.2786 0.1161 0.5689 0.2322 0.8011 0.0464", + "ph_num": "2 1 2 1 2 2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest F4 E4 F4 rest D4 E4 F4 G4 A4 G4 G4 F4 G4 A4 rest", + "note_dur": "0.32 0.4 0.2 0.4 0.2 0.4 0.2 0.4 0.6 0.4 0.2 0.6 0.4 0.8 0.8 0.05", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "524.2 524.2 524.2 523.9 459.7 457.1 454.5 451.9 449.4 446.8 444.2 441.7 439.2 436.7 434.2 431.7 429.3 426.8 424.4 422.0 419.6 417.2 414.8 412.4 410.1 407.7 405.4 403.1 400.8 398.5 396.3 394.0 391.8 389.5 387.3 385.1 382.9 380.7 378.5 376.4 374.2 372.1 370.0 351.0 343.8 337.7 331.6 326.4 322.0 316.6 312.7 309.7 305.1 301.6 297.7 294.2 291.0 287.1 283.0 280.6 279.3 278.6 278.3 279.3 280.9 289.1 299.5 303.8 310.1 314.6 316.6 319.5 322.3 323.4 324.2 324.9 324.9 325.3 325.3 324.9 324.9 324.5 324.2 324.2 324.2 324.9 325.3 327.0 328.5 330.0 332.5 334.4 335.8 337.7 340.7 343.0 345.6 348.0 350.2 352.3 353.9 354.7 355.3 355.7 356.2 356.2 355.7 354.6 353.9 353.1 352.5 351.9 351.0 350.6 350.1 349.2 349.2 349.1 348.8 348.8 348.8 349.6 349.6 349.6 349.6 349.2 348.8 348.0 347.2 347.0 346.7 346.5 345.8 344.4 342.2 340.3 338.1 336.1 333.9 332.3 330.6 329.1 328.6 328.3 327.9 328.4 329.2 329.6 329.2 328.7 328.4 328.4 328.5 328.6 328.9 329.2 329.5 330.0 330.5 331.0 331.2 331.6 331.7 331.7 331.7 331.7 331.7 331.7 331.6 331.3 330.6 330.0 329.6 329.0 328.1 327.1 326.1 325.5 325.0 324.9 325.2 325.9 327.7 331.4 336.0 340.4 343.9 346.8 349.6 352.5 355.1 357.0 358.6 359.9 360.9 361.6 360.8 359.9 358.7 357.6 356.3 354.1 351.8 349.1 346.6 343.9 341.7 340.5 339.2 337.9 337.9 337.9 338.0 338.7 339.7 342.1 344.6 346.7 348.9 351.5 353.5 355.3 356.8 358.0 359.0 358.5 357.7 357.1 356.5 354.9 352.1 349.3 346.8 344.0 341.8 339.8 337.7 336.4 336.0 336.0 336.3 338.0 340.0 342.0 344.2 347.2 350.0 352.5 354.5 356.6 357.3 358.1 358.7 359.0 357.6 355.5 353.0 349.6 345.7 341.3 337.3 334.5 331.7 328.0 324.2 324.2 324.2 324.3 324.3 324.3 324.2 324.0 324.0 323.8 323.4 323.2 322.8 322.1 320.9 319.1 316.7 313.6 310.1 305.3 300.5 295.7 291.3 287.9 285.2 282.8 281.4 280.3 279.8 279.4 279.3 279.1 279.2 279.4 279.4 279.6 279.8 280.1 280.4 280.7 280.9 280.9 280.1 280.6 281.6 282.7 283.0 283.0 282.4 281.3 280.2 279.2 278.3 277.6 276.7 275.9 275.0 274.2 273.8 274.0 274.8 275.6 276.4 277.3 278.7 280.6 282.4 284.1 285.9 288.2 290.6 292.9 295.0 296.2 297.2 298.3 299.1 299.0 298.7 298.4 297.2 295.8 294.5 293.4 292.2 290.8 289.7 289.1 288.5 288.0 288.1 288.5 289.5 290.6 291.7 293.0 294.1 294.7 295.1 295.6 296.0 296.6 296.5 295.1 292.9 286.1 274.8 265.4 260.0 259.6 264.5 270.5 276.9 282.3 287.2 292.3 298.2 303.9 310.1 317.8 326.4 334.1 335.9 334.8 333.1 332.7 332.5 332.5 332.5 332.1 331.7 331.7 331.3 331.0 330.6 329.7 328.9 328.1 327.4 327.0 326.2 325.8 324.9 324.9 324.2 323.8 323.8 323.8 323.8 324.9 327.7 329.6 332.5 335.0 337.9 340.9 344.4 347.9 351.0 353.0 354.5 356.2 358.4 360.3 361.9 361.8 361.2 360.5 359.7 358.6 357.4 356.5 355.4 354.5 353.5 352.3 351.5 350.9 350.4 349.8 349.2 349.0 348.8 348.7 348.5 348.2 348.5 348.7 348.9 349.2 349.0 348.8 348.5 348.3 348.4 348.6 348.9 349.1 349.2 349.1 348.6 348.3 348.6 349.1 349.4 349.8 350.3 350.6 351.0 351.4 351.9 352.2 351.9 351.4 350.8 348.4 345.6 341.6 334.4 324.1 309.0 295.4 293.3 300.3 313.4 329.4 330.1 330.4 331.1 331.5 331.0 330.3 330.0 329.8 330.0 330.4 330.6 331.7 335.1 340.2 345.4 353.7 360.3 362.7 363.5 364.3 366.6 368.4 369.8 371.2 371.7 371.6 371.0 370.1 369.1 368.3 367.3 366.8 366.1 365.3 364.7 363.9 363.7 364.7 366.1 367.7 369.2 370.6 372.2 375.0 378.2 381.4 384.6 387.5 390.5 393.1 395.5 396.7 397.7 398.8 400.0 399.7 399.4 399.2 398.7 397.7 396.8 395.7 394.7 393.6 392.7 391.7 391.2 391.0 390.7 390.4 390.1 389.8 390.2 390.6 391.1 391.6 392.0 392.4 392.6 392.9 393.2 393.4 392.8 391.9 392.0 392.5 392.8 393.2 393.5 393.8 393.3 392.9 392.7 392.8 393.1 393.5 393.9 394.2 394.6 395.0 395.3 395.7 396.0 396.4 396.8 397.1 397.2 397.1 396.8 396.6 396.5 396.2 395.9 395.3 394.7 394.1 393.4 393.1 392.4 392.4 393.1 393.1 393.1 392.0 389.7 388.2 384.0 381.5 376.7 372.8 369.6 369.6 370.4 375.2 381.5 392.2 405.1 414.6 422.8 429.2 434.7 437.7 437.7 438.7 439.7 439.7 439.7 439.7 439.7 440.3 441.5 441.5 441.5 441.5 441.5 441.5 440.4 440.1 439.6 438.9 437.7 436.5 434.9 433.3 431.0 429.1 426.7 424.4 421.8 419.3 416.9 414.5 411.9 409.7 407.2 405.2 403.2 401.4 399.9 398.6 397.5 396.7 396.0 395.7 395.6 395.6 396.2 396.7 397.5 398.4 399.3 400.3 401.3 402.0 402.7 403.2 403.3 403.0 400.6 396.8 391.4 385.0 378.0 370.9 364.0 357.6 352.3 348.0 345.5 344.4 345.3 348.0 353.2 359.2 367.1 374.5 382.5 388.7 394.0 396.7 397.2 396.5 395.8 395.2 395.2 394.6 393.7 395.9 395.9 396.3 396.3 396.3 396.3 395.9 395.9 395.3 394.7 394.3 392.4 391.5 390.6 389.6 388.7 387.8 386.4 385.9 385.9 385.9 385.9 387.5 388.4 389.7 391.1 392.4 394.0 395.9 397.7 399.8 401.2 399.8 402.2 402.6 402.6 402.7 402.8 402.5 400.9 399.5 398.0 396.3 394.8 394.0 393.1 391.7 390.2 388.7 387.8 387.5 387.8 388.4 389.0 389.5 390.0 390.5 391.1 391.4 391.7 391.9 392.2 392.4 393.0 393.2 393.5 393.8 394.0 393.5 392.8 392.3 392.2 392.2 392.2 392.2 392.2 392.2 392.2 391.9 391.4 391.2 390.9 391.1 391.4 391.5 391.7 391.9 392.2 392.5 392.8 392.9 392.9 392.4 391.9 391.9 392.0 392.2 392.2 392.4 392.1 391.7 391.4 391.5 392.1 392.3 392.6 392.5 392.0 391.7 391.4 391.2 390.9 390.6 391.1 391.4 391.8 392.3 392.7 392.7 392.6 392.4 392.4 392.4 392.2 392.2 392.2 392.1 392.0 392.0 391.9 391.8 391.6 391.8 392.1 392.2 392.1 391.7 391.1 390.0 388.8 387.9 386.5 384.8 380.7 376.6 372.2 366.7 360.7 355.0 350.4 347.1 344.2 341.3 340.0 339.1 339.0 339.2 339.7 340.4 341.2 342.4 343.7 345.2 346.7 346.9 347.1 347.5 347.8 348.1 348.3 348.7 349.0 349.2 348.5 347.9 347.8 348.0 348.0 348.1 348.2 348.2 348.4 348.4 348.5 348.6 348.7 349.0 349.4 349.9 350.2 350.7 351.0 351.3 351.3 351.3 351.3 352.1 352.1 352.1 352.1 352.1 352.1 352.1 349.8 345.2 339.5 331.5 315.3 301.1 289.1 287.3 291.0 294.7 300.5 309.5 321.7 335.2 340.1 343.8 344.9 345.2 346.0 347.4 348.2 349.0 350.4 352.1 355.1 358.3 367.7 380.2 390.9 396.6 399.7 401.2 401.9 402.4 402.6 402.0 401.5 401.0 399.7 398.2 396.5 395.1 393.6 391.9 390.2 389.6 388.8 388.3 387.8 388.2 388.5 388.9 389.4 390.4 391.5 392.7 393.8 394.5 394.9 395.2 396.3 397.1 398.0 398.9 398.6 398.1 397.7 397.2 396.7 395.4 394.2 393.0 392.0 390.9 389.7 388.9 388.2 387.7 387.2 387.3 387.6 388.0 388.5 389.2 389.7 390.5 391.1 391.7 392.3 392.9 393.7 394.1 394.3 394.1 394.0 394.0 393.8 393.7 393.2 392.7 392.1 392.3 392.7 393.1 393.4 392.4 391.7 391.5 391.5 391.5 391.3 391.3 391.3 391.3 391.3 391.3 391.1 391.1 391.1 391.1 391.1 391.0 390.9 390.9 390.9 390.5 390.1 390.0 390.5 391.1 391.0 390.8 390.6 390.6 390.4 391.3 392.1 392.7 392.9 392.9 392.7 392.8 393.2 393.9 394.5 394.2 393.9 393.7 393.4 393.1 392.9 392.8 391.7 387.1 381.3 365.0 346.2 333.1 329.7 338.5 348.4 353.7 357.1 357.4 356.6 355.5 354.9 355.3 356.0 356.8 357.8 358.3 358.2 358.0 358.6 360.0 361.5 362.9 364.2 365.5 366.9 368.2 370.1 373.2 378.4 384.3 390.9 397.9 404.9 409.6 410.5 411.2 411.5 411.5 411.2 411.1 411.8 412.5 412.9 413.2 413.3 413.6 413.7 413.9 413.9 414.0 413.5 413.1 412.6 412.9 413.2 413.4 413.0 412.1 411.5 411.5 411.6 411.7 411.7 411.7 412.0 412.2 412.9 414.1 415.3 416.8 419.6 422.3 425.3 428.5 431.6 434.5 437.6 441.3 444.9 446.8 448.6 450.0 451.1 452.1 452.8 452.4 451.8 450.8 448.5 445.9 443.2 440.8 438.5 436.0 433.6 432.0 431.2 431.3 432.2 433.1 433.7 434.4 435.4 438.2 441.2 443.3 445.2 447.3 449.5 450.7 451.8 452.7 452.7 452.4 452.0 451.8 451.5 450.1 448.2 446.4 443.7 441.2 438.5 435.7 432.9 430.7 429.6 428.6 428.0 429.2 430.4 431.7 433.3 435.2 437.5 439.9 442.3 445.0 447.9 450.4 452.2 453.5 454.5 453.9 453.2 452.3 451.2 449.0 446.7 444.1 441.4 438.7 435.8 432.7 430.8 429.5 429.3 429.6 430.4 431.4 432.6 433.7 435.3 437.2 439.4 441.1 442.9 445.0 446.9 448.9 449.8 450.3 450.9 451.6 450.5 449.5 448.6 447.6 446.4 445.4 444.5 443.5 442.5 441.5 440.3 439.4 438.6 437.5 436.5 436.5 436.5 436.3 436.2 436.2 436.2 436.1 436.0 436.0", + "f0_timestep": "0.005" + }, + { + "offset": 174.48, + "text": "SP 才 发 现 有 时 候 我 其 实 SP", + "ph_seq": "SP c ai f a x ian y ou sh ir h ou w o q i sh ir SP", + "ph_dur": "0.209 0.1161 0.3019 0.1045 0.0929 0.1045 0.3251 0.0697 0.0697 0.1277 0.267 0.1393 0.1393 0.058 0.2322 0.1741 0.3367 0.2554 1.997 0.209", + "ph_num": "2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest A#4 A4 A#4 F4 G4 F4 E4 F4 A4 A#4 G4 rest", + "note_dur": "0.32 0.4 0.2 0.4 0.2 0.4 0.2 0.4 0.6 1.25 0.325 0.425 0.2", + "note_slur": "0 0 0 0 0 0 0 0 0 0 1 1 0", + "f0_seq": "439.2 439.2 439.2 439.6 438.5 438.3 438.1 438.0 437.8 437.6 437.5 437.3 437.1 436.9 436.8 436.6 436.4 436.3 436.1 435.9 435.8 435.6 435.4 435.2 435.1 434.9 434.7 434.6 434.4 434.2 434.1 433.9 433.7 433.5 433.4 433.2 433.0 432.9 432.7 432.5 432.4 432.2 432.0 431.9 466.2 462.1 458.2 454.7 451.1 447.4 443.6 440.1 436.7 432.9 429.2 425.5 421.8 418.8 415.5 412.0 408.4 405.2 402.1 398.6 395.2 394.0 402.7 411.9 421.3 428.5 434.1 436.6 437.2 437.0 437.0 436.6 434.6 432.5 430.4 428.2 426.1 425.6 425.0 424.6 425.0 426.1 428.2 430.7 434.3 438.5 442.7 446.7 450.3 454.2 457.9 461.3 464.0 466.5 468.9 470.2 471.2 471.9 471.7 471.4 471.0 469.0 467.0 465.2 463.3 462.4 461.6 461.7 462.0 462.3 462.9 463.5 465.1 466.9 468.5 470.5 472.3 473.5 472.9 471.8 470.5 464.0 455.9 448.7 442.1 439.0 445.4 451.6 456.6 459.8 461.9 459.5 457.2 455.0 452.6 451.6 450.3 449.0 447.7 446.6 445.9 439.9 436.3 437.7 441.0 444.9 446.1 446.7 446.1 445.2 444.3 443.2 442.3 442.8 442.8 443.3 443.8 444.4 444.8 445.2 445.6 445.9 445.4 444.3 441.8 440.0 438.5 437.0 431.7 430.6 430.2 429.6 429.5 430.1 431.2 432.7 434.3 435.7 437.1 439.6 446.4 457.8 469.3 478.1 483.4 487.4 487.8 488.2 488.1 487.3 486.2 484.8 481.6 478.7 475.8 472.4 469.3 466.6 465.4 464.7 463.7 464.3 464.8 465.4 465.8 466.4 467.0 467.5 468.1 468.5 469.1 470.2 471.0 470.9 470.4 469.9 469.5 469.0 468.6 467.7 466.4 465.4 464.4 463.5 462.8 463.7 465.0 465.7 466.2 466.8 467.5 468.2 468.9 469.3 469.8 469.9 469.9 469.4 467.6 465.1 462.4 459.4 453.4 447.8 441.3 431.2 420.4 410.3 399.4 386.5 373.9 362.3 354.9 348.7 342.5 340.3 338.0 335.8 335.9 336.5 338.7 341.4 343.9 344.7 344.5 344.8 346.3 348.8 350.9 351.7 352.1 353.1 353.1 353.1 352.5 352.3 351.5 350.2 349.5 348.4 347.6 346.8 345.6 345.2 344.6 344.6 344.6 345.2 345.6 346.4 348.4 347.2 351.0 354.3 358.2 362.8 368.1 372.7 376.2 379.7 383.5 385.3 391.0 396.4 401.5 407.0 408.2 409.0 409.0 407.8 406.1 403.9 401.7 400.0 398.1 396.3 394.4 392.7 391.0 389.2 388.8 388.6 388.6 388.5 388.4 388.8 389.4 389.9 390.4 390.8 391.1 391.4 391.5 391.7 391.9 392.0 391.9 391.8 391.8 391.8 391.1 390.5 390.2 390.3 390.8 391.1 391.4 391.9 392.2 393.0 393.8 394.3 394.2 393.8 393.4 393.1 392.4 391.0 389.6 387.0 378.9 369.7 362.1 358.6 355.9 353.1 350.2 348.3 346.3 344.2 342.6 340.9 339.1 337.6 336.4 335.4 333.7 332.0 330.6 329.4 331.2 339.9 347.4 351.3 354.5 355.3 356.2 355.5 354.9 354.4 354.1 353.8 353.6 353.2 353.1 352.9 352.3 351.6 351.0 350.5 350.0 349.4 349.4 349.4 349.6 349.8 350.4 350.7 349.9 348.7 347.4 344.7 342.2 341.0 339.8 338.3 336.8 335.6 334.4 333.0 331.3 330.6 330.0 330.2 330.7 331.3 331.2 331.2 331.3 331.5 331.3 331.3 331.2 331.3 331.2 330.6 329.9 329.6 329.3 329.1 328.9 328.4 328.2 328.0 327.8 327.9 328.2 328.4 328.5 328.8 329.4 330.2 330.9 331.5 332.0 332.3 332.6 332.8 332.4 331.7 331.2 330.2 326.8 322.9 316.4 304.5 293.1 287.7 287.0 288.7 290.8 292.9 293.7 294.4 295.3 296.9 298.7 300.4 301.9 303.7 304.7 305.8 307.7 309.4 310.5 312.0 313.2 314.3 315.5 316.7 318.2 319.7 321.6 323.3 324.5 325.7 327.3 328.8 329.9 331.1 332.5 336.3 342.0 346.8 350.5 353.7 353.5 353.3 352.9 352.2 351.5 350.8 349.9 349.1 348.4 347.4 347.1 346.4 345.9 345.7 345.6 345.4 345.3 345.8 346.3 346.8 347.0 347.1 347.3 347.6 347.6 347.9 348.1 348.2 348.5 349.2 349.7 349.8 349.8 349.7 349.6 349.6 349.3 349.0 348.7 348.4 348.0 347.7 347.4 347.1 346.6 346.4 346.0 345.7 345.5 345.8 346.3 346.5 346.6 346.5 346.4 346.5 346.8 347.1 347.4 347.8 348.1 348.5 348.7 349.1 349.4 349.8 349.8 349.8 349.8 350.0 350.0 350.0 349.8 349.2 348.2 347.3 345.2 340.9 334.4 321.0 307.6 299.9 298.2 302.0 310.8 319.7 325.0 328.3 329.5 330.2 330.9 331.7 333.6 336.1 338.7 341.2 343.7 345.6 347.7 349.6 351.4 353.1 354.9 357.1 359.5 361.1 362.8 364.3 366.2 369.1 372.0 374.8 376.1 381.3 383.7 385.5 386.8 388.8 389.7 390.6 391.1 392.0 392.4 393.1 393.6 393.6 393.6 394.0 394.0 394.0 394.0 394.0 394.0 393.6 393.1 392.4 392.0 391.4 390.6 390.2 389.7 389.3 389.3 389.3 389.3 390.3 391.1 393.1 395.4 399.3 402.1 405.6 407.9 411.5 412.9 417.5 421.3 424.2 427.0 429.7 432.7 433.7 435.4 436.3 437.9 439.1 440.6 441.9 443.3 444.3 444.3 444.3 444.3 444.3 444.6 444.9 444.9 445.2 445.4 445.4 445.4 445.4 445.4 444.7 444.1 443.3 442.8 442.8 442.3 441.8 441.8 441.3 441.3 440.5 440.5 440.5 440.0 440.0 440.0 440.0 439.5 438.5 438.6 438.7 438.7 439.0 439.1 439.4 439.9 440.3 440.9 440.8 440.4 440.1 439.4 438.9 438.1 437.5 436.8 436.3 435.9 435.5 435.4 435.4 435.6 436.0 436.3 437.0 437.5 438.2 439.0 439.7 440.5 441.5 442.0 442.8 443.3 443.8 444.1 444.1 444.2 444.0 443.4 442.7 441.8 440.6 439.5 438.3 437.4 436.3 435.6 434.9 434.5 434.4 434.4 435.2 436.2 437.5 439.0 440.8 442.5 444.6 446.4 447.9 449.5 450.5 451.1 451.3 451.5 450.9 450.0 448.5 446.5 444.3 442.0 439.5 437.2 434.8 432.9 431.6 430.4 430.0 430.0 430.1 430.7 431.7 432.9 434.2 435.6 437.0 438.5 439.9 440.9 441.8 442.5 442.9 442.9 442.6 441.8 440.8 439.7 438.5 437.2 435.7 434.2 433.1 432.3 431.4 430.9 430.9 431.2 431.7 432.7 433.9 435.5 437.1 438.7 440.4 442.0 443.5 444.5 445.2 445.6 445.7 445.4 445.1 444.4 443.6 442.9 442.0 441.0 440.4 439.7 439.3 439.2 439.2 439.2 439.6 440.0 440.6 441.0 441.5 442.2 442.7 443.1 443.5 443.6 442.5 442.5 442.3 442.3 442.3 442.3 442.3 442.3 442.3 442.3 442.3 442.3 443.1 443.1 445.1 446.9 448.7 450.8 451.8 453.7 456.6 457.1 459.6 461.1 463.3 464.0 465.1 466.2 467.0 468.1 469.1 469.1 469.1 469.1 467.3 466.2 464.6 464.6 464.6 463.5 461.6 459.5 457.6 455.5 452.6 450.3 449.2 446.9 445.1 443.1 442.3 441.3 440.3 440.3 440.3 440.3 440.3 440.3 440.3 442.3 443.1 444.1 443.1 444.1 444.3 445.4 445.4 445.4 445.4 444.3 443.3 443.3 442.5 442.5 442.5 442.5 440.3 439.8 438.9 437.4 435.6 433.2 430.9 427.8 424.8 421.3 418.1 414.5 411.1 407.6 404.5 401.2 398.4 395.6 393.5 391.3 389.7 388.4 387.6 386.8 386.9 387.4 388.2 389.3 390.7 392.2 393.6 395.1 396.6 397.9 399.0 399.9 400.6 400.9 401.0 400.8 400.5 399.8 399.0 398.3 397.2 396.1 395.0 393.8 392.8 391.8 390.6 389.8 389.0 388.4 388.0 387.7 387.7 387.8 388.2 388.9 389.7 390.9 391.9 392.9 394.0 395.0 395.7 396.3 396.6 396.7 396.3 395.6 394.7 393.5 392.2 391.0 389.7 388.8 388.1 387.7 387.9 388.6 390.0 391.4 392.3 392.4 391.5 390.1 387.9 385.8 384.4 383.6 383.7 384.6 385.5 387.5 387.6 387.9 388.4 389.7 389.7 389.7 389.7 389.7 389.7 389.7 389.7 389.7 389.7 389.7 389.7 389.7 389.7 389.7 389.7 389.7 389.7 389.7 389.7 389.7 389.7 389.7 389.7 389.7 389.7 389.7 389.7 389.7 389.7 389.7 389.7", + "f0_timestep": "0.005" + }, + { + "offset": 179.68, + "text": "SP 是 你 SP", + "ph_seq": "SP sh ir n i SP", + "ph_dur": "0.0929 0.2322 0.5108 0.2902 1.9969 0.1974", + "ph_num": "2 2 1 1", + "note_seq": "rest C4 D5 D5 rest", + "note_dur": "0.32 0.8 1.2 0.8 0.2", + "note_slur": "0 0 0 1 0", + "f0_seq": "395.4 395.4 395.4 395.9 395.9 395.4 395.4 395.0 394.5 394.0 393.9 393.6 393.3 392.7 392.2 391.6 391.1 391.0 390.4 389.7 389.3 388.4 387.9 386.8 386.7 385.9 385.5 385.0 384.2 382.8 381.3 379.1 377.3 375.4 372.8 371.1 366.6 366.6 362.4 358.8 355.5 352.4 349.5 346.0 341.6 337.0 332.6 328.7 324.1 319.5 316.3 313.5 310.4 306.8 302.8 300.7 298.0 294.9 291.0 288.3 284.3 280.0 276.1 271.2 265.7 260.5 257.1 255.1 254.4 254.9 254.3 254.8 256.1 258.0 258.2 258.2 258.8 259.1 258.7 258.2 257.5 256.7 255.8 254.7 253.6 252.5 251.7 251.6 251.9 253.0 254.3 255.6 257.1 258.8 260.6 262.4 264.2 265.8 267.5 269.4 271.0 271.4 271.5 271.6 271.8 270.3 268.9 267.6 266.1 263.7 261.1 258.7 256.5 254.0 251.4 249.3 248.2 247.4 246.8 247.2 248.1 249.0 250.6 252.6 254.8 256.7 258.3 259.5 260.6 261.6 262.8 263.7 264.7 265.7 266.8 266.6 266.3 266.0 265.7 264.7 263.5 262.3 261.3 260.2 259.1 258.5 257.9 257.5 256.9 256.4 256.9 257.3 257.8 258.2 258.2 258.1 258.5 258.8 259.1 259.5 260.0 260.2 260.3 260.6 260.9 261.1 261.2 261.4 261.6 261.6 261.8 261.8 261.9 261.4 261.0 261.0 260.9 260.9 260.9 260.9 260.7 260.8 261.3 262.0 262.7 262.5 262.5 262.4 262.3 262.1 262.0 262.0 262.2 262.5 262.8 263.2 263.5 264.2 264.9 264.8 264.6 264.0 262.6 260.6 259.2 258.4 257.9 257.4 257.0 256.7 256.4 256.4 256.4 256.4 256.5 258.2 259.8 262.2 264.5 268.4 273.4 277.7 285.6 288.0 291.8 298.7 307.1 312.9 321.9 329.1 337.9 348.1 365.4 413.6 453.8 468.7 479.8 488.1 496.2 503.4 511.9 518.4 524.9 532.9 539.7 548.0 549.7 551.0 552.4 553.1 553.1 553.1 552.4 551.4 550.5 549.9 549.3 548.3 547.7 547.0 546.2 545.5 544.8 544.0 543.3 542.6 542.0 541.4 540.8 540.8 540.8 540.8 542.5 543.9 545.2 546.6 549.1 551.6 553.9 556.6 559.9 563.1 566.2 570.4 574.6 578.8 583.3 584.6 583.8 583.3 583.3 583.3 583.3 583.3 583.3 583.2 582.9 582.9 582.9 582.9 582.9 582.9 583.3 584.4 585.3 586.1 586.7 586.7 586.9 587.0 587.5 588.4 589.5 589.8 589.4 588.9 588.5 588.1 587.8 587.3 587.4 587.9 588.2 587.8 587.3 586.9 586.5 586.5 587.2 587.7 587.9 587.7 587.5 587.1 587.0 586.7 586.5 586.3 586.1 585.6 585.7 586.1 586.5 586.7 587.0 587.4 587.7 587.9 588.3 588.7 588.8 589.2 588.9 587.6 586.3 586.1 587.0 587.9 588.1 587.7 587.2 586.9 586.5 585.8 585.3 584.9 584.5 584.5 584.6 585.0 585.3 585.4 585.8 586.0 586.3 586.4 586.3 585.4 585.2 585.3 585.6 585.8 586.1 586.3 586.7 587.0 587.2 587.1 586.5 586.0 585.2 585.2 586.0 586.6 586.7 586.2 586.0 586.2 586.3 586.7 586.7 586.8 587.0 587.0 587.3 586.8 586.0 585.2 585.2 585.3 585.7 586.1 586.5 586.9 586.7 586.1 585.5 585.5 585.9 586.0 586.2 586.0 585.8 585.6 585.3 585.0 585.1 585.3 585.6 586.0 586.1 586.3 586.5 586.4 586.0 585.6 585.6 586.6 586.7 586.3 585.6 585.2 585.1 585.6 586.0 586.1 586.3 586.1 586.0 586.0 585.6 585.6 585.5 585.3 585.6 586.1 586.8 586.6 585.8 584.6 584.4 584.8 585.1 585.6 586.0 586.4 586.8 587.0 586.7 586.7 586.3 586.2 586.0 586.2 587.0 587.8 588.7 589.4 589.7 589.4 589.3 589.0 589.0 588.8 588.7 588.3 588.3 588.1 588.0 587.7 587.8 587.3 586.1 584.6 582.6 580.2 577.9 575.6 573.7 571.9 570.9 570.6 570.6 571.1 571.9 573.4 575.2 577.2 579.6 582.1 584.6 587.3 590.0 592.6 594.8 596.9 598.6 600.0 601.1 601.4 601.5 600.5 599.1 596.5 593.6 589.8 586.4 582.3 578.8 575.1 572.3 569.6 568.0 567.0 567.0 567.3 568.8 570.6 573.1 575.9 579.1 582.3 585.6 589.0 591.8 594.2 596.0 597.3 597.8 597.5 597.0 595.6 594.2 592.1 590.2 587.6 585.2 582.9 580.7 578.6 576.9 575.4 574.7 574.2 574.2 575.1 576.6 578.2 580.2 582.1 583.6 584.8 583.3 583.0 582.6 581.8 580.8 579.6 578.5 576.6 574.6 572.9 571.3 570.1 569.0 568.1 568.5 569.0 569.8 571.3 572.9 574.4 575.9 577.6 579.2 580.6 582.1 583.0 583.5 584.3 583.5 583.0 581.9 579.5 576.2 573.3 570.3 567.6 565.0 563.4 562.2 561.1 560.3 560.6 561.5 562.8 566.5 570.5 574.9 581.6 589.2 596.7 605.4 615.6 623.7 621.8 619.7 618.2 616.3 614.4 612.5 610.6 609.8 609.8 609.8 609.8 609.8 609.8 609.8 609.8 609.8 609.8 609.8 609.8 609.8 609.8 609.8 609.8 609.8 609.8 609.8 609.8 609.8 609.8 609.8 609.8 609.8 609.8 609.8 609.8 609.8 609.8 609.8 609.8", + "f0_timestep": "0.005" + }, + { + "offset": 185.8, + "text": "AP 想 说 再 见 啊 SP 是 再 见 啊 SP 把 你 和 我 留 下 SP", + "ph_seq": "AP x iang sh uo z ai j ian a SP sh ir z ai j ian a SP b a n i h e w o l iu x ia SP", + "ph_dur": "0.4644 0.1393 0.2902 0.1161 0.2902 0.1045 0.3135 0.0929 0.1974 0.3947 0.058 0.1393 0.2554 0.1509 0.3019 0.0929 0.209 0.3947 0.1277 0.0697 0.3135 0.0929 0.2438 0.1509 0.1393 0.0697 0.3251 0.0697 0.3831 0.2206 0.4412 0.058", + "ph_num": "2 2 2 2 1 1 2 2 2 1 1 2 2 2 2 2 2 1 1", + "note_seq": "rest F4 G4 A4 C5 C5 rest C4 G4 A4 A4 rest C4 E4 F4 F4 C4 A3 rest", + "note_dur": "0.6 0.4 0.4 0.4 0.2 0.4 0.2 0.4 0.4 0.2 0.4 0.2 0.4 0.4 0.212 0.388 0.6 0.45 0.05", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.4 349.2 348.2 347.2 346.3 345.4 344.4 343.4 342.5 341.6 340.7 339.7 338.9 337.9 337.1 336.2 335.2 329.8 309.3 299.6 300.7 301.6 302.7 304.2 308.1 314.0 320.6 327.4 333.7 338.4 341.5 344.0 344.5 343.1 342.5 341.8 341.1 340.7 340.7 341.1 341.4 341.6 341.4 341.4 341.4 341.6 342.0 342.3 342.7 343.3 344.1 344.8 345.7 347.3 348.7 350.3 351.9 352.7 353.5 354.2 355.0 355.1 355.1 355.1 355.0 354.3 353.5 352.7 351.8 351.1 350.2 349.4 348.6 347.7 347.1 344.0 338.5 331.2 321.2 309.5 299.9 298.3 301.9 305.5 308.8 312.5 316.2 320.1 324.3 329.2 335.0 340.9 346.9 353.5 359.1 364.4 368.5 370.6 372.7 375.3 378.3 380.0 382.2 389.2 394.8 397.2 398.4 398.7 398.8 398.7 398.6 398.2 397.5 396.7 395.8 394.4 393.1 392.8 392.6 392.2 391.8 391.3 391.0 390.5 390.1 389.8 390.0 390.2 390.5 390.8 391.0 391.3 391.6 391.9 392.1 392.4 392.7 393.0 393.0 392.7 392.1 391.5 391.8 392.0 392.1 392.4 392.7 392.7 393.0 393.2 393.5 393.6 393.9 394.0 394.6 395.0 395.0 395.0 395.0 395.0 395.0 395.0 395.0 394.5 394.0 393.6 392.4 391.7 391.0 390.6 390.1 389.9 389.6 389.3 389.3 389.3 389.1 388.8 390.2 390.6 390.9 391.1 391.1 391.5 391.5 393.3 394.2 395.2 395.9 397.0 398.5 399.8 401.4 403.2 404.9 407.2 411.5 413.9 417.5 419.9 423.5 427.7 432.2 435.2 437.2 438.2 439.0 439.5 439.5 440.0 440.0 440.0 440.0 440.0 439.5 439.5 439.2 439.0 438.5 438.5 438.5 438.5 438.5 439.0 440.3 440.6 441.5 442.2 442.8 443.2 443.1 442.8 442.5 441.9 440.9 439.7 438.5 436.3 430.5 423.2 410.2 395.6 390.8 393.1 398.5 405.1 410.8 416.4 423.6 430.6 437.7 444.6 451.6 458.3 464.3 470.1 476.8 481.8 487.3 493.5 501.4 509.8 519.1 527.5 531.7 532.9 532.7 531.7 531.4 530.9 530.6 530.2 529.5 528.6 527.7 527.3 526.9 526.9 526.8 526.4 525.8 525.1 523.9 522.8 521.6 519.8 519.3 518.9 518.3 517.8 517.2 516.5 516.0 515.4 514.8 514.4 513.9 513.7 513.7 513.7 513.7 513.7 513.8 514.1 514.4 514.6 514.9 515.2 515.4 515.6 516.0 516.4 516.6 516.8 517.0 517.2 517.4 517.7 518.1 518.5 518.8 519.1 519.4 520.0 520.5 520.9 521.5 521.8 522.1 522.3 522.4 522.6 522.6 522.6 522.6 523.3 522.6 522.0 521.1 520.2 519.0 518.2 517.8 517.2 517.2 515.7 515.7 515.7 515.7 516.0 517.5 520.2 524.0 525.7 528.1 527.8 530.9 533.6 535.9 537.7 539.2 541.1 542.3 542.0 541.5 540.9 540.5 537.7 535.1 532.6 529.9 527.2 524.5 521.6 519.5 518.1 516.6 515.4 515.0 515.0 515.6 516.3 517.1 517.8 518.7 520.6 522.9 525.2 527.1 528.1 529.1 529.9 530.7 531.3 531.3 529.6 527.2 524.7 521.6 518.1 516.0 513.2 509.2 504.0 497.6 492.2 484.0 472.7 454.7 431.9 406.1 383.3 363.2 351.9 333.5 310.1 275.1 228.8 222.0 219.6 220.8 223.8 229.2 237.7 243.1 249.7 254.6 258.3 259.8 260.6 260.4 260.1 259.6 259.1 258.7 258.2 257.7 257.9 257.9 258.1 258.2 258.3 258.2 258.1 257.9 257.8 257.7 257.5 257.5 257.7 257.8 258.2 258.4 258.5 258.6 258.5 258.5 259.1 259.7 260.2 260.9 261.3 261.9 262.4 262.7 263.0 263.1 263.3 263.4 263.4 263.3 263.0 262.6 262.2 262.0 262.2 261.6 261.6 261.6 261.6 261.6 261.6 261.5 261.0 261.0 261.0 260.4 260.4 260.0 260.0 260.0 260.0 260.0 261.0 262.7 264.4 268.4 271.3 275.4 279.6 286.8 295.5 306.5 320.6 341.6 344.2 346.4 347.0 347.6 347.0 346.2 346.0 345.6 344.4 343.8 343.3 342.8 342.6 342.6 342.6 344.7 346.8 349.1 351.9 353.9 357.0 360.4 365.0 370.0 375.6 379.5 382.8 384.8 386.6 388.2 389.7 392.4 393.1 393.4 393.6 394.0 394.0 394.0 394.0 394.0 394.0 393.8 393.4 392.4 392.4 393.8 393.4 393.1 392.4 391.3 390.0 388.6 386.5 381.5 375.2 364.4 352.5 348.5 350.4 354.8 360.0 364.3 368.9 374.1 379.3 384.3 388.8 394.0 399.0 402.5 406.3 410.8 414.1 417.6 421.3 426.4 432.9 440.2 446.4 449.1 449.2 448.2 446.6 446.2 445.6 445.2 444.9 444.0 443.2 442.7 442.4 442.3 442.3 442.2 442.0 441.7 440.8 439.8 438.9 437.9 436.5 434.7 433.4 435.1 434.5 433.8 433.4 433.0 432.6 432.1 431.8 431.3 430.9 430.9 430.9 430.9 430.9 430.9 430.9 430.9 431.1 431.2 431.3 431.5 431.6 431.8 431.9 432.1 432.2 432.3 432.5 432.6 432.8 432.9 433.1 433.2 433.3 433.5 433.6 433.8 434.0 434.2 434.4 434.6 434.8 435.0 435.2 435.5 435.8 436.1 436.5 436.7 436.9 437.0 437.2 437.3 437.4 437.5 437.8 438.0 438.0 437.8 438.0 438.2 438.5 438.7 438.7 439.1 439.7 440.5 443.3 445.6 447.8 449.7 451.7 453.8 455.0 456.0 456.6 456.3 455.8 455.3 452.9 450.6 448.6 446.1 443.8 441.5 439.1 437.2 435.1 433.7 432.6 432.1 431.8 431.7 432.4 433.1 434.1 435.2 436.8 439.0 441.1 442.8 444.1 445.2 446.4 447.1 446.8 446.2 445.1 444.1 442.3 438.5 433.9 422.8 404.2 385.7 371.2 357.5 343.6 331.3 316.2 302.3 290.1 278.0 269.3 261.3 252.0 244.5 237.8 233.4 228.7 228.5 228.4 228.0 228.2 231.9 238.0 244.7 251.4 255.4 258.7 260.9 261.5 260.4 260.0 260.1 260.2 260.3 260.4 260.6 260.6 260.7 260.8 260.9 261.0 261.2 261.2 261.3 261.3 261.3 261.2 261.1 260.6 260.1 259.8 259.6 259.4 259.3 259.1 259.1 258.9 258.9 258.9 259.5 260.4 261.1 261.6 262.0 262.3 262.7 263.1 263.4 263.7 263.6 263.4 263.4 263.4 263.6 264.0 263.7 263.4 263.0 262.7 262.2 261.6 261.1 260.1 258.6 256.8 253.3 250.0 248.8 248.3 248.9 250.1 252.5 255.4 258.1 260.9 264.5 268.1 272.0 276.7 283.5 291.1 296.6 301.0 304.0 306.5 308.4 309.4 308.7 307.5 305.1 301.9 298.6 295.6 293.8 292.1 290.3 291.8 293.3 294.9 298.3 302.4 306.4 310.6 314.3 318.1 322.5 325.6 328.4 330.5 332.8 335.0 334.8 334.3 333.6 332.5 331.3 330.3 329.2 327.9 326.5 325.1 324.0 324.2 324.5 324.8 325.1 325.5 325.9 326.4 327.0 327.7 328.4 329.1 329.1 327.9 326.0 317.8 309.3 298.9 287.0 279.6 280.0 281.3 284.2 287.6 290.1 292.2 294.2 296.0 298.2 300.5 302.8 304.8 306.5 307.7 308.8 310.5 312.7 315.1 319.2 330.4 342.9 350.4 353.4 355.5 357.4 358.6 358.5 358.0 357.2 356.4 355.3 354.3 353.2 351.8 350.4 349.3 348.7 348.1 347.5 347.0 346.5 346.8 347.3 347.7 348.2 348.5 348.8 348.5 347.9 347.4 347.9 348.2 348.5 348.9 349.2 349.7 350.1 350.8 351.9 352.9 352.1 351.5 351.8 352.4 352.9 352.9 352.9 352.9 352.9 352.9 352.8 352.4 352.0 351.6 351.0 350.5 350.1 349.7 349.5 349.4 349.2 349.1 348.9 348.8 348.6 348.6 348.4 348.5 348.8 349.0 349.3 349.4 349.6 349.6 349.6 349.6 349.6 349.6 349.6 349.6 349.6 349.6 349.6 349.6 349.6 349.8 349.8 349.8 349.8 350.0 350.0 349.7 349.5 349.6 347.2 342.8 337.1 329.2 323.6 315.4 306.1 298.5 290.8 284.6 276.9 271.6 265.5 260.1 256.4 252.0 248.2 245.1 242.4 240.3 239.4 238.4 237.8 235.8 233.0 232.8 233.0 233.4 233.3 233.3 233.1 233.3 234.1 235.4 237.3 239.5 239.7 239.9 240.3 240.9 241.4 241.1 240.7 240.7 240.5 240.3 240.2 240.0 239.9 239.8 239.6 239.6 239.9 240.2 240.5 240.9 241.2 241.9 243.0 244.4 246.5 248.9 251.1 253.2 255.6 257.4 259.3 261.1 262.5 263.6 264.5 265.5 266.1 266.0 265.8 265.4 264.3 263.1 262.0 260.9 259.8 259.4 258.9 258.5 258.1 258.3 258.5 258.8 259.0 259.3 259.5 260.2 260.8 261.4 262.1 262.7 263.4 264.0 264.1 264.2 264.4 264.4 264.5 264.6 264.7 264.8 260.8 256.9 252.6 246.0 238.0 231.0 227.3 224.9 224.1 224.1 224.0 224.0 224.0 224.0 224.0 223.8 223.8 223.8 223.4 222.9 222.6 222.1 221.7 221.2 221.3 221.4 221.5 221.5 221.5 221.4 221.3 221.3 221.2 220.9 220.1 220.2 219.8 219.1 217.9 216.6 217.5 218.4 219.6 221.4 223.6 224.5 225.6 226.6 227.2 227.6 226.5 225.4 224.3 222.7 220.8 218.9 217.0 215.0 212.8 210.6 208.5 207.5 206.7 206.2 206.9 208.0 209.0 210.1 212.0 214.4 216.6 218.9 220.9 222.7 224.6 226.5 228.0 228.9 229.4 229.1 228.4 227.4 225.9 224.0 221.9 219.2 216.6 214.3 211.6 209.0 207.3 205.7 204.4 203.3 202.4 201.9 202.5 203.4 204.4 205.4 207.6 209.6 211.3 213.0 214.9 216.7 218.5 220.1 222.0 223.7 225.2 226.2 226.7 226.7 226.4 225.3 224.3 223.3 222.0 220.1 218.2 216.2 214.3 212.2 210.1 208.6 207.6 207.6 208.0 208.4 209.0 209.6 210.1 210.7 211.3 211.8 212.3 212.6 212.6", + "f0_timestep": "0.005" + }, + { + "offset": 192.523, + "text": "SP 与 自 己 重 叠 SP 定 格 在 一 刹 那 SP 短 暂 交 叉 SP", + "ph_seq": "SP y v z i0 j i ch ong d ie SP d ing g e z ai y i ch a n a SP d uan z an j iao ch a SP", + "ph_dur": "0.209 0.0813 0.2786 0.1161 0.3019 0.0929 0.267 0.1393 0.1393 0.058 0.3947 0.1393 0.0697 0.1393 0.0464 0.1277 0.0813 0.1509 0.0464 0.1161 0.0929 0.1277 0.0697 0.3947 0.1625 0.0348 0.2902 0.1161 0.3135 0.0813 0.1161 0.1045 1.3816 0.0464", + "ph_num": "2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 1 1", + "note_seq": "rest F4 G4 A4 C5 C5 rest C4 C4 A4 A4 C5 C5 rest G4 G4 A4 A4 rest", + "note_dur": "0.289 0.388 0.4 0.4 0.2 0.4 0.2 0.188 0.212 0.2 0.2 0.2 0.4 0.2 0.4 0.4 0.212 1.388 0.05", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "218.0 218.0 218.0 218.5 219.1 219.7 257.1 258.5 259.9 261.3 262.8 264.2 265.7 267.1 268.6 270.1 271.5 273.0 274.5 276.0 277.6 279.1 280.6 282.2 283.7 285.3 286.8 288.4 290.0 291.6 293.2 294.8 296.4 298.0 299.7 301.3 303.0 304.6 347.9 347.5 347.0 346.5 346.0 345.6 345.3 344.8 344.3 343.8 343.3 342.9 342.4 341.9 341.4 341.1 340.6 340.1 339.6 344.8 350.2 352.5 353.4 354.3 355.3 355.5 355.1 354.7 354.2 353.9 353.1 352.1 351.0 350.0 349.4 349.2 348.7 348.1 347.2 346.2 346.3 346.7 346.7 346.6 346.4 346.4 346.2 346.1 346.2 346.4 346.9 347.1 347.3 347.6 348.0 348.4 349.4 350.4 351.3 352.3 353.1 353.2 352.7 352.2 351.7 351.3 348.8 344.5 337.2 323.4 308.2 298.1 294.4 304.9 321.2 332.1 339.2 340.7 340.7 340.7 340.9 340.9 341.1 342.1 343.4 344.6 346.4 348.0 349.4 350.6 352.1 353.7 355.3 357.0 359.0 359.9 359.2 357.8 358.0 364.9 378.1 389.3 396.7 398.7 399.3 399.1 398.8 398.3 397.4 396.6 395.7 394.7 393.7 392.8 392.2 391.5 390.9 390.1 389.7 389.5 389.5 389.3 389.4 389.7 390.2 390.4 390.7 391.0 391.3 391.5 391.8 391.6 390.9 390.8 391.1 391.1 391.4 391.7 391.9 392.2 392.4 392.4 392.1 391.8 391.5 391.5 391.3 391.0 389.7 387.7 385.4 382.2 376.7 366.3 353.1 342.8 335.5 338.0 350.8 367.4 377.8 381.4 382.0 380.8 378.6 376.9 376.4 377.2 378.2 379.7 381.1 382.3 384.4 386.9 389.7 392.9 398.0 405.9 416.1 426.5 436.0 442.2 447.0 449.8 451.3 451.3 451.0 450.5 449.3 447.4 445.9 444.4 442.4 441.0 440.3 439.5 438.2 437.1 436.9 437.5 437.8 438.1 438.6 438.9 439.5 439.7 440.1 440.6 440.4 439.7 439.2 438.9 438.7 439.2 439.5 439.2 438.5 437.6 437.4 437.5 437.8 438.0 438.4 439.1 439.7 440.5 441.3 442.5 443.6 443.6 443.0 442.2 439.1 432.3 424.5 417.7 408.7 402.9 403.2 407.7 413.2 417.4 422.0 426.4 430.7 434.2 438.7 443.4 448.9 455.3 459.5 462.7 467.1 472.4 477.3 481.8 488.5 495.5 502.3 509.5 517.8 525.3 530.4 531.9 532.7 532.7 531.9 529.9 526.7 524.8 522.9 521.4 519.6 519.4 520.2 520.8 521.3 521.9 522.5 524.2 524.3 523.7 523.6 524.5 523.9 522.6 521.4 518.7 515.2 509.2 502.3 495.1 485.4 479.0 474.9 471.3 473.3 483.9 497.9 507.2 513.1 516.0 517.4 518.5 520.2 522.0 522.9 522.8 522.6 522.0 521.3 520.3 518.9 517.0 515.2 513.7 511.2 508.1 505.1 502.5 500.7 499.0 497.0 496.4 496.7 498.2 500.4 503.4 507.3 511.0 515.8 520.7 525.7 530.2 533.0 534.9 537.1 539.2 539.7 538.9 536.9 534.6 531.2 526.8 522.3 519.0 514.6 510.7 507.0 503.7 500.4 498.6 498.9 500.7 502.8 504.3 507.4 511.4 515.7 519.9 523.1 525.2 527.7 529.4 530.6 530.6 529.8 529.0 528.5 527.8 526.3 524.8 520.8 515.1 507.8 501.1 494.8 490.9 489.8 490.8 491.4 492.1 493.0 493.7 493.0 492.7 492.3 491.3 489.3 486.2 481.2 475.1 465.1 451.4 433.9 416.7 392.6 367.3 343.0 321.4 304.0 291.9 281.1 273.2 267.9 264.8 262.3 260.8 259.8 259.4 259.2 259.0 258.8 259.3 259.7 260.0 260.5 260.9 261.4 262.4 263.7 265.6 268.8 270.7 270.4 269.8 267.7 264.7 262.5 260.9 259.4 258.1 256.5 256.2 256.7 257.1 257.8 258.8 259.9 260.9 261.9 262.2 262.1 262.0 260.7 259.5 258.4 257.5 255.8 253.6 251.6 250.0 249.6 251.5 255.1 257.3 260.2 261.2 260.8 260.9 260.9 261.0 261.1 261.2 261.3 261.5 261.5 261.6 261.7 262.5 263.6 264.6 265.0 264.6 265.0 265.4 265.9 265.0 262.6 255.8 247.3 240.5 237.1 243.4 253.9 260.9 268.3 273.3 276.1 281.1 289.3 298.3 309.9 322.8 338.3 352.9 372.9 393.8 413.2 424.8 431.3 435.3 437.5 437.0 436.7 436.2 435.6 436.6 437.2 437.0 436.6 435.8 435.3 435.4 436.2 436.0 436.4 437.5 438.5 439.5 440.1 440.4 440.9 441.4 442.0 442.3 441.0 438.0 435.0 433.2 431.7 430.7 429.5 429.3 430.2 430.9 434.1 440.0 445.8 449.0 448.8 447.7 446.5 445.4 445.1 445.6 445.6 445.2 444.7 444.3 444.0 443.5 443.2 442.7 440.8 438.5 431.3 420.7 408.8 396.1 390.0 390.1 399.8 420.5 437.7 443.1 443.5 442.0 440.8 439.7 439.4 440.4 442.9 446.2 450.3 453.2 456.7 466.6 486.7 510.4 524.4 531.6 535.9 535.6 534.6 533.3 531.6 530.7 529.1 527.5 525.7 524.7 524.2 523.6 523.3 522.9 522.9 522.9 522.9 521.4 520.8 520.8 521.6 522.0 522.6 522.6 523.3 523.3 523.9 523.9 523.9 523.9 523.9 523.9 523.9 523.9 523.9 523.9 523.7 523.3 523.3 522.6 522.6 522.6 521.7 521.4 521.4 522.0 522.8 523.3 524.8 526.0 527.5 528.4 529.9 530.9 528.4 527.8 527.5 527.2 526.0 525.4 523.9 523.4 522.6 522.6 522.0 522.0 522.3 522.6 524.8 523.6 526.6 529.4 531.8 533.0 534.1 534.7 535.1 534.2 533.1 531.9 530.6 529.3 526.9 525.1 522.4 520.2 519.0 517.5 516.1 514.9 514.4 514.8 515.5 516.0 517.5 518.7 520.0 521.7 523.9 525.8 527.8 529.9 532.1 532.4 532.3 531.9 531.6 530.6 529.1 528.0 524.5 519.2 514.0 511.9 510.8 509.8 509.1 508.1 507.1 506.5 505.6 504.5 502.8 501.9 500.4 498.6 496.6 494.2 490.6 486.9 481.5 474.2 465.4 456.6 444.0 430.8 417.5 405.4 395.0 387.5 380.5 375.1 371.1 368.5 366.0 364.3 362.7 361.5 360.5 359.6 358.5 357.9 357.2 356.6 356.0 355.5 355.5 355.5 355.5 355.5 355.5 355.5 355.5 355.5 355.5 355.6 355.7 356.1 356.4 356.6 356.8 357.1 357.3 357.7 358.0 358.7 360.6 362.2 365.3 368.4 372.1 376.1 380.0 383.0 387.0 390.0 392.1 394.0 396.0 396.8 396.9 397.0 397.0 397.2 396.4 394.8 393.2 391.8 390.3 389.6 389.2 388.9 388.4 388.6 388.9 389.2 390.0 390.9 391.7 392.7 393.7 393.9 393.6 393.4 391.6 388.6 385.7 378.4 368.7 357.8 342.2 327.4 313.3 306.0 300.7 300.1 304.2 311.3 319.8 327.4 335.7 343.1 350.8 357.4 366.5 375.6 384.9 390.6 391.2 390.6 390.9 392.0 393.1 394.0 395.1 395.5 395.4 395.2 395.0 394.9 394.5 394.1 393.6 393.1 392.8 392.3 391.9 391.3 391.0 390.6 390.5 390.8 390.9 391.1 391.3 391.4 391.7 391.8 391.5 391.5 391.3 391.3 391.1 391.1 390.9 391.0 391.3 391.5 391.8 391.8 392.1 392.6 393.1 393.6 394.2 394.8 395.5 395.4 394.9 394.6 394.2 393.7 393.6 393.8 393.8 392.7 390.6 388.6 386.4 383.7 378.6 372.8 367.2 362.8 360.1 361.6 365.4 369.4 372.7 375.8 380.2 385.7 391.3 396.8 403.9 413.7 426.0 438.5 445.7 447.9 447.9 447.4 447.2 446.9 446.3 445.5 444.5 443.8 442.9 442.3 442.3 442.3 442.3 442.3 442.3 442.3 442.3 439.5 436.7 432.9 427.5 422.8 415.8 406.1 393.1 384.2 380.8 380.6 380.6 380.6 380.6 380.6 380.9 381.5 381.7 383.0 386.3 391.3 398.8 404.9 415.5 421.8 425.3 429.0 431.7 433.7 433.7 433.7 433.7 433.7 433.7 434.4 434.4 434.4 436.5 436.5 437.0 437.5 437.5 438.2 438.2 438.2 438.2 438.2 439.2 440.3 441.0 440.5 440.5 440.5 440.5 440.5 441.3 441.3 441.3 441.3 441.3 441.3 441.3 441.3 441.3 441.3 441.3 441.3 441.3 441.3 441.3 441.3 442.0 442.0 442.2 442.8 442.8 443.3 443.3 443.7 444.1 444.1 444.1 444.0 443.8 443.5 443.3 443.3 443.3 443.3 443.3 443.3 443.1 442.8 442.8 442.0 441.3 441.3 441.3 441.3 441.3 441.3 440.9 439.7 439.5 439.0 439.0 439.0 439.0 439.1 438.8 438.5 438.4 438.2 437.8 437.5 437.7 438.2 438.4 438.1 437.8 437.5 437.8 438.3 438.7 439.4 439.7 440.3 440.8 441.3 441.3 441.0 440.5 440.2 439.9 439.6 439.0 438.7 438.4 438.0 437.5 437.5 437.5 437.7 437.7 437.9 438.2 438.5 438.8 439.1 439.4 439.7 440.1 440.3 440.6 441.0 441.3 441.5 441.8 441.9 441.8 441.5 441.5 441.2 441.0 440.8 440.5 440.0 439.7 439.2 438.8 438.2 437.9 437.4 437.0 436.5 436.2 436.0 436.0 436.0 435.8 435.7 435.8 436.1 436.7 437.3 438.0 438.5 438.9 439.9 441.0 442.0 443.2 444.0 444.6 445.2 445.9 445.9 445.2 445.2 446.0 445.9 444.9 443.9 442.9 442.0 441.0 440.0 438.7 437.1 435.7 434.2 433.0 432.1 431.7 431.1 431.4 432.4 433.4 434.3 435.3 436.2 437.8 439.4 441.5 443.6 444.9 445.1 445.8 446.9 448.2 448.5 447.8 447.4 446.9 446.3 445.9 444.1 441.2 439.0 437.9 436.0 433.8 431.9 429.6 428.3 428.0 427.5 427.4 427.8 428.2 428.5 428.9 429.8 431.7 433.6 435.4 437.0 438.2 439.1 440.1 441.0 441.6 442.2 443.1 443.7 444.3 444.1 443.4 443.4 444.4 445.1 445.0 444.5 444.1 443.4 442.3 440.8 438.9 437.7 437.1 436.2 435.3 434.8 434.1 432.8 431.2 430.4 430.1 429.6 429.1 429.2 429.8 430.3 430.9 432.5 434.7 438.2 444.2 449.2 450.4 449.8 449.4 448.9 448.3 447.8 447.2 446.7 446.7 446.7", + "f0_timestep": "0.005" + }, + { + "offset": 198.88, + "text": "SP 在 另 外 一 个 春 秋 冬 夏 继 续 这 喧 哗 而 我 重 新 出 发 SP", + "ph_seq": "SP z ai l in w ai y i g e ch un q iu d ong x ia j i x v zh e x van h ua er w o ch ong x in ch u f a SP", + "ph_dur": "0.2438 0.0813 0.1277 0.058 0.1509 0.0697 0.1393 0.058 0.1625 0.0348 0.2902 0.1045 0.1509 0.058 0.3483 0.0464 0.1045 0.0929 0.3251 0.0813 0.1045 0.0929 0.1509 0.0464 0.1161 0.0813 0.1045 0.1045 0.3947 0.1277 0.0697 0.1161 0.0929 0.267 0.1277 0.2786 0.1277 0.2438 0.1509 0.3947 0.058", + "ph_num": "2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 1", + "note_seq": "rest D4 E4 F4 G4 A4 C5 C5 C5 C5 D5 C5 C5 C5 C5 A#4 A#4 A#4 A4 G4 A4 rest", + "note_dur": "0.32 0.188 0.212 0.2 0.2 0.4 0.2 0.4 0.2 0.4 0.2 0.2 0.2 0.2 0.4 0.2 0.2 0.4 0.4 0.4 0.4 0.05", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "441.0 441.0 441.0 440.6 393.4 391.5 389.7 387.8 386.0 384.2 382.4 380.6 378.8 377.0 375.2 373.4 371.7 369.9 368.2 366.5 364.7 363.0 361.3 359.6 357.9 356.2 354.5 352.9 351.2 349.6 347.9 346.3 344.6 343.0 341.4 339.8 338.2 336.6 335.0 333.4 331.9 330.3 328.7 327.2 293.7 293.4 293.1 292.8 292.5 292.1 291.9 291.6 291.3 291.0 290.6 290.4 290.0 289.9 289.5 289.3 288.9 288.7 288.4 288.0 287.8 288.0 291.0 293.2 293.8 293.8 291.9 290.3 289.3 289.0 289.1 289.1 289.2 289.3 289.4 290.3 291.4 291.8 292.1 292.8 293.7 294.4 295.4 296.0 296.2 296.4 296.6 296.8 296.9 296.6 296.2 293.7 291.6 290.1 288.9 288.6 289.4 293.5 301.7 315.2 330.0 336.3 337.7 336.9 335.5 335.0 334.5 333.8 333.2 332.6 332.1 331.8 331.5 331.7 331.7 331.5 331.3 331.0 330.7 330.3 329.2 328.4 327.9 327.6 327.4 327.2 326.9 326.5 326.2 325.3 324.5 323.9 324.5 325.2 326.3 327.9 330.1 332.3 335.4 339.3 343.2 347.0 349.5 351.0 351.6 351.7 351.4 351.0 350.4 349.8 349.0 348.4 348.4 348.6 348.8 348.8 349.2 349.1 349.0 349.0 348.8 348.8 348.7 348.7 349.1 349.4 350.0 349.8 350.0 350.8 351.7 351.2 351.5 352.8 355.0 357.4 361.1 365.9 371.5 379.7 388.8 393.8 395.1 395.6 396.2 396.8 396.5 396.0 395.3 394.6 393.8 392.7 391.8 390.8 389.6 388.4 388.7 388.9 389.2 389.3 389.5 391.1 392.7 394.2 395.4 395.0 386.2 370.4 354.6 338.6 328.9 328.4 331.3 334.4 338.8 348.0 360.1 374.6 390.2 408.8 428.7 441.3 444.2 444.9 445.5 448.2 450.5 452.3 453.4 454.7 455.0 454.7 454.2 452.7 450.7 448.7 445.0 441.8 438.6 434.9 431.4 428.3 427.5 426.9 426.5 426.0 426.9 427.8 428.8 431.1 433.7 436.3 439.0 441.2 443.8 446.4 447.6 448.6 449.2 448.5 447.2 445.8 443.7 441.7 439.7 437.7 437.7 437.5 437.3 437.2 437.0 437.0 437.0 437.0 437.0 436.7 436.7 436.7 436.7 436.8 437.3 438.5 439.2 439.5 434.6 437.2 439.7 442.1 444.2 446.7 449.2 452.2 454.9 456.0 457.3 459.2 462.1 464.4 468.3 477.3 493.0 510.0 524.8 531.8 536.4 540.1 538.4 536.3 533.8 530.6 529.0 527.5 526.1 525.1 524.1 522.6 521.8 520.7 518.7 514.2 508.9 501.9 485.0 462.6 439.0 418.9 416.7 416.1 419.6 425.0 428.0 430.1 432.4 435.2 440.1 446.1 451.9 455.6 458.8 462.5 466.2 471.0 481.4 491.4 500.8 503.7 504.2 502.2 499.6 497.0 494.2 491.4 488.8 486.3 484.1 484.6 485.9 488.3 490.9 493.9 497.0 500.9 504.7 508.2 511.7 515.7 519.7 522.7 525.4 528.6 531.8 532.9 534.1 534.6 533.4 531.8 529.9 528.4 526.7 525.1 523.3 522.4 521.4 520.8 519.9 519.0 518.2 518.7 519.2 519.8 520.2 520.7 521.3 521.8 522.3 522.9 523.4 524.0 524.5 525.4 526.6 527.0 526.0 524.8 523.6 522.0 516.3 492.7 468.2 443.1 428.0 427.0 430.4 434.1 437.9 442.0 458.3 473.8 489.1 507.0 525.7 531.0 531.5 531.3 530.9 530.9 530.5 529.9 528.6 526.9 525.1 525.1 525.1 524.9 524.8 524.8 523.8 518.8 513.2 505.9 491.3 471.6 452.8 436.7 421.9 413.6 408.5 409.5 411.8 416.4 421.8 429.8 438.1 445.5 453.3 461.9 470.7 479.1 487.1 496.1 504.0 511.7 519.5 525.6 529.6 533.0 536.5 539.0 539.4 538.7 538.0 537.5 536.9 536.3 535.4 533.0 529.9 527.3 524.8 522.0 520.2 518.7 517.2 515.9 514.8 515.2 515.9 516.8 518.4 520.7 522.6 524.8 526.1 527.1 528.4 529.6 530.9 531.7 530.9 529.3 528.1 526.6 525.1 523.6 521.4 518.7 516.1 514.2 513.7 513.9 514.0 514.2 515.5 516.8 518.1 519.6 521.1 522.3 522.8 522.9 523.3 521.9 511.6 495.9 478.9 464.6 464.1 465.1 470.4 478.4 486.5 495.1 502.7 506.2 509.4 513.4 517.5 518.5 519.8 522.6 529.9 539.4 555.2 569.8 583.5 590.7 594.9 597.7 598.1 597.7 596.6 595.3 593.8 592.5 591.1 589.4 586.9 581.6 575.1 565.0 554.0 554.8 557.6 564.1 570.7 570.9 569.3 567.1 563.4 558.3 551.5 543.9 536.7 531.7 526.3 520.2 513.4 506.7 499.5 490.2 480.7 473.3 477.7 489.3 503.2 513.1 521.6 524.2 524.8 525.0 525.4 525.0 524.8 524.6 524.5 524.2 524.2 524.2 524.3 524.9 526.0 527.0 527.8 528.1 526.7 524.8 519.2 512.5 501.4 486.5 467.8 450.5 441.9 437.6 438.6 441.8 445.0 450.1 460.8 476.1 495.3 513.7 521.4 526.8 531.7 532.1 531.3 530.6 530.1 529.5 528.7 528.0 527.3 526.8 528.4 528.4 527.5 526.6 526.0 525.4 524.5 523.2 522.9 522.5 522.2 521.9 521.6 520.8 520.8 520.8 520.8 520.8 520.8 520.8 520.8 521.0 521.4 521.4 522.0 522.6 522.8 523.3 523.9 524.8 525.6 526.6 529.3 529.2 528.9 528.5 528.1 527.8 527.7 527.1 526.7 526.3 525.6 525.2 524.6 523.0 521.1 519.3 516.2 510.7 502.7 485.7 466.0 442.7 422.7 408.3 397.2 400.4 405.7 415.0 426.6 439.5 453.6 469.7 486.2 504.5 516.3 517.4 519.5 524.4 530.5 537.0 540.5 543.5 545.8 545.7 544.8 543.7 542.6 541.2 538.1 534.2 529.3 525.0 520.7 516.0 511.3 509.5 507.9 506.5 505.1 505.4 506.7 509.0 511.6 514.6 517.5 521.0 524.6 527.6 530.8 533.0 535.0 537.0 538.1 537.3 535.5 533.9 531.8 528.7 525.2 521.1 517.4 514.3 512.5 510.8 509.2 510.3 511.2 512.1 513.1 514.9 516.7 518.6 520.4 522.3 524.2 524.5 524.9 525.1 525.1 524.8 524.1 523.4 521.7 519.5 517.2 514.6 511.6 508.8 505.4 501.9 497.3 492.9 488.2 483.3 478.7 474.2 471.7 470.2 469.1 468.3 467.6 467.0 467.0 467.2 467.8 468.3 468.2 468.1 468.1 467.8 467.8 467.8 467.8 467.8 468.1 468.0 467.6 467.2 466.8 466.4 465.7 464.8 463.9 462.9 461.9 460.6 460.0 460.2 460.7 461.3 461.7 462.2 462.7 463.3 465.4 467.4 468.1 468.6 469.3 469.9 470.4 470.1 469.9 469.7 469.4 468.3 467.1 465.4 461.3 456.3 442.7 430.0 415.9 401.3 396.6 395.0 396.7 398.8 400.9 403.2 403.5 403.8 404.1 404.4 404.6 405.0 405.6 406.1 406.6 407.5 408.0 407.2 406.3 405.5 406.8 410.7 423.5 436.8 449.9 458.4 465.4 471.1 474.2 476.2 475.7 474.7 473.6 472.7 471.6 469.7 467.6 465.9 464.3 462.5 461.6 461.3 460.8 460.4 460.1 459.5 459.1 459.1 459.7 461.1 462.4 463.7 464.8 465.8 466.8 467.8 468.8 469.7 470.6 471.4 471.6 471.9 471.9 472.0 471.9 470.8 469.1 466.4 459.9 449.6 431.4 412.2 396.7 392.2 396.4 403.7 410.8 415.0 418.7 422.6 425.0 426.9 429.1 431.5 434.1 436.7 439.8 442.4 444.9 447.8 450.5 455.4 460.0 464.1 468.1 472.4 473.0 473.2 473.4 473.3 472.9 475.3 478.0 479.3 477.0 473.8 470.8 468.3 465.8 462.5 458.9 455.5 452.4 450.0 447.9 445.4 442.8 441.6 440.5 439.4 439.0 438.4 438.1 437.8 437.5 437.0 436.7 436.7 436.8 437.0 437.0 437.9 438.7 439.4 440.3 441.3 441.8 441.9 441.8 441.6 441.5 441.8 442.3 442.7 443.0 443.3 443.7 444.0 443.4 442.7 442.0 440.1 433.9 425.0 408.1 387.5 369.3 359.0 352.4 352.1 354.9 361.4 367.5 371.5 374.7 375.8 376.4 377.1 377.6 378.3 380.2 382.0 384.0 386.4 388.6 390.6 392.2 393.8 395.1 395.6 393.6 391.9 394.5 397.5 400.7 400.0 399.4 398.8 398.6 397.5 396.3 395.2 394.4 393.6 392.8 392.0 391.4 390.6 390.1 390.1 390.2 390.2 390.4 390.5 390.6 390.6 390.9 391.0 391.1 391.3 391.3 391.4 391.5 391.7 391.8 391.5 391.5 391.2 391.1 390.9 391.3 391.9 392.4 392.8 393.2 393.8 393.5 393.4 393.2 393.0 392.7 387.5 382.4 376.5 365.4 347.2 330.7 324.3 326.2 334.7 345.0 354.3 356.8 358.0 359.5 360.9 364.7 369.0 373.3 378.3 383.3 388.8 394.0 397.9 402.1 406.8 412.4 416.7 421.0 425.0 429.0 434.0 443.7 451.5 455.9 457.6 458.2 458.3 457.9 457.4 456.6 454.3 452.4 450.3 447.4 444.1 440.9 437.9 434.9 431.8 430.2 429.0 428.3 428.5 429.1 429.7 432.3 434.9 437.8 441.3 444.9 448.1 449.8 451.1 452.4 453.9 454.7 453.2 451.3 449.2 447.2 443.3 439.4 436.1 433.1 429.7 426.9 425.3 423.9 422.7 423.3 424.2 425.1 426.7 429.9 434.2 438.6 442.7 446.3 448.9 450.8 452.8 454.2 454.0 453.1 452.4 449.4 446.9 444.5 441.6 438.7 436.8 434.7 433.0 431.5 430.9 433.4 435.0 435.6 435.7 442.3 442.3 442.8 443.3 443.3 442.6 436.3 436.5 436.5 436.5", + "f0_timestep": "0.005" + }, + { + "offset": 204.88, + "text": "SP 灰 烬 里 重 新 生 根 发 芽 SP", + "ph_seq": "SP h ui j in l i ch ong x in sh eng g en f a y a SP", + "ph_dur": "0.1858 0.1393 0.3135 0.0929 0.267 0.1277 0.6153 0.1858 0.2786 0.1161 0.2438 0.1625 0.6966 0.1045 0.2438 0.1509 0.4063 0.1974 1.997 0.0464", + "ph_num": "2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest C4 D4 A4 C5 C5 A4 C5 C4 D4 D4 rest", + "note_dur": "0.32 0.4 0.4 0.8 0.4 0.4 0.8 0.4 0.6 1.0 1.0 0.05", + "note_slur": "0 0 0 0 0 0 0 0 0 0 1 0", + "f0_seq": "439.5 439.5 439.5 439.7 380.2 377.9 375.6 373.3 371.0 368.8 366.6 364.3 362.1 359.9 357.8 355.6 353.4 351.3 349.2 347.0 344.9 342.8 340.8 338.7 336.7 334.6 332.6 330.6 328.6 326.6 324.6 322.6 320.7 318.7 316.8 314.9 313.0 311.1 309.2 307.3 305.4 303.6 301.8 299.9 261.6 261.7 261.8 261.9 261.9 262.1 262.1 262.1 262.2 262.3 262.4 262.5 262.6 262.7 262.7 262.8 262.9 263.0 263.1 263.1 263.1 262.5 259.5 259.3 259.9 259.2 258.2 257.3 256.6 256.4 256.2 256.2 256.3 256.5 256.6 256.8 257.1 257.8 258.2 258.7 259.1 259.4 259.7 259.6 259.4 259.1 258.9 258.7 258.4 258.2 258.3 258.3 258.4 258.7 259.2 260.1 260.8 261.4 261.8 262.3 262.8 263.3 263.7 264.2 264.6 264.7 264.8 264.6 264.1 263.3 262.5 260.6 258.8 256.3 251.5 244.1 237.4 233.6 231.2 231.1 232.3 237.2 242.3 246.2 247.8 246.8 245.4 244.1 242.9 241.7 240.3 239.0 236.4 234.0 232.2 231.9 232.5 233.8 238.3 248.7 264.1 280.0 289.7 293.9 295.4 296.0 296.2 296.3 296.5 296.8 296.9 296.7 296.4 296.0 295.5 295.0 294.4 294.0 293.4 292.8 292.1 291.7 291.4 291.2 291.3 291.5 291.7 291.9 292.1 292.3 292.5 291.8 291.4 291.4 291.6 291.6 291.8 292.1 292.5 292.9 293.2 293.6 294.0 294.3 294.6 295.0 294.7 294.9 295.1 295.3 295.5 295.8 296.1 296.3 296.5 296.7 296.5 296.3 296.1 295.8 295.0 294.3 293.5 292.8 292.4 291.3 289.8 288.4 286.8 285.6 286.1 287.5 290.2 293.4 297.4 301.9 307.9 315.3 325.6 340.0 357.2 374.5 385.7 392.4 397.4 401.4 405.3 408.0 409.8 411.2 411.7 411.9 411.5 410.8 409.8 408.6 407.8 407.7 407.3 406.9 406.3 405.9 405.5 405.1 404.7 404.2 404.5 405.2 406.2 407.8 409.4 411.1 413.7 416.3 419.2 423.3 427.6 431.6 435.2 438.8 442.3 444.0 445.6 446.6 447.5 448.5 449.1 448.2 446.9 445.6 444.3 443.1 441.7 440.6 440.1 439.5 439.1 438.6 438.2 437.8 437.2 437.5 437.8 438.1 438.4 438.7 439.0 439.3 439.6 439.7 440.0 440.3 440.6 440.9 441.2 441.3 441.3 441.5 441.5 441.5 441.5 441.8 441.8 441.8 441.6 441.3 441.2 440.9 440.6 440.5 440.3 440.6 440.6 440.4 440.1 439.7 439.4 439.1 438.9 438.9 439.2 439.3 439.6 439.7 439.9 440.3 440.3 440.6 440.9 441.0 441.3 441.5 441.7 441.9 442.0 442.3 442.0 441.7 441.5 441.1 439.5 437.6 434.8 429.0 418.7 406.5 395.5 390.2 387.4 388.7 392.0 395.3 399.4 405.0 411.1 416.3 421.2 425.6 428.7 432.0 435.4 438.0 440.5 442.8 445.1 447.7 449.8 452.1 454.2 456.8 459.2 461.9 465.1 467.9 469.9 472.1 475.6 478.8 480.9 483.4 486.2 494.0 502.8 512.4 521.7 526.6 529.1 530.9 532.1 532.6 531.5 529.3 527.2 525.4 524.1 522.6 521.5 520.4 519.0 517.8 517.2 516.9 516.5 516.2 515.8 515.5 516.6 517.5 518.3 519.4 520.5 521.3 522.0 522.7 523.4 524.5 525.2 525.9 526.6 527.3 528.1 528.0 527.8 527.6 527.5 527.5 526.6 523.4 518.9 509.9 499.6 483.6 471.9 471.5 480.2 492.2 503.3 507.8 511.2 514.3 514.3 513.1 512.6 513.1 514.0 515.2 516.0 517.0 518.0 518.9 519.9 522.6 525.2 527.7 530.3 533.0 532.6 532.3 531.9 531.8 532.4 539.4 545.2 546.7 545.6 543.6 541.6 539.7 537.3 534.2 531.5 529.6 527.7 526.0 524.2 522.3 520.6 519.6 518.6 517.5 516.3 515.2 514.3 513.4 512.4 511.3 512.1 513.3 514.7 516.3 518.1 520.0 521.7 523.3 525.0 526.9 528.5 530.2 531.9 533.6 535.5 535.0 534.4 533.9 532.7 528.1 521.2 510.0 499.3 491.6 493.0 496.2 500.6 506.9 513.5 516.3 518.2 519.5 518.6 514.9 510.4 505.7 501.4 497.5 493.2 488.5 484.9 481.4 478.0 474.0 470.5 466.7 462.5 458.7 455.2 451.1 446.3 442.4 438.2 432.8 427.2 424.5 422.9 424.1 426.6 428.7 431.6 434.3 436.0 438.0 440.5 441.5 442.5 443.4 443.2 443.1 442.3 441.2 440.4 439.2 438.2 437.3 436.7 436.3 436.0 435.7 435.6 435.3 435.2 435.0 434.7 434.6 434.3 434.3 434.8 435.4 436.1 436.9 438.0 439.2 440.5 442.0 443.3 444.6 445.7 446.1 446.5 446.8 446.3 445.5 444.9 444.2 443.4 442.4 440.9 438.7 438.2 437.4 435.6 433.2 430.7 430.4 430.1 430.0 430.0 430.9 432.4 433.7 434.9 436.4 437.7 439.0 440.5 441.6 442.6 443.3 444.2 444.9 445.8 446.5 447.4 447.8 446.8 445.5 444.3 442.8 441.5 440.4 438.9 436.1 432.7 430.1 429.7 429.7 429.7 429.7 431.3 432.6 433.8 435.4 437.0 438.5 439.9 441.3 442.7 444.3 445.7 446.8 446.7 446.2 445.6 445.2 444.6 444.2 443.7 443.3 442.7 442.2 441.8 441.3 441.3 441.3 441.5 441.5 441.5 442.0 442.7 443.3 443.7 443.6 443.6 443.3 443.2 443.1 442.9 442.8 442.2 441.8 441.3 440.8 440.3 439.4 437.7 436.2 436.0 432.9 430.2 429.8 427.5 424.5 423.1 422.1 422.1 422.1 422.7 424.8 425.9 430.3 432.9 436.7 447.2 462.9 476.8 483.7 485.8 486.0 485.4 484.0 482.2 479.5 476.5 474.4 472.1 469.9 467.7 465.1 463.3 464.3 465.6 467.0 468.6 470.8 477.2 483.4 490.1 497.3 504.8 511.7 517.8 522.3 526.0 528.7 528.4 527.7 527.0 526.3 525.4 524.5 523.7 522.3 520.8 519.3 518.4 519.0 520.0 521.1 522.3 523.3 524.0 523.5 522.0 520.9 519.8 517.4 510.7 501.9 480.0 458.8 434.3 408.1 395.6 394.8 394.0 393.5 392.5 391.8 391.1 390.3 389.2 386.9 381.5 374.4 366.1 358.8 352.8 345.2 334.9 323.9 313.3 300.5 287.3 275.5 269.2 265.9 264.1 264.2 262.3 262.3 262.9 262.7 262.7 263.1 262.7 262.4 262.4 262.5 261.5 260.5 260.1 259.6 259.2 258.7 258.2 257.8 257.4 256.8 256.8 256.8 256.8 256.8 256.8 256.8 256.8 257.0 257.6 258.3 258.5 258.8 259.1 259.3 259.7 259.9 260.0 260.1 260.1 260.1 260.2 260.3 260.3 260.3 260.3 260.6 260.9 261.2 261.6 261.9 262.3 262.4 262.6 262.8 263.0 263.0 263.2 263.3 263.4 263.6 263.7 263.8 264.0 264.1 264.2 264.3 264.1 263.7 263.5 263.1 262.9 263.0 263.3 263.6 263.9 264.1 264.4 264.6 264.9 265.1 265.3 265.5 265.7 265.7 265.3 264.7 264.1 263.6 263.1 262.5 260.6 258.7 256.2 253.3 250.4 247.6 245.3 243.4 241.5 240.1 238.7 237.4 236.4 235.9 235.5 235.2 235.4 236.2 237.4 238.8 243.0 247.1 251.5 256.6 262.1 265.7 267.9 269.4 270.6 271.8 272.8 273.6 274.0 274.4 274.6 274.6 274.6 274.6 274.4 273.8 273.1 272.7 272.3 272.1 271.9 271.7 271.6 272.1 272.5 273.1 273.6 274.4 275.6 277.3 278.9 280.6 282.4 283.8 285.4 287.1 289.2 291.0 292.7 294.6 295.9 297.1 298.1 298.7 299.2 299.8 299.0 298.2 297.6 296.7 296.0 295.2 294.3 293.7 293.2 293.0 292.6 292.2 291.9 291.9 292.3 292.5 292.7 292.9 293.1 293.3 293.5 293.7 293.9 294.1 294.3 294.6 294.8 294.9 294.5 294.0 294.0 293.8 293.8 293.7 293.7 293.6 293.5 293.5 293.4 293.3 292.7 292.1 291.6 291.6 291.6 291.8 291.9 292.1 292.1 292.0 291.9 291.8 291.7 291.6 291.8 291.8 292.1 292.1 292.3 292.5 292.5 292.7 292.7 292.5 292.3 292.1 291.7 291.5 291.3 291.6 292.2 292.6 292.9 292.9 292.8 292.8 293.4 294.0 294.6 294.3 294.0 294.2 294.4 294.6 294.9 295.0 294.7 294.3 294.0 293.7 293.3 293.3 293.1 293.0 292.8 292.6 292.6 292.4 292.3 292.5 292.5 292.6 292.7 292.8 293.0 293.0 293.2 293.3 293.5 293.5 293.7 293.7 293.8 294.0 294.0 294.1 293.6 293.1 292.7 292.1 292.0 291.9 291.7 291.6 291.5 291.7 291.9 292.0 292.1 292.3 292.5 292.6 292.7 292.9 293.2 293.4 293.6 294.0 294.4 295.0 295.5 295.9 296.2 296.1 295.7 295.3 294.9 294.7 294.3 294.0 293.6 293.2 292.9 292.6 292.1 291.8 291.5 291.2 291.3 291.3 291.5 291.7 292.1 292.6 293.0 293.5 293.5 293.5 293.5 293.5 293.5 293.6 294.2 294.9 295.4 295.6 295.6 295.2 294.8 294.7 294.8 294.3 293.7 293.1 292.5 291.8 291.2 290.9 291.0 291.5 291.5 291.5 291.6 291.6 291.6 291.7 292.1 292.5 292.9 293.3 293.9 294.3 294.7 295.1 295.0 294.8 294.7 294.5 294.1 293.7 292.8 292.0 291.2 290.3 289.5 288.6 287.9 287.5 287.3 287.1 287.7 288.3 289.4 290.8 292.1 293.6 295.1 296.4 297.7 298.3 298.9 299.5 299.9 300.4 300.4 300.1 299.6 298.7 297.6 296.4 294.6 293.2 292.5 292.1 291.5 290.5 289.5 288.7 288.0 288.1 288.5 288.9 289.3 290.0 291.3 293.0 294.7 296.1 297.2 298.1 299.2 300.1 301.0 301.8 301.4 300.7 300.1 299.5 298.8 297.4 295.8 294.7 293.6 291.8 290.0 289.1 288.4 287.9 287.7 288.0 288.5 288.9 289.3 289.7 290.1 291.2 292.2 293.2 294.0 294.5 294.9 295.3 295.6 295.6 295.4 295.2 295.0 294.8 294.2 293.5 292.7 292.0 291.4 290.6 290.0 290.2 290.6 291.7 293.0 294.5 296.0 297.3 298.4 299.3 300.4 300.8 301.1 300.9 300.7 300.5 300.3 300.0 299.2 298.2 297.1 296.0 294.9 293.9 292.7 291.5 290.2 289.6 289.0 288.4 288.6 289.0 289.7 291.2 293.1 295.0 297.2 299.1 300.7 302.2 303.3 304.6 305.8 306.4 306.0 305.1 302.1 298.0 294.1 290.6 287.5 287.7 287.9 288.1 288.2 288.6 288.8 289.0 289.1 289.1", + "f0_timestep": "0.005" + }, + { + "offset": 211.52, + "text": "AP 我 曾 做 过 的 梦 啊 SP 光 和 蝉 鸣 SP 装 满 整 个 盛 夏 SP", + "ph_seq": "AP w o c eng z uo g uo d e m eng a SP g uang h e ch an m ing SP zh uang m an zh eng g e sh eng x ia SP", + "ph_dur": "0.4528 0.0348 0.1393 0.058 0.1393 0.058 0.1741 0.0348 0.1741 0.0232 0.2786 0.1161 0.1974 0.4063 0.1393 0.058 0.2902 0.1161 0.267 0.1277 0.0813 0.1161 0.4063 0.1045 0.0929 0.2902 0.1045 0.3135 0.0929 0.1625 0.0348 0.2322 0.1741 0.3831 0.209 0.4992 0.058", + "ph_num": "2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 1 1", + "note_seq": "rest F4 G4 A4 A#4 A4 C5 C5 rest C4 G4 A4 A4 rest C4 E4 F4 F4 C4 A3 rest", + "note_dur": "0.48 0.2 0.2 0.2 0.2 0.4 0.2 0.4 0.2 0.4 0.4 0.2 0.4 0.2 0.4 0.4 0.2 0.4 0.6 0.5 0.05", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 340.9 349.2 349.2 349.2 349.2 349.2 349.2 349.4 349.4 349.4 349.4 349.4 349.4 349.4 349.4 349.4 349.4 349.6 349.6 349.6 349.6 349.6 349.5 349.0 348.6 348.0 347.4 348.4 349.1 350.0 350.9 351.9 351.6 351.4 351.1 350.4 347.6 335.4 321.1 311.1 306.8 308.1 313.3 318.3 322.1 325.9 330.0 333.6 336.9 340.2 343.9 346.8 349.7 352.8 355.3 358.2 361.5 365.7 368.5 371.6 375.6 379.7 388.3 395.3 398.5 400.2 400.0 398.8 397.3 395.7 394.7 393.4 391.9 390.8 390.3 389.9 389.3 389.9 390.7 391.3 391.9 392.4 393.2 393.8 394.3 394.8 393.4 391.9 389.1 382.3 370.3 357.4 350.0 344.6 343.5 345.0 351.3 359.9 371.4 383.6 398.3 413.6 428.5 437.1 441.2 444.2 447.2 448.9 449.1 448.6 447.8 446.9 445.6 444.3 443.1 441.6 440.3 439.6 439.0 438.5 437.8 438.0 438.4 439.1 439.9 440.8 442.0 443.0 443.1 439.9 430.0 414.1 399.3 392.8 392.8 395.6 403.7 414.2 427.1 440.6 456.7 473.5 479.6 479.1 477.6 475.6 473.2 472.9 472.5 471.9 471.0 469.9 469.1 468.1 467.6 467.3 466.7 466.6 466.2 465.8 465.4 465.6 466.2 466.6 466.9 467.4 467.5 464.8 460.4 451.1 437.8 421.6 406.2 395.9 387.4 380.1 380.6 383.8 391.8 401.0 413.7 427.7 440.8 446.0 445.3 443.4 442.5 442.2 441.8 441.8 441.8 442.0 441.4 440.8 440.4 439.9 439.5 438.9 438.4 438.1 437.6 437.2 437.8 438.6 439.1 439.2 439.0 439.0 439.4 440.0 440.4 441.0 441.6 442.0 442.6 443.0 443.6 444.0 443.6 443.2 442.7 442.0 441.7 441.1 440.7 440.3 440.8 441.3 441.7 442.3 442.7 443.3 443.9 444.3 444.6 443.8 442.5 441.2 438.6 436.1 433.4 432.7 432.4 432.1 432.1 433.1 434.7 436.6 438.7 440.9 444.3 448.2 453.2 458.4 463.6 469.7 477.1 485.0 491.4 498.2 506.8 516.0 522.8 528.6 531.0 531.7 531.8 532.4 532.2 531.3 529.9 528.1 526.0 524.5 523.3 522.7 522.0 521.4 521.0 521.0 521.1 521.4 522.5 523.4 524.4 525.2 525.7 526.1 526.3 526.4 526.8 527.2 526.1 525.4 524.5 523.5 522.6 520.5 518.6 517.2 517.8 519.0 524.0 528.6 531.2 533.2 533.9 534.0 534.2 534.2 534.5 534.6 534.7 533.9 533.1 532.0 531.2 529.3 527.4 525.5 523.6 521.7 519.8 517.7 516.4 515.6 515.2 514.9 515.3 515.7 516.3 516.6 517.5 518.7 520.1 521.4 523.9 526.1 528.2 530.1 531.6 532.4 533.2 534.4 534.9 533.9 532.7 531.5 529.9 527.8 525.0 522.3 519.7 516.9 514.9 513.4 511.9 512.6 512.9 513.4 514.1 514.6 517.2 519.8 521.9 524.2 526.9 528.9 530.9 532.2 532.9 533.0 533.4 532.9 530.1 525.5 520.2 515.7 514.6 514.0 513.4 512.8 513.1 513.2 513.4 513.6 513.7 513.6 512.1 511.3 509.9 508.1 505.3 501.1 495.6 487.8 476.0 459.8 441.0 420.5 394.9 368.9 344.7 323.7 308.6 296.1 286.1 279.2 274.8 271.8 269.5 267.9 267.2 266.7 266.6 266.0 266.2 266.6 266.9 267.3 267.7 268.1 268.1 266.6 265.3 264.5 263.7 263.2 262.9 262.8 262.6 262.2 261.9 261.2 260.6 260.6 260.9 260.5 260.2 260.0 259.6 259.2 258.9 258.8 259.2 259.6 259.4 259.2 259.1 259.1 259.3 259.7 259.9 260.0 260.1 260.2 260.3 260.2 260.0 259.7 259.4 259.1 259.7 260.3 260.8 261.5 262.1 262.7 263.3 263.8 264.2 264.5 264.8 264.6 264.4 264.0 262.2 260.2 257.8 254.5 250.4 246.2 244.1 243.0 244.5 249.3 255.8 262.6 269.1 275.6 283.4 290.6 298.1 304.0 309.2 314.4 320.6 328.4 335.6 343.5 354.1 365.7 377.8 388.1 392.9 395.6 396.8 396.6 395.1 392.6 388.9 385.7 382.3 378.5 375.3 371.8 367.9 365.9 364.8 365.1 366.3 369.1 372.1 375.3 377.9 380.8 383.9 387.0 389.1 391.1 393.2 394.3 395.3 396.3 397.1 397.1 396.8 395.6 394.4 393.2 392.0 390.9 389.5 388.4 387.7 387.7 387.9 388.6 389.5 390.5 391.4 392.0 392.8 393.6 394.2 394.5 392.4 389.5 382.3 371.3 358.5 351.0 360.0 368.0 372.4 376.4 381.9 387.2 389.6 390.6 391.5 393.6 396.4 399.0 400.7 403.0 405.4 408.3 411.5 415.1 420.2 429.2 438.7 444.9 448.2 450.4 451.1 450.3 449.6 449.1 448.6 447.7 446.7 445.4 444.4 443.1 442.0 440.6 440.2 440.1 440.3 440.5 440.5 440.6 440.6 440.1 439.2 436.7 434.5 432.1 428.3 424.0 420.3 418.7 417.6 416.7 417.2 417.8 418.5 420.0 424.6 430.7 438.9 446.3 450.2 453.3 454.5 455.3 455.0 454.5 454.0 453.4 452.6 450.3 447.3 444.0 440.5 437.3 434.1 431.3 429.3 427.7 426.2 425.1 425.2 425.6 427.0 428.3 430.1 432.8 436.3 439.7 443.3 446.4 448.5 450.6 452.9 455.0 454.8 454.3 453.6 451.3 448.7 445.6 442.5 439.0 435.2 431.7 428.4 425.4 422.2 418.9 417.5 416.7 417.2 418.2 420.4 423.2 427.6 431.9 437.0 442.0 446.9 450.2 452.7 455.5 457.1 457.8 457.0 456.2 454.8 451.6 447.9 443.4 437.6 430.1 421.6 413.7 409.0 405.9 405.8 407.2 407.8 408.4 408.9 409.5 410.1 410.1 409.6 409.6 409.2 408.6 406.8 404.3 401.1 396.1 389.1 379.0 367.6 354.6 338.3 321.5 305.5 291.5 281.2 272.7 265.7 260.9 257.7 255.7 254.0 252.9 252.5 252.1 252.0 251.7 251.7 252.0 252.2 252.5 252.8 253.0 253.8 256.4 259.0 261.3 261.3 260.8 260.2 259.7 259.2 258.6 258.1 257.5 256.9 256.5 256.7 256.9 257.2 257.4 257.8 258.0 258.4 258.6 258.9 259.1 259.4 259.7 260.0 260.4 260.9 261.5 261.5 261.6 261.7 261.8 261.9 261.9 261.7 261.5 261.2 261.0 260.8 261.0 261.4 261.7 262.1 262.4 262.3 262.2 262.2 262.1 262.1 262.0 261.9 261.9 261.8 261.8 261.7 261.5 261.0 260.3 259.6 258.8 257.7 256.8 255.7 256.0 256.4 256.8 257.0 257.3 257.9 258.8 259.9 261.3 263.1 265.5 268.0 270.9 275.0 281.5 291.0 299.6 304.0 306.3 307.4 309.2 310.2 310.9 311.1 310.9 308.4 305.6 303.1 300.7 299.1 297.9 296.8 296.1 296.9 298.5 301.1 303.7 306.1 308.6 311.3 315.2 318.6 321.4 324.2 327.2 330.2 332.8 334.3 335.4 335.0 334.5 333.8 333.0 331.3 329.4 327.5 325.7 324.2 323.4 322.7 323.4 324.0 324.6 325.3 326.2 327.4 328.5 329.3 329.8 330.0 330.4 330.7 330.6 329.1 327.2 325.2 321.6 315.3 307.1 295.7 285.2 282.6 286.5 295.5 305.4 310.1 315.1 319.2 322.6 326.0 329.8 333.3 336.6 340.1 343.8 348.3 352.8 355.7 356.7 356.8 356.4 355.3 354.1 352.6 351.0 349.3 347.8 346.9 346.0 345.0 345.2 345.3 345.4 345.6 346.4 347.4 348.1 348.8 349.3 349.8 350.3 349.8 349.1 348.5 347.8 344.1 339.8 334.3 328.0 321.4 321.2 325.7 332.7 341.8 351.0 355.4 358.5 358.8 358.2 357.6 356.8 356.2 355.6 355.0 354.3 353.3 352.4 351.7 351.1 350.6 350.1 349.5 349.0 348.4 347.8 347.3 346.7 346.4 346.6 347.0 347.3 347.7 348.0 348.4 348.8 349.5 350.1 350.7 351.3 352.1 352.6 353.1 352.9 352.2 351.7 351.1 349.8 347.0 343.6 339.9 337.2 338.7 340.9 343.3 345.8 345.8 345.7 345.6 345.6 345.6 342.6 339.6 336.6 332.0 326.8 323.5 320.4 317.6 314.4 310.2 306.2 302.3 298.7 294.4 290.0 287.0 283.9 280.6 276.7 271.8 264.1 261.5 258.5 255.5 254.2 252.1 250.8 249.4 248.5 247.5 246.7 246.4 246.1 246.1 245.8 245.8 245.5 245.5 245.2 245.2 245.2 245.5 246.4 247.2 248.8 250.2 251.2 253.0 254.5 256.0 257.3 259.6 261.3 262.4 262.7 262.8 263.1 263.5 263.9 264.2 264.4 264.5 264.8 264.8 264.8 264.8 264.5 264.2 263.9 263.6 263.3 263.3 262.9 262.7 262.7 262.5 261.9 261.9 261.9 261.9 261.9 261.9 262.4 262.4 262.7 262.7 263.0 263.3 263.6 263.9 264.2 264.2 264.2 264.3 264.5 264.5 264.5 264.5 264.2 263.9 263.5 263.0 262.1 261.0 260.1 258.6 258.3 254.6 250.4 245.5 241.2 240.1 240.3 240.8 241.3 240.8 240.3 239.8 239.3 238.8 238.3 237.3 236.3 235.2 234.3 233.5 232.7 232.0 231.1 230.1 230.1 230.1 229.9 229.8 229.5 228.9 228.3 227.7 227.5 227.2 226.5 225.5 224.1 222.3 221.3 220.7 221.3 222.2 223.6 225.7 226.0 226.6 227.4 228.4 228.2 227.7 227.0 225.6 223.9 222.3 220.4 218.7 216.8 214.7 212.4 210.4 209.3 208.7 209.0 209.6 210.3 211.1 212.4 214.1 216.0 217.7 219.5 221.1 222.8 224.9 227.0 228.4 229.6 230.7 230.8 230.6 230.1 229.0 227.8 226.3 224.0 221.8 219.8 217.5 215.6 213.6 211.6 210.0 208.6 207.3 206.8 206.6 207.0 207.7 208.3 209.9 211.5 212.9 214.5 216.1 217.8 219.5 221.3 223.5 225.7 227.8 229.1 230.0 230.4 230.4 229.1 228.0 226.8 225.4 223.1 220.5 217.8 215.4 213.0 210.3 207.9 206.9 206.1 205.4 205.6 206.2 206.7 207.5 209.2 211.5 213.7 215.8 217.8 219.6 221.1 222.7 224.2 225.7 227.0 227.2 227.4 227.1 226.7 226.7", + "f0_timestep": "0.005" + }, + { + "offset": 218.16, + "text": "SP 你 望 着 晚 霞 SP 轻 声 和 我 说 话 SP 听 我 的 回 答 SP", + "ph_seq": "SP n i w ang zh e w an x ia SP q in sh eng h e w o sh uo h ua SP t ing w o d e h ui d a SP", + "ph_dur": "0.1625 0.0813 0.3019 0.1045 0.3019 0.0929 0.2786 0.1277 0.0929 0.1045 0.3947 0.1045 0.0929 0.1277 0.0813 0.1277 0.0697 0.1393 0.058 0.1045 0.0929 0.1045 0.1045 0.3483 0.1393 0.1277 0.1161 0.058 0.1741 0.0348 0.2902 0.1045 0.1509 0.0464 1.4048 0.0464", + "ph_num": "2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 1", + "note_seq": "rest F4 G4 A4 C5 C5 rest C4 C4 A4 A4 C5 C5 rest G4 G4 G4 A4 A4 rest", + "note_dur": "0.24 0.4 0.4 0.4 0.2 0.4 0.2 0.2 0.2 0.2 0.2 0.2 0.35 0.275 0.175 0.2 0.4 0.2 1.4 0.05", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "215.8 215.8 215.8 213.6 211.0 209.0 207.1 205.7 259.5 261.1 262.7 264.3 265.9 267.5 269.1 270.8 272.4 274.1 275.7 277.4 279.1 280.8 282.5 284.2 286.0 287.7 289.5 291.2 327.7 328.9 329.7 330.4 331.3 331.7 332.0 332.2 332.4 332.6 332.9 333.1 333.4 333.6 333.8 334.2 334.5 334.7 334.9 335.1 335.4 336.3 340.4 343.8 345.7 347.0 348.2 348.1 347.7 347.3 347.0 346.4 345.3 344.1 342.9 341.6 341.2 340.7 340.2 339.6 339.1 339.8 340.7 341.6 342.8 343.8 345.1 346.1 346.8 347.5 348.2 348.8 349.3 349.6 349.8 350.0 350.1 350.3 350.4 350.4 350.2 350.2 350.2 350.1 350.0 350.0 349.7 349.3 349.0 348.7 348.2 348.0 347.9 348.4 349.1 348.6 348.1 347.6 347.0 346.2 344.2 341.8 339.6 336.7 331.3 324.7 318.6 313.7 310.1 308.6 308.1 308.7 313.2 317.9 323.7 332.7 343.2 353.4 363.2 372.6 381.5 390.2 396.6 401.1 403.9 406.3 407.6 407.7 407.1 406.2 404.2 401.3 398.6 396.0 392.9 389.7 386.7 385.1 383.7 383.4 383.5 383.5 383.9 384.5 385.5 386.4 388.6 390.6 392.2 393.2 394.0 394.6 395.3 395.9 396.4 396.6 396.0 394.6 393.2 391.7 390.6 389.8 389.0 388.3 388.3 388.6 388.9 389.2 389.4 389.9 390.2 390.5 390.8 391.1 391.5 392.0 392.5 392.9 393.0 391.9 390.4 387.9 381.8 374.5 363.1 349.4 334.8 323.0 315.9 310.7 312.2 319.4 327.0 333.9 341.8 350.6 361.5 372.1 383.4 398.4 414.8 425.7 434.9 440.0 443.6 447.2 447.6 447.8 447.3 446.3 444.9 443.2 441.4 440.0 438.7 437.5 436.0 435.1 434.4 434.0 434.7 435.3 436.1 436.8 437.3 438.2 438.9 439.5 440.1 440.4 440.5 440.8 440.9 441.0 440.6 440.3 439.9 439.6 439.4 439.2 439.5 439.6 439.7 439.7 439.9 440.0 440.1 440.3 440.3 440.4 440.5 441.1 441.5 442.1 442.5 443.1 443.6 443.9 444.1 444.1 444.1 444.1 443.4 441.4 439.0 436.5 432.1 428.4 425.6 425.5 427.0 429.3 434.2 440.5 448.3 457.4 467.0 475.0 483.2 493.5 504.3 514.6 521.7 526.5 530.6 532.7 533.7 533.9 533.6 532.4 530.9 528.9 527.3 526.5 526.1 525.4 523.0 520.5 517.2 511.2 504.0 491.3 480.4 476.1 477.5 481.2 484.4 486.2 487.6 490.1 497.3 506.0 513.4 517.1 519.3 517.5 514.9 512.1 510.3 510.0 510.7 517.0 523.4 528.7 533.1 537.3 538.9 540.3 541.2 540.7 539.8 538.6 535.3 532.3 529.3 526.0 522.6 519.5 516.6 513.4 510.1 508.9 507.6 507.0 507.1 507.8 510.0 512.2 515.3 519.4 523.3 527.4 531.6 535.0 537.7 540.5 542.6 542.1 541.5 540.5 537.0 533.2 529.0 524.8 520.1 515.2 510.3 506.2 504.0 502.2 502.5 503.6 505.0 506.9 509.1 511.6 514.6 517.3 520.1 523.0 525.1 527.0 528.4 528.9 529.3 528.7 528.3 527.9 527.3 526.7 526.3 527.1 528.3 528.7 527.8 526.3 525.1 523.9 523.4 522.3 518.4 517.8 517.2 516.8 516.2 515.5 514.6 512.3 510.9 508.8 506.0 502.5 497.5 491.3 482.9 470.5 453.7 434.7 413.9 388.2 362.0 337.7 316.7 301.5 288.8 278.6 271.5 266.8 263.4 260.9 259.1 257.9 257.1 256.6 255.7 255.5 255.4 255.4 255.4 255.2 255.2 254.8 254.0 255.3 257.7 260.1 260.5 260.0 259.4 258.8 258.0 257.8 258.8 260.0 261.2 262.5 262.7 262.7 262.2 258.9 254.8 246.1 237.9 231.7 227.9 224.8 227.0 229.6 233.2 236.9 240.2 243.4 246.6 249.1 251.6 254.3 257.1 259.5 261.6 263.8 266.0 267.7 266.1 264.4 262.5 260.6 259.3 258.1 257.0 256.0 256.2 256.8 257.6 258.7 260.0 261.5 263.0 264.3 265.5 266.5 267.4 268.2 268.4 267.4 265.9 262.1 257.4 251.2 245.2 239.5 238.9 245.4 253.4 263.6 277.6 295.5 315.8 333.8 351.8 371.2 391.1 410.5 422.6 431.0 438.5 444.6 447.5 448.5 448.2 447.8 447.9 447.5 446.4 445.0 443.2 441.3 440.8 440.8 440.1 439.2 438.2 437.7 437.8 438.1 438.4 438.7 437.8 437.4 437.2 437.2 437.2 437.0 437.0 437.0 437.2 438.5 440.3 441.8 443.3 444.9 444.3 443.6 442.8 442.2 442.2 442.5 442.6 442.9 443.2 443.3 443.6 443.6 442.3 441.2 439.0 432.2 418.7 408.7 406.8 413.8 424.0 433.4 436.8 437.8 438.5 439.5 440.4 441.3 442.4 445.0 450.0 456.0 461.6 465.6 469.6 474.9 480.0 482.3 484.8 489.2 497.3 511.2 523.7 530.4 532.6 533.0 532.7 532.5 531.6 530.5 529.0 527.5 525.8 529.4 527.8 526.6 524.8 522.6 521.4 518.4 515.2 511.6 507.2 504.8 501.6 495.9 491.0 484.6 480.0 476.0 474.3 472.9 472.4 472.4 476.8 478.2 479.8 483.3 486.8 491.0 495.3 503.6 512.0 519.0 524.6 527.8 530.1 532.0 533.0 533.8 534.6 533.0 531.5 529.9 528.0 525.4 522.8 520.6 518.3 515.9 513.4 511.1 510.0 509.0 508.0 506.9 508.0 509.0 510.4 513.3 516.9 520.6 524.2 527.3 530.7 534.2 537.7 539.4 540.3 540.2 539.5 538.4 535.3 532.1 528.3 524.2 519.7 515.9 512.6 510.4 508.9 507.8 507.0 507.9 509.2 511.0 512.5 514.2 516.6 519.6 522.6 525.4 528.4 530.9 532.5 533.9 535.4 536.1 535.6 534.2 533.0 530.7 527.7 523.4 518.8 513.7 507.0 501.1 496.3 493.6 491.9 491.3 490.8 490.1 489.5 489.1 473.8 471.3 468.7 466.2 463.7 461.1 458.7 456.2 453.7 451.2 448.8 446.4 444.0 441.6 439.2 436.8 434.4 432.1 429.7 427.4 425.1 422.8 420.5 418.2 416.0 413.7 312.0 311.7 311.7 311.7 311.7 311.7 311.7 311.7 312.7 340.3 353.5 362.3 371.1 377.3 382.1 384.7 386.9 389.1 390.2 390.8 391.5 392.0 392.7 393.4 392.8 392.4 392.7 393.1 393.6 394.1 394.3 394.1 393.9 393.6 393.1 392.0 391.9 392.2 392.4 392.8 392.9 392.1 391.3 390.2 390.8 391.3 391.9 393.2 394.7 394.7 394.6 394.5 394.5 394.5 394.3 394.3 394.3 394.1 394.0 394.0 393.9 393.8 393.8 393.6 393.1 392.8 392.6 392.3 392.0 391.7 391.3 391.2 391.1 391.1 390.9 389.8 384.9 374.0 358.2 342.8 331.2 322.6 316.7 318.0 322.4 332.0 342.4 354.8 369.6 383.7 390.0 391.1 390.9 390.9 392.2 393.4 394.6 395.9 397.2 396.9 396.4 396.2 395.7 394.7 393.4 392.3 391.2 390.0 388.8 387.5 386.6 386.5 386.6 386.8 387.7 388.4 389.2 390.0 390.6 391.5 392.3 393.1 393.5 393.8 394.3 394.2 394.0 393.9 393.8 393.6 393.5 393.4 393.0 392.7 392.4 392.0 391.7 391.4 391.1 390.3 388.4 386.3 383.3 374.5 364.9 357.0 352.9 353.4 355.9 358.7 363.3 367.6 371.7 375.8 380.1 384.0 387.9 392.3 396.1 400.2 403.2 406.0 409.5 413.4 416.4 419.5 422.9 427.5 433.4 439.8 444.9 449.0 452.3 452.6 451.4 450.2 448.6 447.4 446.4 444.9 443.4 442.0 440.8 440.3 439.4 439.0 438.7 439.1 439.7 440.2 439.9 439.4 439.0 438.7 433.7 426.8 414.5 398.0 369.1 367.4 366.6 366.2 366.2 367.0 370.4 373.2 376.9 379.5 381.9 383.7 385.5 387.5 388.4 390.2 391.1 392.4 393.6 394.5 395.4 395.9 393.8 393.7 393.7 393.6 393.6 392.9 392.0 391.4 390.9 390.2 389.7 388.8 388.4 387.9 387.5 387.5 387.5 387.5 387.5 389.3 394.0 397.8 401.2 405.6 408.9 412.0 415.4 418.1 421.2 425.0 428.0 431.2 434.2 436.5 438.3 440.5 442.8 444.3 446.4 448.2 446.7 446.3 445.9 445.6 445.0 444.4 443.7 442.9 442.3 441.4 440.6 440.1 440.2 440.3 440.3 440.5 440.5 440.7 440.8 441.0 441.0 441.2 441.3 441.0 441.0 440.9 440.8 440.6 440.5 440.4 440.4 440.8 441.4 442.0 441.7 441.4 441.3 441.1 440.8 440.5 440.6 440.8 440.8 441.0 441.0 441.1 441.3 441.3 441.5 441.5 441.5 441.5 441.3 441.3 441.3 441.3 441.3 441.3 441.0 441.0 441.0 441.0 441.0 441.0 441.0 440.8 440.8 440.6 440.0 439.2 439.0 439.1 439.2 439.5 439.8 440.2 440.6 441.0 441.3 441.6 441.9 442.2 442.5 442.8 443.1 443.4 443.8 444.3 444.6 444.7 444.1 443.5 442.9 442.3 442.4 442.3 441.7 440.7 439.7 438.8 437.8 437.0 436.1 435.2 434.3 433.9 434.7 436.1 437.0 437.8 438.6 439.4 440.1 441.0 441.8 443.2 444.3 445.6 446.4 447.0 447.7 448.3 448.9 448.7 448.1 447.8 447.3 445.6 443.6 441.8 440.5 439.2 438.0 436.0 434.0 433.2 432.8 432.3 432.7 433.6 435.6 437.4 439.3 440.5 441.5 442.3 443.2 444.1 445.1 446.1 447.0 448.1 448.9 448.2 447.6 446.9 446.0 444.5 442.5 440.4 438.9 438.0 437.2 436.5 435.8 435.2 435.3 435.8 436.2 436.0 436.0 435.8 435.5 435.4 435.8 436.2 436.8 437.8 438.5 439.4 440.3 441.7 443.1 443.8 444.5 445.2 446.3 447.5 447.9 448.3 448.6 449.0 449.6 449.2 448.3 447.5 446.5 444.3 442.0 439.7 437.2 435.3 433.9 432.7 430.8 428.9 427.4 426.5 426.0 426.6 427.6 429.1 431.0 432.9 435.3 438.4 441.8 445.6 449.5 452.8 456.3 459.2 462.5 465.9 467.2 468.2 468.3 464.3 458.9 457.6 456.0 454.9 453.7 452.4 450.8 449.6 449.0 449.0", + "f0_timestep": "0.005" + }, + { + "offset": 224.48, + "text": "SP 谁 都 想 一 生 浪 漫 无 暇 雪 月 和 风 花 去 思 念 一 个 他 SP", + "ph_seq": "SP sh ei d ou x iang y i sh eng l ang m an w u x ia x ve y ve h e f eng h ua q v s i0 n ian y i g e t a SP", + "ph_dur": "0.2206 0.1045 0.1741 0.0232 0.1045 0.1045 0.1509 0.0464 0.0929 0.1045 0.3251 0.0697 0.1277 0.0813 0.3251 0.0697 0.0929 0.1045 0.2786 0.1277 0.1277 0.0697 0.1393 0.058 0.1161 0.0813 0.1277 0.0813 0.2786 0.1161 0.0813 0.1161 0.1393 0.0697 0.3135 0.0813 0.3483 0.0464 0.3019 0.1045 0.3947 0.058", + "ph_num": "2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest D4 E4 F4 G4 A4 C5 C5 C5 C5 D5 C5 C5 C5 C5 A#4 A#4 A#4 A4 G4 A4 rest", + "note_dur": "0.32 0.2 0.2 0.2 0.2 0.4 0.2 0.4 0.2 0.4 0.2 0.2 0.2 0.2 0.4 0.2 0.2 0.4 0.4 0.4 0.4 0.05", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "441.0 441.0 441.0 440.6 380.6 378.9 377.1 375.4 373.6 371.9 370.2 368.5 366.8 365.1 363.4 361.8 360.1 358.4 356.8 355.1 353.5 351.9 350.2 348.6 347.0 345.4 343.8 342.2 340.7 339.1 337.5 336.0 334.4 332.9 331.3 329.8 328.3 326.8 325.3 323.8 322.3 320.8 319.3 317.8 293.7 293.4 293.1 292.8 292.5 292.3 291.9 291.7 291.5 291.2 290.8 290.6 290.3 290.0 289.7 289.5 289.2 288.9 288.6 288.3 288.1 287.5 287.0 289.0 293.7 299.5 301.0 300.6 299.7 298.4 296.9 295.5 294.1 292.9 292.1 291.3 290.6 290.7 290.9 291.1 291.3 292.0 292.7 293.4 294.2 295.0 295.8 295.9 295.1 293.3 291.5 289.4 287.3 285.7 284.5 285.3 289.2 295.3 305.2 319.0 333.8 339.6 339.3 338.0 336.1 333.8 331.4 331.2 331.0 330.6 330.0 330.0 330.1 331.0 331.0 331.0 330.5 330.0 329.5 329.0 328.5 328.3 327.6 327.0 326.6 326.5 326.2 325.8 325.8 325.8 325.8 326.2 326.6 327.0 327.7 328.9 330.6 332.9 335.4 337.7 340.7 344.6 347.6 350.6 351.5 352.3 352.7 353.5 353.9 353.9 353.9 353.9 353.5 352.7 348.3 347.8 348.0 348.0 348.0 347.9 347.8 347.8 347.8 347.9 348.6 349.4 350.4 351.3 352.3 353.1 353.1 353.0 352.4 351.7 351.5 351.3 352.0 353.4 356.6 361.5 369.4 377.4 382.6 385.5 387.7 390.0 391.9 393.3 394.3 395.4 396.1 395.2 394.4 397.7 397.7 397.7 397.7 397.7 397.7 397.5 396.8 396.0 395.4 394.5 394.0 393.1 392.4 392.4 392.4 392.4 392.0 392.4 393.1 394.5 395.9 396.8 399.3 401.2 405.6 409.4 405.6 414.1 422.3 429.1 434.3 437.0 438.2 439.2 439.7 440.2 440.3 439.9 439.2 438.7 437.9 437.2 436.1 435.4 434.7 434.4 434.4 434.6 435.6 436.4 437.3 438.2 439.2 440.1 440.9 441.8 441.8 441.5 441.1 440.9 440.6 440.3 438.7 437.4 436.7 436.3 435.7 435.3 436.1 436.9 438.2 439.5 441.1 442.4 443.6 444.5 444.9 445.5 446.1 446.7 447.1 446.7 445.9 444.9 443.6 442.3 441.0 439.9 439.5 439.3 439.0 437.7 435.9 434.0 431.2 428.0 426.5 427.8 430.1 433.4 438.2 445.6 454.7 465.8 478.0 494.4 512.2 526.1 533.2 537.2 538.7 538.9 539.5 539.4 538.7 537.3 535.5 531.2 527.3 524.7 522.3 519.3 519.3 519.2 518.9 518.5 519.0 519.8 521.1 522.4 521.7 520.2 517.6 515.1 513.1 512.5 512.5 512.3 510.9 509.4 508.1 506.6 504.9 502.6 500.5 498.3 498.5 504.6 508.6 508.5 506.7 504.0 501.0 498.4 496.6 494.6 492.7 490.3 487.8 485.6 483.6 482.6 481.6 481.0 480.8 482.0 484.0 485.7 487.5 489.2 491.2 495.0 499.0 502.9 506.5 510.7 514.9 519.0 521.6 523.7 526.1 528.4 528.4 528.4 528.4 528.4 528.4 527.6 526.6 525.9 525.2 524.2 523.4 522.6 521.9 521.5 521.4 521.1 521.1 521.8 522.5 523.6 524.5 524.6 524.9 525.1 524.5 523.4 522.6 522.3 522.6 522.9 523.6 524.1 524.6 525.2 525.7 525.3 524.9 524.6 524.2 523.9 523.3 522.3 521.3 520.4 521.4 522.6 524.2 525.5 526.7 527.2 527.3 527.5 527.7 527.8 527.2 526.7 526.1 525.6 524.0 515.5 503.5 483.6 463.7 443.3 430.0 420.2 417.7 417.7 420.5 424.5 428.8 432.6 435.7 438.9 442.0 445.2 449.0 453.2 457.9 463.2 468.6 473.1 476.0 478.7 481.5 492.0 502.8 511.4 517.6 523.3 528.6 532.8 533.8 533.4 533.0 532.9 532.6 532.0 531.1 529.6 528.1 526.8 525.7 524.4 523.6 523.1 522.5 522.0 521.5 520.8 520.8 520.8 520.8 520.8 520.8 520.8 520.8 520.8 521.3 521.7 522.1 522.5 522.8 523.2 523.9 524.5 526.1 527.6 528.6 529.3 530.1 530.8 531.5 531.6 526.9 518.6 498.9 480.4 461.8 442.5 430.5 428.3 428.7 432.8 438.2 445.6 453.3 459.8 466.2 472.4 479.2 485.4 491.6 498.8 506.0 514.9 524.3 532.3 539.8 547.4 556.5 564.6 570.3 576.0 582.3 585.6 589.9 595.8 601.7 604.5 605.4 605.7 604.9 603.8 602.1 599.9 597.9 596.2 594.0 591.8 591.4 591.1 590.6 590.1 589.7 589.2 588.5 588.1 587.2 585.6 583.6 581.1 576.4 570.2 564.1 557.5 551.8 549.1 546.4 543.3 544.0 544.1 543.7 542.4 538.6 535.0 532.9 531.7 531.2 531.2 529.6 528.4 527.7 527.3 527.2 527.4 527.0 526.7 526.4 526.0 525.9 525.4 524.6 523.5 522.6 521.5 520.4 518.0 511.3 502.5 479.4 460.1 447.7 442.9 441.3 450.0 459.2 466.8 473.5 480.4 487.4 493.9 500.2 507.9 517.5 528.1 536.6 539.1 539.5 536.7 533.2 529.9 527.3 526.4 526.0 525.6 525.2 525.1 525.1 525.7 526.5 527.6 528.4 529.2 530.2 525.5 507.2 481.0 454.9 444.3 464.3 482.2 494.2 498.1 498.5 503.5 508.6 512.7 515.3 517.2 520.2 525.6 530.9 535.1 538.6 541.3 540.5 539.1 537.9 536.4 533.3 530.6 528.1 525.1 522.0 519.7 519.2 520.1 521.2 522.3 523.8 524.9 526.1 527.3 526.9 526.2 523.3 515.5 504.7 486.0 466.7 451.8 444.7 442.7 441.8 444.1 446.7 449.1 452.6 457.1 461.4 465.0 467.5 470.0 472.4 484.1 496.2 504.7 507.8 508.9 510.0 510.1 507.6 503.8 500.2 496.6 494.7 493.1 490.8 487.9 485.1 483.4 484.3 486.2 488.2 490.3 494.2 497.8 501.6 505.7 510.3 515.0 519.3 522.5 525.1 527.4 528.4 528.7 528.5 528.1 527.7 527.3 526.7 526.4 525.7 525.3 524.9 524.4 523.9 523.6 524.3 524.9 525.4 526.1 526.9 527.6 527.5 526.3 523.6 514.6 495.2 480.7 476.4 484.6 497.3 504.1 507.3 509.6 511.3 511.0 507.0 503.6 500.1 496.3 492.5 488.1 483.6 480.1 477.5 475.1 471.7 468.3 464.4 459.9 456.0 459.7 463.5 466.7 469.2 471.6 471.9 472.1 472.0 471.6 471.6 471.2 466.8 460.1 452.4 443.3 434.7 430.5 430.6 432.1 435.4 439.2 442.5 443.7 443.1 441.8 443.0 444.0 445.0 446.1 447.2 448.4 449.5 450.6 451.7 452.9 454.0 455.5 456.4 455.8 454.5 456.5 460.5 464.5 468.1 469.9 471.3 472.6 473.5 473.4 472.9 472.6 472.1 471.7 471.4 471.0 470.6 470.1 469.8 469.5 468.9 468.4 467.2 465.2 460.9 455.0 454.1 454.9 455.9 456.5 456.8 457.4 457.8 458.2 459.0 460.3 461.3 462.3 463.7 466.2 469.9 473.6 474.9 475.6 477.4 479.5 478.2 477.3 476.6 476.3 476.0 474.6 473.2 471.9 470.5 469.1 467.8 466.4 465.1 463.9 463.2 462.6 462.4 462.4 462.6 462.9 463.3 463.5 463.6 463.9 464.3 465.2 466.0 466.9 467.6 468.1 468.4 468.7 469.0 468.7 468.3 468.0 467.6 467.4 467.0 467.2 467.7 467.3 466.7 466.2 465.6 465.6 465.4 465.2 465.1 464.8 464.8 464.7 465.1 465.4 464.6 463.3 462.1 461.6 462.4 463.7 465.0 465.4 465.4 465.6 464.8 463.8 462.7 461.7 460.3 458.7 456.4 453.2 449.9 446.7 443.6 440.7 436.7 430.5 423.7 418.2 413.4 409.4 406.4 403.5 402.1 400.9 400.0 399.9 400.2 400.2 400.4 401.2 402.0 402.8 403.7 404.8 405.9 407.7 409.6 411.7 414.3 417.4 420.7 424.7 428.5 431.5 434.2 436.1 437.8 440.0 441.7 442.6 443.6 444.5 444.1 443.4 442.8 442.2 441.8 441.5 441.2 440.8 440.4 440.1 439.7 439.6 440.0 440.6 441.0 441.5 442.1 442.5 442.8 442.0 441.0 432.6 418.3 406.8 400.1 403.0 414.0 423.5 429.5 434.7 437.7 439.6 440.3 440.5 439.7 437.2 433.2 429.5 424.9 417.3 405.4 393.8 387.8 387.0 387.9 389.1 388.8 388.7 389.0 389.4 390.2 390.2 390.4 390.5 390.8 390.6 390.5 390.2 390.2 390.2 390.2 390.0 390.0 390.1 390.4 390.6 390.7 391.0 391.1 391.3 391.5 391.8 391.9 392.1 392.2 392.4 392.6 392.4 392.3 392.6 392.9 393.2 393.6 393.9 394.2 394.5 394.8 394.9 393.9 392.2 387.9 382.8 376.8 372.2 369.9 368.5 364.8 362.6 363.5 368.2 375.2 382.5 389.3 392.6 393.4 393.1 393.3 393.1 393.1 393.3 393.4 394.5 396.0 398.0 400.6 402.1 404.2 406.2 407.7 410.1 417.2 426.2 438.5 445.5 448.6 450.5 451.5 452.2 452.2 451.7 451.1 449.8 448.6 447.4 445.4 443.1 440.7 437.9 434.8 431.6 429.0 426.2 423.8 422.5 421.5 422.6 423.8 425.6 427.8 430.8 433.9 437.0 441.3 445.1 448.7 451.1 453.0 454.8 456.2 456.4 456.0 455.5 454.3 451.8 448.1 443.8 439.6 435.7 432.1 428.0 424.3 420.6 417.6 416.2 415.4 416.5 418.3 420.2 423.5 428.0 432.4 435.9 439.4 442.4 445.7 449.2 451.4 451.5 451.2 450.9 449.2 445.4 441.5 438.2 434.7 430.9 429.1 427.4 426.2 426.7 428.0 428.5 429.0 429.4 429.8 430.4 430.8 431.3 431.4 431.4", + "f0_timestep": "0.005" + }, + { + "offset": 230.48, + "text": "SP 却 再 也 无 法 完 全 停 下 SP", + "ph_seq": "SP q ve z ai y E w u f a w an q van t ing x ia SP", + "ph_dur": "0.1741 0.1509 0.3019 0.1045 0.267 0.1277 0.685 0.1161 0.2554 0.1393 0.3019 0.1045 0.6037 0.1974 0.2786 0.1161 0.3947 0.209 1.9969 0.1974", + "ph_num": "2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest C4 D4 A4 C5 C5 A4 C5 C4 D4 rest", + "note_dur": "0.32 0.4 0.4 0.8 0.4 0.4 0.8 0.4 0.6 2.0 0.2", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "438.7 438.7 438.7 439.3 375.4 372.7 370.1 367.5 365.0 362.4 359.9 357.3 354.8 352.4 349.9 347.4 345.0 342.6 340.2 337.8 335.4 333.1 330.7 328.4 326.1 323.8 321.6 319.3 317.1 314.9 312.6 310.5 308.3 306.1 304.0 301.8 299.7 297.6 295.5 293.5 291.4 289.4 287.3 285.3 261.6 261.0 260.3 259.8 259.2 258.5 257.9 257.2 256.7 256.1 255.4 254.8 254.1 253.5 253.0 252.3 251.7 251.1 250.5 249.9 249.2 248.6 247.5 246.6 245.8 246.7 247.9 250.0 252.1 254.3 255.4 255.8 255.9 255.8 255.8 255.8 255.7 255.7 255.6 255.5 255.5 255.4 255.5 255.9 256.4 257.0 257.7 258.3 258.9 259.7 260.4 261.1 261.2 261.3 261.4 261.5 261.5 261.6 261.3 260.9 261.2 261.4 261.7 261.9 261.9 261.8 261.8 261.7 261.6 261.6 261.5 261.4 261.2 260.8 260.5 260.1 259.3 257.0 253.6 246.9 239.2 230.4 222.6 217.7 215.7 217.1 221.7 226.1 230.3 235.2 240.3 244.4 248.5 252.4 256.8 261.8 267.3 271.7 276.0 280.4 284.8 289.2 293.5 296.7 298.4 298.1 297.0 296.0 295.2 294.3 293.8 293.2 292.6 292.0 291.4 291.1 290.8 290.5 290.2 290.2 290.5 290.7 290.9 291.0 291.1 291.3 291.8 292.3 292.6 292.4 292.0 291.6 291.7 291.9 292.0 292.1 292.3 292.4 292.5 292.6 292.8 292.9 293.0 293.1 293.3 293.3 293.5 293.4 293.3 293.3 293.2 293.1 293.0 293.0 292.9 292.8 292.0 291.1 290.2 288.7 287.0 285.3 284.1 283.1 282.1 279.8 277.2 275.3 274.4 274.3 276.1 278.7 282.3 287.4 294.7 304.0 315.6 327.0 337.6 350.2 364.3 375.7 386.4 394.0 400.5 405.8 409.1 411.3 413.4 415.4 416.3 416.5 416.3 415.6 414.8 413.9 412.9 412.5 411.6 410.7 409.8 409.5 409.0 408.7 408.6 408.6 408.9 409.1 409.7 410.6 411.5 413.0 414.7 416.2 417.8 420.6 423.4 426.2 429.0 432.1 435.2 436.8 438.5 440.0 441.3 442.0 442.4 442.7 442.8 442.6 442.0 440.4 438.9 438.3 438.0 437.5 437.2 436.9 436.8 437.2 437.5 437.5 437.8 438.1 438.2 438.5 439.1 439.8 440.4 440.1 439.7 439.6 440.0 440.6 441.0 440.8 440.4 440.2 439.9 439.6 439.2 438.9 438.7 438.9 439.2 439.5 439.6 439.8 440.1 440.3 440.5 440.8 441.0 441.2 441.5 441.5 441.8 442.1 442.3 442.5 442.3 442.0 441.7 441.5 441.1 440.5 439.6 439.1 438.9 438.5 438.2 437.8 437.6 438.0 438.6 438.2 437.8 438.0 438.1 438.2 438.5 438.9 439.4 439.6 440.1 440.5 440.8 441.1 441.1 440.8 440.5 440.4 440.1 439.8 439.6 439.5 439.2 438.9 438.7 438.9 439.0 439.2 439.4 439.5 439.9 440.3 439.9 439.7 439.7 439.7 440.0 440.7 441.4 441.8 442.6 444.1 446.6 450.3 454.9 461.1 468.6 476.8 484.7 491.0 496.7 501.4 505.5 510.0 514.1 518.2 521.7 522.9 523.7 523.7 523.3 522.6 522.0 519.9 517.4 514.8 511.9 509.0 507.2 507.1 507.6 508.4 508.8 509.4 510.1 512.0 514.3 516.8 519.0 520.7 522.3 524.2 525.8 527.3 528.1 528.6 528.7 528.4 528.4 528.2 528.1 527.8 527.1 526.8 526.4 526.1 525.7 525.2 523.9 521.1 517.0 507.8 486.9 464.1 446.0 440.5 456.0 484.6 510.3 521.0 520.2 516.0 512.3 510.0 508.5 508.1 508.1 508.1 508.1 508.1 507.8 506.3 504.6 503.1 501.5 500.6 504.3 510.9 524.2 535.1 541.6 546.7 545.2 543.5 540.9 537.7 534.2 530.9 527.7 525.0 523.0 521.4 519.6 518.1 517.4 516.8 516.3 517.1 517.8 518.5 519.2 520.2 521.1 522.1 523.1 524.2 524.8 524.8 525.2 525.4 525.1 525.1 524.7 524.5 524.3 523.9 523.9 523.6 523.4 523.1 522.9 522.6 521.6 520.8 519.8 518.7 517.8 516.7 514.7 511.1 506.2 498.2 489.3 480.4 468.9 455.1 441.5 430.1 426.5 424.3 422.1 419.4 420.5 421.2 421.8 422.4 423.1 423.5 425.7 427.5 428.7 429.7 433.3 436.2 439.0 441.8 444.3 445.0 445.5 445.1 445.2 446.1 445.2 444.9 444.9 444.5 444.1 443.4 442.9 442.7 442.4 442.3 441.7 441.5 441.5 441.5 441.5 441.6 441.9 442.2 442.5 442.8 441.8 441.0 440.1 439.4 439.2 439.0 439.0 439.0 439.0 438.7 438.8 439.2 439.6 439.9 439.7 439.7 439.5 439.3 439.2 439.0 438.7 438.6 438.5 438.3 438.0 437.7 437.3 436.8 435.7 434.4 435.0 435.4 436.0 436.4 437.0 437.7 438.6 439.6 440.8 441.8 443.1 443.9 444.2 444.3 444.3 444.6 444.3 443.6 442.7 441.8 440.6 439.7 438.9 437.9 436.7 435.8 434.8 434.1 433.8 433.4 433.1 433.0 433.4 434.3 436.2 438.4 440.3 441.6 443.0 444.6 445.9 447.0 446.9 446.3 445.6 444.0 442.2 440.9 439.9 439.0 438.4 438.2 438.2 438.4 438.5 438.8 440.6 442.4 444.2 445.6 446.9 448.1 448.9 448.4 447.7 447.0 445.0 441.0 436.2 430.9 419.0 409.1 403.9 405.3 411.2 417.8 423.4 426.0 428.0 430.2 432.4 434.6 437.2 440.4 443.6 447.0 450.3 453.0 455.3 457.9 460.2 462.5 464.8 467.5 470.5 473.9 477.6 481.6 485.7 487.9 490.8 493.5 495.7 498.7 501.6 511.5 521.1 529.0 535.9 540.1 542.3 542.1 541.1 539.3 537.0 534.6 531.8 529.1 526.5 524.2 522.6 520.8 519.0 517.0 514.9 515.6 516.3 517.0 517.7 518.7 520.2 521.5 522.6 524.2 525.4 526.9 527.7 527.0 525.9 525.1 523.9 522.9 521.9 520.8 519.6 520.5 521.6 522.4 523.1 524.2 525.2 525.6 525.1 524.1 522.9 521.8 520.8 519.3 515.3 510.4 505.6 499.0 487.8 471.0 444.1 419.8 409.9 403.5 396.0 388.2 389.2 389.9 389.4 385.1 379.1 372.0 363.7 355.6 345.5 332.7 320.1 306.5 292.4 275.3 258.3 242.3 231.3 229.6 231.5 235.4 236.1 238.1 240.4 241.3 242.0 243.3 244.7 245.3 245.6 246.2 246.8 247.3 248.2 249.4 251.0 252.8 254.2 255.0 255.5 256.2 256.8 257.5 258.1 258.7 258.9 259.0 259.1 259.2 259.4 260.0 260.5 261.1 261.5 261.6 261.8 261.8 261.9 261.9 261.9 261.9 262.1 262.1 262.2 262.2 262.2 262.4 262.4 262.4 262.3 262.2 262.2 262.1 262.1 262.1 261.9 261.9 261.5 261.1 260.6 260.9 261.2 261.6 261.9 262.3 262.7 263.1 263.4 263.7 263.7 263.7 263.8 263.9 263.9 263.7 262.4 260.7 258.2 254.4 249.2 241.3 233.9 230.8 229.1 229.8 231.7 233.6 235.4 237.1 238.8 240.7 243.0 245.1 247.2 249.5 251.8 254.2 256.5 258.2 260.0 261.9 263.9 265.6 267.5 269.6 271.8 274.1 275.9 277.5 279.6 282.0 283.2 284.4 286.0 288.4 292.6 297.5 301.6 303.4 304.2 305.1 304.8 304.3 303.7 302.8 302.1 301.2 300.3 299.4 298.5 297.6 297.2 296.8 296.0 295.2 294.3 293.6 293.2 292.9 293.1 293.3 293.5 293.7 294.0 294.3 294.5 294.7 295.0 295.3 295.5 295.7 296.0 296.3 296.5 296.7 296.4 296.0 295.6 295.3 294.9 294.5 294.3 293.9 293.5 293.2 293.5 293.8 293.7 293.7 293.7 293.7 293.5 293.5 293.5 293.4 293.3 293.3 293.2 293.2 293.3 293.5 293.5 293.7 293.8 294.0 294.2 294.2 294.4 294.5 294.6 294.9 294.9 295.1 295.1 294.9 294.5 294.2 294.1 294.0 294.0 294.0 293.8 293.8 293.8 293.7 293.7 293.6 293.5 293.6 293.8 294.0 294.4 294.6 294.7 294.4 294.0 293.7 294.2 294.5 294.9 294.9 294.6 294.4 294.2 293.6 293.0 293.6 293.8 293.7 293.7 293.5 293.3 293.1 292.9 292.7 293.0 293.5 293.2 293.1 292.9 292.6 292.4 292.2 292.1 291.8 292.1 292.4 292.8 293.1 293.4 293.7 294.0 294.2 294.3 294.2 294.0 294.0 293.9 293.8 293.7 293.7 293.2 292.9 292.8 292.9 293.0 293.0 293.2 293.2 293.2 293.3 293.3 293.1 292.8 292.5 292.3 292.5 292.6 292.6 292.8 292.8 293.0 293.1 293.2 293.2 292.6 292.1 292.1 292.2 292.3 292.5 292.3 292.2 292.1 292.0 292.0 291.8 291.6 291.5 291.5 291.3 291.3 291.1 291.0 290.8 290.8 290.7 291.0 291.2 291.6 292.0 292.2 292.5 292.8 293.2 293.5 293.9 294.4 294.9 295.4 296.0 296.5 296.9 296.7 296.3 295.9 295.9 295.8 295.0 294.0 293.0 291.9 291.1 290.5 290.0 289.6 289.0 288.8 288.9 289.2 289.5 290.0 290.9 291.9 293.1 294.2 295.4 296.6 297.6 298.7 299.8 300.3 300.7 301.0 300.8 300.5 300.1 299.0 298.0 297.4 296.7 294.8 293.1 291.4 289.6 287.8 286.1 285.2 284.7 284.1 284.3 284.7 285.1 286.2 287.7 289.1 290.6 292.0 292.9 293.7 294.7 295.5 296.3 297.2 298.1 299.0 300.0 300.9 301.5 301.6 301.6 300.7 300.1 299.2 297.8 296.2 294.5 292.9 291.6 290.4 289.1 287.1 285.5 284.5 283.5 282.7 282.0 282.8 283.9 284.9 286.1 286.8 287.5 288.3 290.0 292.0 294.0 295.6 296.9 298.3 300.0 301.5 302.8 303.6 304.4 305.1 304.4 303.5 302.1 300.5 298.8 296.9 295.1 292.6 289.4 286.3 283.2 280.4 278.7 277.8 277.0 276.4 276.7 277.3 279.2 281.5 283.9 285.7 287.5 289.5 292.0 294.3 296.6 298.8 301.0 301.7 302.0 302.4 302.4 301.9 301.1 300.1 298.1 296.2 294.5 292.8 291.3 289.8 288.4 287.1 286.3 285.8 286.1 286.5 287.0 288.3 290.0 291.7 293.4 295.0 296.9 298.2 299.2 300.2 300.8 301.2 301.8 302.3 302.7 302.9 302.4 301.6 300.1 298.6 296.9 295.2 293.1 291.1 289.4 287.5 285.6 283.6 281.8 280.2 279.0 278.0 276.9 275.8 275.0 274.0 273.1 273.8 275.0 276.9 279.6 282.2 283.4 284.5 285.6 286.7 288.0 289.0 290.2 290.8 290.8 290.8 290.8 290.8 290.8 290.8 290.8 290.8 290.8 290.8 290.8 290.8 290.8 290.8 290.8 290.8 290.8 290.8 290.8 290.8 290.8 290.8 290.8 290.8 290.8 290.8 290.8 290.8 290.8 290.8 290.8", + "f0_timestep": "0.005" + } +] \ No newline at end of file diff --git a/samples/01_逍遥仙.ds b/samples/01_逍遥仙.ds new file mode 100644 index 0000000..21e98b2 --- /dev/null +++ b/samples/01_逍遥仙.ds @@ -0,0 +1,146 @@ +[ + { + "offset": 1.569, + "text": "AP 啊 啊 啊 啊 啊 AP 啊 啊 啊 啊 啊 SP", + "ph_seq": "AP t ian sh ang b ai y v j ing AP sh ir er l ou w u ch eng SP", + "ph_dur": "0.4946 0.1054 0.5332 0.1898 0.6121 0.1099 0.5739 0.1491 0.5227 0.2003 1.988 0.7082 0.1958 0.6131 0.6718 0.1611 0.606 0.116 0.5829 0.1401 2.169 0.4", + "ph_num": "2 2 2 2 2 1 2 1 2 2 2 1 1", + "note_seq": "rest A#3 G#3 F#3 A#3 G#3 F#3 F3 rest D#3 F#3 F3 C#3 A#2 rest", + "note_dur": "0.6 0.723 0.722 0.723 0.723 1.085 0.361 0.542 0.904 0.723 0.723 0.722 0.723 2.169 0.4", + "note_slur": "0 0 0 0 0 0 1 1 0 0 0 0 0 0 0", + "f0_seq": "233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.0 232.5 231.8 230.6 229.0 227.1 225.1 223.0 220.7 218.6 216.5 214.5 212.3 210.5 209.0 207.6 206.7 206.1 206.2 206.8 207.7 209.9 211.1 211.5 212.0 212.4 212.8 213.0 213.9 215.2 216.5 217.2 217.5 218.3 219.1 219.9 220.1 220.5 221.1 221.9 222.6 223.1 223.5 224.0 224.6 224.9 225.7 227.0 228.0 228.8 228.9 229.5 230.1 230.8 231.1 231.4 231.9 232.9 233.7 234.3 234.4 234.2 234.1 233.9 233.8 233.7 233.5 233.4 233.0 232.6 232.3 231.9 231.8 231.6 231.4 231.1 230.8 230.5 230.2 230.1 230.5 231.0 231.5 231.9 232.2 232.5 233.0 233.1 233.3 233.4 233.6 233.8 233.9 234.4 234.8 234.8 234.7 234.5 234.5 234.3 234.1 234.0 234.0 233.8 233.4 233.1 232.9 232.6 232.7 232.9 233.1 233.3 233.5 233.6 234.1 234.9 235.4 236.4 237.4 238.1 238.7 239.0 237.8 235.8 232.8 228.2 223.2 218.6 216.1 214.8 214.6 215.2 215.8 216.3 216.2 215.9 215.6 215.5 215.5 215.6 215.8 215.9 216.1 216.4 216.5 216.5 216.3 216.5 217.1 217.6 217.7 217.3 217.1 216.6 216.1 216.0 215.9 215.7 215.5 215.7 216.5 217.2 217.5 217.1 216.0 214.9 213.6 212.7 211.8 210.9 210.2 209.5 208.9 208.4 208.0 207.5 207.2 206.7 206.0 205.6 205.3 204.9 204.9 204.9 204.9 204.9 205.0 205.1 205.1 205.1 205.1 205.1 205.2 205.3 205.5 205.7 205.8 206.0 206.2 206.3 206.5 206.6 206.6 207.1 207.5 207.5 207.6 207.7 207.9 208.0 208.0 208.1 208.4 208.7 209.1 209.4 209.6 209.9 209.9 209.9 209.8 209.8 209.8 209.7 209.6 209.6 209.5 209.4 209.3 209.3 209.3 209.3 209.0 208.9 208.7 208.6 208.6 208.5 208.4 208.3 208.1 208.0 207.9 207.7 207.6 207.2 206.7 206.4 206.1 205.8 205.5 205.4 205.5 205.7 205.8 206.0 206.1 206.4 206.9 207.4 207.6 207.8 208.0 208.2 208.4 208.5 208.8 209.2 209.2 209.3 209.5 209.5 209.6 209.7 209.9 209.9 209.9 209.8 209.6 209.5 209.2 209.1 209.0 208.4 207.8 206.8 206.4 205.6 204.0 202.7 201.1 199.0 196.1 191.9 185.6 180.5 174.0 165.6 160.6 157.0 155.2 157.1 160.1 164.8 171.6 177.2 180.7 181.5 181.7 181.3 180.9 180.5 180.1 181.2 182.1 182.0 182.5 183.3 184.0 184.6 184.8 184.7 184.7 184.7 184.6 184.3 184.0 183.8 183.6 183.5 183.3 183.2 183.0 182.8 182.7 182.5 182.3 182.2 182.1 182.1 182.2 182.3 182.5 182.6 182.7 182.8 183.2 183.6 183.8 184.1 184.5 184.8 185.2 185.5 186.0 186.0 185.9 185.9 185.8 185.7 185.6 185.5 185.5 185.1 184.8 184.7 184.5 184.4 184.2 184.2 184.1 184.1 184.1 184.2 184.3 184.3 184.4 184.5 184.5 184.6 184.7 184.8 184.8 184.8 184.9 185.1 185.3 185.9 186.3 186.7 186.8 186.9 187.1 187.5 187.5 187.5 187.0 186.7 186.5 186.0 185.6 185.2 185.1 184.9 184.7 184.4 184.1 183.9 183.8 183.7 183.7 183.9 184.0 184.0 184.2 184.3 184.4 184.4 184.6 185.1 185.8 186.5 187.3 187.4 187.6 187.8 187.9 187.8 187.5 186.9 186.5 186.3 186.2 185.8 184.9 184.2 183.6 183.1 182.1 181.3 180.8 179.8 179.2 179.4 180.2 181.4 183.1 185.0 187.4 190.4 195.1 199.5 202.7 206.4 209.5 211.5 213.3 214.9 216.4 217.6 218.7 219.9 220.7 221.4 221.8 221.4 220.7 219.9 219.4 219.1 218.8 218.2 217.7 217.8 217.6 217.3 216.9 216.7 216.6 216.9 217.3 217.9 218.7 219.8 220.9 221.4 223.0 225.2 227.5 229.0 230.2 232.0 233.1 233.9 234.6 234.8 234.7 234.5 234.3 234.1 234.1 233.8 233.4 233.1 232.5 231.9 231.9 232.0 232.2 232.2 232.4 232.5 232.7 233.0 233.2 233.4 233.5 233.6 233.8 233.9 233.9 234.5 234.7 234.7 234.5 234.3 234.2 234.1 234.0 233.9 233.8 233.7 233.6 233.5 233.4 233.4 233.3 233.2 233.1 233.1 233.0 232.7 232.4 232.4 232.7 233.1 233.3 233.2 232.9 232.5 232.1 232.0 232.0 232.4 232.4 232.1 231.5 231.9 232.4 233.0 233.5 233.6 233.3 232.4 231.5 230.7 227.8 223.1 216.5 206.4 198.4 194.3 193.1 193.2 194.2 195.9 197.5 198.8 199.3 199.8 200.4 201.4 202.1 202.2 202.1 202.0 202.2 202.3 202.4 202.6 202.7 202.6 202.4 201.9 201.2 200.4 202.2 204.5 205.7 206.8 207.5 207.0 206.9 206.8 206.5 206.2 205.8 205.6 205.4 205.4 205.4 205.3 205.3 205.2 205.1 205.0 204.9 204.9 204.9 204.9 204.9 204.9 204.9 205.0 205.0 204.9 205.0 205.0 205.0 205.1 205.1 205.1 205.1 205.2 205.2 205.3 205.4 205.6 205.7 205.7 205.9 206.0 206.0 206.2 206.5 206.7 206.7 206.7 206.7 206.8 206.8 206.8 206.9 206.9 206.9 207.0 207.1 207.2 207.2 207.2 207.3 207.4 207.4 207.4 207.5 207.6 207.7 207.7 207.7 207.8 207.8 207.8 207.8 207.8 207.7 207.7 207.6 207.5 207.3 207.2 207.1 207.1 207.1 207.3 207.6 207.6 207.5 207.4 207.3 207.1 206.9 206.7 206.5 206.5 206.4 206.3 206.3 206.4 206.5 206.6 206.6 206.7 206.8 206.9 206.9 206.9 206.9 207.0 207.1 207.3 207.4 207.5 207.6 207.7 208.1 208.2 208.3 208.3 208.2 208.1 208.1 208.1 208.0 207.9 207.9 207.9 207.8 207.7 207.7 207.7 207.6 207.5 207.5 207.5 207.5 207.6 207.8 207.9 208.1 208.2 208.4 208.5 208.4 208.3 208.1 208.0 207.9 207.9 207.8 207.8 207.8 207.7 207.7 207.7 207.6 207.5 207.4 207.4 207.4 207.3 207.3 207.3 207.2 207.2 207.2 207.1 207.1 207.1 207.1 207.2 207.4 207.8 207.9 207.9 207.7 207.5 207.3 207.1 207.1 207.1 207.1 207.2 207.3 207.4 207.4 207.5 207.6 207.7 207.9 207.9 207.9 208.0 207.9 207.9 207.9 208.0 208.0 208.0 208.2 208.3 208.3 208.2 208.2 208.4 208.1 207.7 207.2 207.3 207.1 206.3 205.4 204.4 203.5 202.0 200.5 199.0 197.6 196.0 194.2 191.8 189.2 186.5 184.1 182.1 180.7 179.7 179.2 179.3 179.4 179.4 179.4 180.1 180.7 181.1 181.7 182.2 182.5 182.6 182.7 182.7 182.7 182.8 182.9 182.9 183.0 183.0 182.8 182.5 182.4 182.3 182.4 182.4 182.5 182.6 182.6 182.7 182.8 182.8 182.8 182.9 183.0 183.0 183.0 183.3 183.5 183.8 184.0 184.1 184.2 184.4 184.5 184.5 184.6 184.6 184.5 184.4 184.3 184.1 183.9 183.6 183.1 182.4 181.6 180.7 179.6 178.4 177.3 176.3 174.9 173.3 172.1 170.4 168.3 167.1 166.5 166.3 166.6 166.9 167.2 168.7 169.7 170.5 171.8 173.0 174.2 175.3 176.0 176.3 176.5 176.5 176.2 176.0 175.4 174.3 173.9 173.1 171.9 171.4 170.3 168.7 167.9 167.5 167.4 167.6 167.8 168.0 168.5 169.1 169.6 170.9 172.3 173.6 174.0 174.7 175.8 176.3 176.5 176.3 176.1 175.9 175.8 175.4 174.9 174.2 173.1 171.7 170.2 169.4 168.6 167.9 168.0 168.4 168.6 169.2 170.0 170.8 172.4 173.8 174.6 175.3 175.9 176.3 176.3 176.3 176.1 175.9 175.7 175.6 174.8 174.0 173.3 172.3 171.1 169.6 168.9 168.3 167.2 167.0 166.9 167.1 167.3 167.4 167.6 168.3 169.3 170.4 171.2 171.7 172.1 172.9 174.0 174.2 174.4 174.4 174.4 174.4 174.4 174.4 174.5 174.5 174.5 174.5 174.5 174.5 174.6 174.6 174.6 174.6 174.6 174.6 174.6 174.6 174.6 174.6 174.6 174.6 174.6 174.6 174.6 174.6 174.6 174.6 174.6 174.6 174.6 174.6 174.6 174.6 174.6 174.6 174.4 174.2 174.1 173.9 173.7 173.5 173.3 173.1 172.9 172.8 172.6 172.4 172.2 172.0 171.8 171.7 171.5 171.3 171.1 170.9 170.7 170.6 170.4 170.2 170.0 169.8 169.7 169.5 169.3 169.1 168.9 168.8 168.6 168.4 168.2 168.0 167.9 167.7 167.5 167.3 167.1 167.0 166.8 166.6 166.4 166.3 166.1 165.9 165.7 165.6 165.4 165.2 165.0 164.8 164.7 164.5 164.3 164.1 164.0 163.8 163.6 163.4 163.3 163.1 162.9 162.8 162.6 162.4 162.2 162.1 161.9 161.7 161.5 161.4 161.2 161.0 160.9 160.7 160.5 160.3 160.2 160.0 159.8 159.7 159.5 159.3 159.2 159.0 158.8 158.6 158.5 158.3 158.1 158.0 157.8 157.6 157.5 157.3 157.1 157.0 156.8 156.6 156.5 156.3 156.1 156.0 155.8 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.5 155.3 155.2 155.0 154.7 154.4 154.1 153.8 153.4 153.1 152.9 152.5 152.3 152.1 151.9 151.8 151.9 152.2 152.0 151.4 150.3 147.8 145.9 144.7 144.5 144.5 144.8 145.2 145.6 145.8 146.7 147.8 148.7 149.3 149.9 150.6 150.9 151.3 151.7 151.9 152.0 152.1 152.2 152.3 152.4 152.7 153.1 153.4 153.7 153.9 154.0 154.1 154.2 154.3 154.4 154.4 154.6 154.6 154.5 154.3 154.1 153.8 153.6 153.7 153.9 154.3 154.7 155.1 155.2 155.5 155.8 156.1 156.5 156.8 157.2 157.6 158.0 158.1 158.4 158.8 158.8 158.8 158.7 158.6 158.5 158.4 158.2 158.2 158.1 157.8 157.4 157.0 156.6 156.1 155.6 155.2 155.0 154.9 154.7 154.4 154.2 154.4 154.6 154.7 155.0 155.2 155.5 156.3 156.9 157.3 157.5 157.7 157.9 158.0 158.3 158.6 158.6 158.6 158.5 158.3 158.2 158.2 158.1 157.9 157.6 156.3 155.3 154.5 155.1 155.7 156.3 155.6 155.0 154.8 154.5 154.2 154.0 154.0 153.8 153.3 152.9 152.1 150.5 149.6 148.7 147.8 147.3 147.0 146.8 146.8 147.1 147.9 148.8 149.4 149.4 148.7 148.4 149.0 150.4 153.8 160.2 166.6 172.2 176.5 179.5 181.7 183.4 184.8 185.9 186.5 186.8 187.0 187.2 186.9 186.6 186.2 185.3 184.2 183.5 182.6 181.6 180.7 180.2 179.8 179.5 179.5 179.7 179.9 180.0 180.3 181.0 181.5 182.0 182.9 183.2 183.4 183.7 183.9 184.2 184.6 185.2 185.6 185.6 185.5 185.4 185.3 185.2 185.1 184.9 184.7 184.4 184.3 184.1 183.9 183.8 183.8 183.8 183.9 184.1 184.3 184.3 184.4 184.5 184.4 184.2 184.0 184.0 183.8 183.6 183.4 183.3 183.2 183.0 182.8 182.7 182.7 182.7 182.8 182.8 182.9 183.0 183.1 183.1 183.2 183.3 183.5 183.7 183.9 184.0 184.1 184.3 184.4 184.5 184.5 184.6 184.8 184.9 185.0 185.0 185.0 185.0 184.9 184.8 184.8 184.7 184.6 184.5 184.5 184.4 184.3 184.3 184.2 184.1 184.0 184.0 184.0 184.0 183.9 183.6 183.4 183.3 183.1 182.7 182.3 181.9 181.6 181.1 180.6 180.3 179.3 178.4 177.8 176.6 175.2 173.5 172.0 170.8 170.4 170.3 170.3 170.2 170.4 170.8 171.5 172.7 174.4 177.1 178.1 178.5 178.6 178.4 178.2 178.1 177.8 177.4 176.9 176.3 175.7 175.2 174.8 174.3 173.8 173.4 173.1 172.9 173.0 173.0 173.0 173.1 173.1 173.2 173.3 173.3 173.2 173.1 173.0 172.7 172.6 172.6 172.7 172.7 172.7 172.8 172.9 172.9 173.0 173.0 173.0 173.1 173.1 173.1 173.3 173.6 173.8 174.2 174.5 174.7 174.7 174.7 174.6 174.5 174.4 174.3 174.2 174.2 174.2 174.1 173.9 173.7 173.6 173.5 173.4 173.4 173.4 173.3 173.3 173.3 173.2 173.1 173.1 173.0 172.9 172.9 172.8 172.7 172.7 172.6 172.5 172.5 172.4 172.4 172.4 172.3 172.3 172.3 172.3 172.4 172.4 172.5 172.6 172.7 172.8 172.9 172.9 173.0 173.1 173.1 173.2 173.3 173.3 173.4 173.7 173.9 173.9 173.9 173.8 173.7 173.7 173.6 173.4 173.2 173.1 173.1 173.0 172.8 172.6 172.4 172.2 172.0 172.0 172.0 172.0 172.0 172.0 172.2 172.1 172.0 172.0 172.7 173.5 173.9 173.9 173.7 173.7 172.9 171.8 170.5 168.5 165.8 161.0 156.8 153.0 150.6 148.3 145.9 143.6 141.6 139.8 138.2 136.5 134.9 134.3 133.7 133.2 133.1 133.1 133.2 133.3 133.4 133.6 134.3 134.9 135.4 136.3 136.8 137.2 137.3 137.5 137.7 137.4 137.3 137.2 136.7 136.4 136.3 136.6 136.8 136.8 137.0 137.1 137.2 137.1 137.0 136.8 136.8 136.9 137.0 137.1 137.2 137.3 137.5 137.6 137.6 137.7 137.9 138.5 138.8 139.2 139.6 139.8 140.0 140.0 139.9 139.7 139.6 139.5 139.3 139.0 138.8 138.5 138.2 138.1 138.0 137.9 137.8 137.8 137.7 137.5 137.3 137.1 136.8 136.7 137.0 137.7 138.3 138.8 139.4 139.8 139.9 140.3 140.6 140.8 141.1 141.3 141.3 141.5 141.7 142.0 142.2 142.5 142.7 142.9 143.0 142.9 142.5 142.0 141.5 140.9 140.0 138.0 136.8 135.7 134.0 133.4 133.4 134.5 134.6 134.4 134.1 133.8 133.4 132.5 131.8 131.2 130.6 129.9 129.3 128.9 128.7 128.5 128.5 128.0 127.3 126.5 125.1 123.6 123.1 123.0 123.1 123.2 124.7 126.8 127.3 126.5 125.2 124.7 124.0 123.1 122.5 122.1 122.0 122.2 122.2 122.0 122.2 122.5 122.7 122.4 122.0 121.6 121.1 120.8 120.5 119.8 119.2 118.7 117.2 117.4 117.4 117.4 117.4 117.4 117.4 117.4 117.4 117.4 117.4 117.4 117.4 117.4 117.4 117.4 117.4 117.4 117.4 117.4 117.4 117.4 117.4 117.4 117.4 117.4 117.4 117.4 117.4 117.4 117.4 117.3 117.3 117.3 117.3 117.3 117.3 117.3 117.3 117.3 117.3 117.3 117.3 117.3 117.3 117.2 117.2 117.2 117.2 117.2 117.2 117.2 117.2 117.2 117.2 117.2 117.2 117.1 117.1 117.1 117.1 117.1 117.1 117.1 117.1 117.1 117.1 117.1 117.1 117.1 117.1 117.1 117.0 117.0 117.0 117.0 117.0 117.0 117.0 117.0 116.9 116.9 116.9 116.9 116.9 116.9 116.9 116.9 116.9 116.9 116.9 116.9 116.9 116.9 116.8 116.8 116.8 116.8 116.8 116.8 116.8 116.8 116.8 116.8 116.7 116.7 116.7 116.7 116.7 116.7 116.7 116.7 116.7 116.7 116.7 116.7 116.7 116.6 116.6 116.6 116.6 116.6 116.6 116.6 116.6 116.6 116.6 116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.4 116.4 116.4 116.4 116.4 116.4 116.4 116.4 116.4 116.4 116.4 116.4 116.4 116.4 116.4 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 119.3 116.5 116.7 116.8 117.0 117.3 117.6 118.0 118.3 118.6 118.9 119.1 119.2 119.3 119.2 119.1 118.8 118.4 117.9 117.3 116.6 115.7 115.0 114.1 113.4 112.9 112.2 111.8 111.5 111.3 111.2 111.2 111.4 111.7 112.1 112.6 113.2 114.0 114.8 115.5 116.4 117.4 118.2 119.0 119.7 120.5 121.0 121.5 121.9 122.1 122.2 122.2 122.0 121.7 121.1 120.6 120.0 119.2 118.3 117.4 116.6 115.7 114.8 114.0 113.4 112.6 112.0 111.6 111.3 111.0 111.0 111.0 111.1 111.5 111.9 112.4 113.1 113.7 114.6 115.5 116.3 117.2 118.2 119.1 119.9 120.6 121.3 121.8 122.1 122.4 122.5 122.5 122.3 121.9 121.3 120.9 120.1 119.2 118.3 117.5 116.6 115.8 114.9 113.9 113.1 112.5 111.9 111.3 111.0 110.8 110.6 110.7 110.9 111.2 111.7 112.3 112.9 113.7 114.6 115.5 116.4 117.4 118.4 119.3 120.1 120.8 121.4 122.0 122.5 122.7 122.8 122.7 122.5 122.2 121.7 121.0 120.3 119.5 118.6 117.5 116.6 115.7 114.7 113.8 113.0 112.2 111.6 111.1 110.8 110.5 110.4 110.5 110.7 111.0 111.4 112.0 112.8 113.6 114.4 115.5 116.5 117.4 118.3 119.4 120.3 121.0 121.7 122.3 122.8 123.0 123.1 123.0 122.8 122.4 121.9 121.3 120.4 119.6 118.6 117.7 116.6 115.6 114.7 113.7 112.8 112.1 111.4 110.9 110.4 110.3 110.1 110.2 110.4 110.8 111.3 111.9 112.7 113.5 114.4 115.4 116.3 117.4 118.5 119.4 120.4 121.3 121.9 122.5 123.0 123.3 123.4 123.3 123.1 122.7 122.2 121.5 120.2 119.1 118.2 117.2 116.5 116.0 115.7 115.6 115.6 115.9 116.2 121.7 122.1 122.1 121.9 121.6 121.3 120.9 120.5 120.0 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7 119.7", + "f0_timestep": "0.005" + }, + { + "offset": 13.157, + "text": "AP 啊 啊 啊 啊 啊 AP 啊 啊 啊 啊 啊 SP", + "ph_seq": "AP x ian r en f u w o d ing AP j ie f a sh ou ch ang sh eng SP", + "ph_dur": "0.3988 0.1792 0.6387 0.0843 0.598 0.125 0.598 0.125 0.5784 0.1446 2.168 0.589 0.134 0.5739 0.1491 0.482 0.241 0.5573 0.1657 0.4986 0.2244 2.168 0.144", + "ph_num": "2 2 2 2 2 1 2 2 2 2 2 1 1", + "note_seq": "rest A#3 G#3 F#3 A#3 C#4 G#3 rest F#3 A#3 C#4 C#3 D#3 rest", + "note_dur": "0.578 0.723 0.723 0.723 0.723 1.445 0.723 0.723 0.723 0.723 0.723 0.723 2.168 0.144", + "note_slur": "0 0 0 0 0 0 1 0 0 0 0 0 0 0", + "f0_seq": "116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.5 117.4 118.6 119.7 120.9 122.0 123.2 124.4 125.6 126.8 128.0 129.3 130.5 131.8 133.1 134.3 135.6 136.9 138.3 139.6 140.9 142.3 143.7 145.1 146.5 147.9 149.3 150.7 152.2 153.7 155.1 156.6 158.1 159.7 161.2 162.8 164.3 165.9 167.5 169.1 170.8 172.4 174.1 175.8 177.5 179.2 180.9 182.6 184.4 186.2 188.0 189.8 191.6 193.5 195.3 197.2 199.1 201.0 203.0 204.9 206.9 208.9 210.9 213.0 215.0 217.1 219.2 221.3 223.4 225.6 227.8 230.0 232.2 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 231.0 228.2 223.2 216.3 208.1 199.4 190.9 183.1 176.4 170.9 167.6 166.0 165.9 167.2 169.5 172.9 177.2 182.1 187.4 192.7 197.7 202.2 205.5 207.6 208.5 208.5 208.5 208.5 208.5 208.5 208.5 208.5 208.5 208.5 208.5 208.5 208.5 208.7 209.6 211.4 214.1 217.3 221.0 224.4 227.4 230.3 232.5 233.6 234.7 235.2 235.9 236.3 236.6 236.4 236.2 236.0 235.8 235.2 234.5 233.8 233.4 233.0 232.5 232.4 232.4 232.4 232.4 232.4 232.5 232.5 232.6 232.6 232.7 232.7 232.8 232.8 232.8 232.9 232.9 233.0 233.0 233.1 233.1 233.2 233.2 233.2 233.2 233.2 233.3 233.6 233.9 234.0 234.0 234.1 234.2 234.3 234.3 234.4 234.6 234.8 234.8 234.9 235.0 235.0 235.2 235.6 236.2 236.3 236.3 236.2 236.2 236.1 235.9 235.8 235.7 235.7 235.6 235.5 235.5 235.3 235.1 234.8 234.9 235.0 235.1 235.2 235.3 235.4 235.5 235.5 235.5 235.1 234.7 234.4 233.8 232.7 230.7 229.3 226.8 222.9 219.3 215.5 211.2 204.7 197.7 190.0 185.0 181.0 177.3 174.9 173.6 173.5 174.5 176.2 178.5 183.3 189.3 196.3 200.7 203.6 205.4 207.4 208.7 208.6 208.5 208.6 208.8 208.7 208.5 208.3 207.9 207.4 206.7 206.2 205.8 205.7 205.7 205.7 205.6 205.7 205.8 205.8 205.9 206.0 206.0 206.0 206.2 206.5 207.0 207.5 208.0 208.5 208.9 209.2 209.2 209.2 209.2 209.2 209.1 209.1 209.0 209.0 208.9 208.9 208.8 208.8 208.7 208.6 208.6 208.6 208.5 208.5 208.5 208.5 208.7 208.8 209.0 209.2 209.3 209.3 209.2 209.0 208.7 208.4 208.1 207.8 207.6 207.5 207.4 207.1 206.6 206.1 205.8 205.7 205.7 205.8 205.9 206.0 206.1 206.1 206.2 206.3 206.4 206.5 206.5 206.5 206.6 206.8 207.0 207.3 207.5 207.8 208.1 208.2 208.3 208.4 208.4 208.6 208.7 208.7 208.7 208.7 208.7 208.5 208.4 208.2 208.1 208.0 207.9 207.7 207.7 207.7 206.8 204.5 200.1 195.4 191.1 187.1 184.8 184.9 187.9 191.3 194.2 194.9 194.8 194.5 194.4 194.4 194.5 194.5 194.5 194.6 194.9 195.0 194.8 194.7 194.6 194.6 194.6 194.5 194.1 193.4 192.8 192.3 191.6 191.0 190.6 189.5 188.2 186.6 186.0 185.6 185.6 185.3 184.9 184.7 184.5 184.1 183.5 183.1 182.7 181.8 180.8 179.9 179.5 179.0 178.6 178.7 178.8 178.9 179.1 179.3 179.5 180.4 181.7 183.2 184.1 184.7 185.3 186.5 187.8 189.0 189.8 190.3 190.7 190.4 190.2 190.1 189.5 188.7 187.9 186.3 185.1 184.1 182.7 181.7 181.0 180.1 179.5 179.2 179.4 179.6 179.8 181.2 182.1 182.9 184.7 186.0 186.9 187.8 188.6 189.2 189.7 190.1 190.4 190.1 189.8 189.4 188.7 187.9 186.7 185.1 183.7 182.7 181.7 181.0 180.4 180.1 179.8 179.4 179.5 179.8 180.3 181.1 181.8 182.3 183.1 183.8 184.1 184.4 184.7 185.1 185.5 185.7 185.9 186.1 186.5 186.9 187.3 187.6 187.9 188.0 188.0 187.8 187.7 187.5 187.4 187.3 187.2 187.2 187.0 186.9 186.8 186.7 186.5 186.2 186.1 186.1 186.0 185.5 184.9 184.6 183.8 182.8 182.0 181.9 182.0 182.6 183.9 185.4 187.6 190.6 194.1 198.7 203.7 208.5 211.5 216.0 221.3 225.8 229.8 233.2 235.2 237.4 239.3 240.6 240.7 240.0 239.5 239.5 239.4 237.6 235.4 233.3 232.1 231.2 230.4 228.9 228.2 228.0 227.5 227.4 227.8 228.4 229.0 229.5 229.8 230.2 230.7 231.7 232.6 233.4 234.2 234.8 235.2 235.3 235.5 235.8 235.9 235.8 235.7 235.5 235.3 235.2 235.1 234.7 233.9 233.5 233.1 232.7 232.3 232.1 232.0 231.8 231.5 231.2 231.2 231.2 231.3 231.5 231.7 231.9 232.0 232.0 232.0 232.3 232.8 233.4 233.7 233.9 234.0 233.9 233.9 233.8 233.7 233.6 233.5 233.4 233.4 233.4 233.2 232.9 232.5 232.0 231.7 231.6 231.7 231.7 231.7 231.9 232.0 232.1 232.2 232.3 232.5 232.6 232.7 232.8 232.8 232.9 233.0 233.3 233.5 233.8 234.2 234.5 234.5 234.2 234.0 233.8 233.6 233.5 233.5 233.3 233.0 232.7 232.5 232.2 231.7 231.5 231.3 230.2 226.7 220.9 211.7 204.7 199.4 195.7 190.4 184.8 181.5 179.4 178.5 178.8 179.2 179.7 180.7 182.2 184.0 185.7 189.0 194.2 202.4 208.5 213.1 219.6 226.2 232.8 236.2 231.5 232.7 234.8 238.0 242.0 246.3 250.2 253.9 255.7 257.3 256.9 256.5 255.8 254.9 253.8 252.5 251.1 249.7 248.4 247.4 246.4 245.6 244.9 244.5 244.3 244.4 244.7 245.2 245.9 246.6 247.6 248.7 250.0 251.4 253.0 254.5 256.2 257.9 259.8 261.5 263.3 265.2 267.0 268.7 270.3 271.7 273.1 274.4 275.6 276.6 277.5 278.3 278.8 279.1 278.8 277.7 277.0 276.5 275.9 275.7 275.6 275.7 275.8 275.9 276.0 276.2 276.2 276.2 276.3 276.4 276.4 276.3 276.2 276.0 275.7 275.6 275.7 276.1 276.4 276.4 276.3 276.2 276.0 275.8 275.7 275.6 275.5 275.4 275.6 275.9 276.2 276.1 276.0 275.9 275.6 275.5 275.4 275.3 275.3 275.5 275.7 275.9 276.1 276.2 276.1 275.8 275.3 275.1 275.1 275.2 275.3 275.4 275.5 275.7 275.8 275.9 276.0 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.2 276.2 276.2 276.2 276.2 276.3 276.4 276.4 276.4 276.4 276.5 276.5 276.5 276.5 276.6 276.7 276.7 276.7 276.7 276.8 276.9 276.9 276.9 276.9 276.9 277.0 277.0 277.0 277.0 277.0 277.0 277.0 277.0 277.0 276.9 276.8 276.5 276.2 276.0 275.9 275.9 275.9 275.7 275.5 275.4 275.3 275.2 275.1 275.2 275.4 275.7 276.0 276.2 276.2 276.2 276.3 276.4 276.5 276.6 276.7 276.8 277.0 277.0 277.0 277.0 277.0 276.9 276.8 276.6 276.4 276.3 276.2 276.1 276.0 275.9 275.9 276.1 276.4 276.7 276.7 276.7 276.8 277.0 277.2 277.3 277.4 277.5 277.5 277.4 277.3 277.2 277.0 276.8 276.6 276.4 276.2 276.0 275.8 275.6 275.5 275.4 275.3 275.3 275.3 275.3 275.3 275.3 275.4 275.4 275.5 275.6 275.6 275.7 275.7 275.7 275.8 275.9 276.0 276.1 276.1 276.1 276.1 276.2 276.2 276.2 276.2 276.3 276.5 276.7 276.7 276.7 276.7 276.6 276.6 276.7 276.7 276.8 276.9 277.1 277.3 277.5 277.7 277.6 277.2 277.6 278.0 278.3 277.5 276.9 276.7 276.6 276.0 274.6 272.3 269.8 267.3 263.9 260.0 255.4 249.9 244.1 237.8 231.7 226.5 222.3 218.5 215.1 212.4 211.0 210.0 209.6 209.3 209.3 209.5 209.6 209.6 209.6 209.7 209.9 210.2 210.2 209.9 209.6 209.4 209.1 208.9 208.7 208.5 208.3 207.6 206.9 206.3 205.5 204.6 204.0 203.2 202.5 202.3 202.4 202.6 202.9 203.0 203.2 203.4 204.5 205.6 206.2 207.2 208.1 208.5 209.1 209.6 209.5 209.0 208.4 207.1 205.4 203.6 201.8 200.9 200.3 199.3 198.9 199.0 199.3 199.9 200.8 202.1 203.7 205.2 205.9 207.1 208.6 209.6 210.3 210.6 210.5 210.1 209.5 208.5 207.8 207.3 206.7 206.1 205.4 203.6 202.5 201.7 200.5 199.7 199.1 198.4 198.4 198.8 199.9 200.7 201.2 202.5 203.9 205.4 206.2 207.8 209.8 210.6 211.3 211.9 211.7 211.6 211.4 211.3 211.1 210.8 209.4 207.7 205.9 204.2 202.5 200.6 197.9 195.9 195.0 193.5 192.5 192.1 192.5 193.0 193.5 195.0 196.9 199.3 201.3 203.4 205.5 207.7 209.9 212.1 213.3 213.8 213.2 212.6 211.2 208.4 205.4 203.3 202.7 202.7 202.9 203.0 203.3 203.6 204.0 204.4 204.9 205.3 205.7 206.1 206.5 206.8 207.1 207.4 207.5 207.7 207.7 207.7 207.7 207.7 207.7 207.7 207.7 207.7 207.7 207.7 207.7 207.7 207.7 207.7 207.7 207.7 207.7 207.6 207.3 206.9 206.6 206.3 205.9 205.6 205.3 204.9 204.6 204.3 204.0 203.6 203.3 203.0 202.7 202.3 202.0 201.7 201.4 201.0 200.7 200.4 200.1 199.8 199.4 199.1 198.8 198.5 198.2 197.9 197.5 197.2 196.9 196.6 196.3 196.0 195.7 195.3 195.0 194.7 194.4 194.1 193.8 193.5 193.2 192.9 192.5 192.2 191.9 191.6 191.3 191.0 190.7 190.4 190.1 189.8 189.5 189.2 188.9 188.6 188.3 188.0 187.7 187.4 187.1 186.8 186.5 186.2 185.9 185.6 185.3 185.0 185.0 185.0 185.0 185.0 185.0 185.0 185.0 185.0 185.0 185.0 185.0 185.0 185.0 185.0 185.0 185.0 185.0 185.0 185.0 185.0 185.0 184.9 184.9 184.8 184.7 184.6 184.5 184.4 184.3 184.3 184.1 184.0 183.9 183.9 183.9 183.8 184.6 185.6 187.3 187.0 186.4 185.9 185.4 185.0 185.3 185.5 185.7 185.8 185.8 185.7 185.7 185.5 185.4 185.3 185.3 185.2 185.0 184.9 184.8 184.8 184.7 184.7 184.7 184.6 184.6 184.5 184.4 184.3 184.3 184.2 184.1 184.1 184.1 183.9 183.6 183.4 183.2 183.0 182.8 182.7 183.1 183.5 183.9 184.2 184.6 185.1 185.3 185.4 185.5 185.7 185.8 186.0 185.7 185.6 185.4 185.3 185.3 185.2 185.1 185.1 185.0 184.9 184.9 184.9 184.8 184.7 184.6 184.4 184.3 184.3 184.4 184.6 184.9 184.8 184.7 184.4 184.3 184.3 184.3 184.3 184.4 184.5 184.5 184.5 184.6 184.6 184.7 184.8 184.9 184.9 185.0 185.0 185.1 185.2 185.6 186.1 186.3 186.6 186.8 187.0 187.0 186.9 186.7 186.5 186.4 186.3 185.8 185.2 184.7 183.1 180.5 176.8 170.7 165.5 162.5 162.0 163.1 165.4 167.6 169.8 172.1 174.2 176.2 177.3 179.2 181.1 182.9 184.6 186.4 188.4 190.5 192.5 194.1 196.1 198.2 200.5 202.3 204.0 205.9 207.8 209.5 210.5 210.4 210.8 214.5 219.5 224.7 226.1 226.9 227.2 227.8 228.1 228.0 227.1 225.8 224.3 223.4 222.9 222.4 220.8 219.7 219.0 218.2 217.3 216.6 216.9 217.3 218.0 218.2 218.8 219.9 221.1 221.8 222.2 224.0 225.9 227.9 228.8 230.2 231.9 233.1 234.1 235.0 235.0 234.9 234.8 234.5 234.3 234.2 234.0 233.8 233.6 232.9 232.5 232.3 231.9 231.7 231.6 231.8 231.9 232.0 232.2 232.3 232.4 232.6 232.8 233.1 233.1 233.0 232.9 232.8 232.6 232.5 232.5 232.4 232.4 232.6 232.7 232.9 233.0 233.0 233.0 232.6 232.4 232.3 232.4 232.4 232.5 232.6 232.7 232.8 232.9 233.0 233.1 233.1 233.2 233.4 233.7 234.0 234.4 234.7 234.7 234.2 233.8 233.1 231.3 227.8 223.3 217.1 213.1 210.1 208.5 207.7 207.4 207.7 208.0 208.6 210.6 212.9 215.2 217.5 218.5 219.7 222.4 225.4 228.3 230.2 231.6 233.2 236.0 239.2 242.3 244.1 246.1 248.5 251.4 253.8 255.8 257.8 260.5 263.5 266.2 269.1 272.3 275.9 278.4 280.1 281.6 283.2 284.6 285.5 285.9 286.0 284.8 283.5 282.0 280.9 280.6 280.9 280.4 279.7 278.8 277.5 276.7 276.2 276.2 276.1 275.9 275.8 275.8 275.9 276.0 276.2 276.4 276.6 276.8 276.9 277.0 277.0 277.0 276.9 276.8 276.7 276.5 276.3 276.2 276.2 276.1 275.7 275.1 274.7 274.3 274.5 274.9 275.4 276.1 276.8 277.3 277.6 278.4 279.8 280.2 280.5 280.8 280.8 280.7 280.6 280.4 280.2 280.0 279.8 279.6 279.3 278.4 277.4 276.8 276.6 276.4 276.0 275.5 275.1 274.7 274.4 274.2 274.3 274.6 275.0 275.5 275.8 276.2 276.7 277.3 277.7 277.7 277.6 277.5 277.4 277.3 277.2 277.0 276.9 276.9 276.9 276.8 276.7 276.6 276.5 276.5 276.4 276.2 276.0 275.5 275.2 274.9 274.8 272.8 269.5 266.6 262.1 256.1 248.1 242.9 239.4 235.7 234.5 235.1 235.6 234.7 232.7 229.4 225.3 220.8 216.7 212.7 209.1 207.0 204.4 201.5 196.8 192.4 188.1 183.8 179.7 175.7 170.8 166.7 163.1 159.4 155.7 151.8 147.8 145.2 143.4 140.2 139.1 139.2 140.5 140.0 138.4 137.5 136.5 135.7 136.5 137.4 138.2 137.8 137.8 138.4 138.8 139.0 138.8 138.7 138.7 138.8 138.8 138.7 138.4 137.8 137.4 137.2 137.7 138.1 138.4 137.8 137.4 137.1 136.9 136.8 136.8 136.8 136.8 136.8 136.8 136.9 136.9 136.9 136.9 137.0 137.0 137.0 137.1 137.1 137.1 137.1 137.2 137.2 137.2 137.2 137.2 137.2 137.4 137.6 137.9 138.1 138.3 138.6 139.1 139.7 140.7 141.1 140.9 139.0 138.1 137.7 138.3 138.6 138.7 139.0 139.3 139.5 139.7 139.8 139.8 139.9 140.0 140.1 140.1 140.1 140.0 139.9 139.7 139.5 139.5 139.7 140.2 141.2 142.1 142.6 142.1 141.8 141.6 141.5 141.3 141.1 140.9 140.8 140.5 139.4 137.3 134.8 133.7 133.1 132.8 133.5 134.6 136.1 136.8 137.9 139.4 140.1 140.9 141.7 142.2 142.7 143.1 143.9 144.6 145.3 145.8 146.5 147.3 148.4 149.2 149.7 150.2 150.7 151.3 152.0 152.8 154.0 155.1 156.4 158.0 160.5 162.2 162.8 160.5 158.4 156.7 156.3 156.1 156.2 156.3 156.4 156.6 156.4 156.0 155.2 155.0 154.4 153.4 153.2 153.0 152.8 152.5 152.3 152.1 151.6 151.3 151.2 151.5 151.7 152.0 152.2 152.6 153.4 154.0 154.6 155.2 155.6 155.9 156.1 156.5 156.7 156.7 156.7 156.6 156.5 156.4 156.3 156.2 156.1 156.1 156.1 156.0 155.9 155.8 155.7 155.6 155.5 155.3 155.1 155.0 155.1 155.1 155.2 155.2 155.3 155.4 155.5 155.6 155.6 155.7 155.7 155.7 155.8 155.9 156.0 156.1 156.1 156.4 156.6 156.8 156.9 157.0 157.2 157.3 157.2 157.1 156.9 156.7 156.6 156.4 156.1 155.7 155.5 155.4 155.4 155.2 155.0 154.8 154.7 154.5 154.5 154.4 154.1 153.9 153.9 153.9 154.0 154.1 154.2 154.3 154.4 154.5 154.8 155.2 155.6 155.8 156.0 156.1 156.2 156.3 156.4 156.6 156.7 156.7 156.7 156.6 156.4 156.2 156.1 156.0 155.8 155.7 155.5 155.3 155.1 154.9 154.7 154.4 154.1 153.9 153.7 153.6 153.5 153.4 153.3 153.2 153.1 152.9 152.7 152.7 152.6 152.5 152.6 152.7 152.8 152.9 153.0 153.1 153.2 153.4 153.6 154.0 154.4 154.8 155.5 156.1 156.3 156.7 157.0 157.2 157.6 157.8 157.8 157.6 157.3 156.7 156.4 156.0 155.3 154.7 154.2 153.9 153.6 153.2 152.7 152.6 152.7 152.9 153.0 153.1 153.4 153.6 153.9 154.1 154.6 155.1 155.4 155.6 155.9 156.3 156.5 156.7 156.8 157.0 157.3 157.6 157.7 157.7 157.7 157.6 157.5 157.5 157.4 157.4 157.3 157.2 157.1 156.8 156.5 156.1 155.5 155.1 154.8 154.6 154.3 154.0 153.7 153.4 153.2 153.0 152.9 152.9 153.1 153.4 153.6 153.9 154.3 154.8 155.5 155.9 156.2 156.4 156.6 156.7 156.8 157.1 157.5 157.7 157.9 158.2 158.1 158.0 157.8 157.7 157.6 157.6 157.2 156.5 155.6 155.2 154.7 154.0 153.7 153.0 152.1 151.6 151.0 150.4 150.0 149.7 149.5 149.2 148.9 148.7 148.9 149.2 149.6 150.0 150.3 150.5 151.2 152.0 152.7 153.2 153.8 154.7 156.0 157.1 157.8 158.8 159.5 159.9 160.0 160.1 160.0 159.8 159.6 159.6 159.3 158.9 158.4 157.8 157.1 155.9 154.8 153.8 153.2 152.1 150.9 150.5 149.6 148.7 148.0 148.0 148.2 148.5 148.7 149.0 150.1 150.6 151.1 152.1 153.4 154.7 155.3 156.1 157.1 157.9 158.9 160.1 161.6 162.5 163.1 164.0 164.4 164.4 164.0 162.7 161.0 160.1 158.9 157.2 154.8 152.4 149.9 147.9 146.7 146.0 144.8 144.2 144.0 144.3 144.8 145.3 146.6 147.8 148.8 150.4 151.4 151.9 152.7 153.7 155.0 155.6 156.3 157.2 158.2 158.7 158.9 158.7 158.5 158.3 157.5 156.8 156.1 154.5 153.0 151.6 150.5 149.5 148.8 148.6 148.4 148.2 148.1 148.2 148.8 149.1 149.7 150.5 151.4 152.1 152.5 153.0 153.7 155.0 156.5 157.7 158.2 159.2 160.0 160.4 161.2 161.7 161.8 161.6 161.4 161.2 160.9 160.6 160.4 159.7 158.9 157.8 157.4 157.0 156.4 156.1 156.1 156.3 156.4 156.5 156.7 157.1 157.6 157.6 157.5 157.3 157.1 157.0 156.7 155.9 154.9 153.6 151.5 150.6 150.2 150.3 150.5 150.8 151.1 151.5 151.9 152.4 152.5 152.5 152.5 152.5 152.5 152.5 152.5 152.5 152.5 152.5 152.5 152.5 152.5 152.5 152.5 152.5 152.5 152.5 152.5", + "f0_timestep": "0.005" + }, + { + "offset": 24.651, + "text": "AP 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 SP 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 SP 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 SP", + "ph_seq": "AP w u y ve x vn x ian b u c i0 y van w ei ch ang sh eng r ir y v y E f ang l e m ing sh an d uo sh ao b ian SP n a j ia t ong z i0 x iao y En w o sh ir c ai y ao y i q v q ian n ian sh en z ai b ai y vn j ian SP r u c i0 m en q ian x v m ing y En d ao y ao r en ch uan j ian y ao sh ou f an sh ir j iang g e y van SP", + "ph_dur": "0.2438 0.0452 0.1348 0.0452 0.1006 0.0804 0.2159 0.1461 0.3008 0.0602 0.2219 0.1401 0.1198 0.0602 0.3168 0.0452 0.1107 0.0693 0.1102 0.0708 0.3018 0.0602 0.1348 0.0452 0.1554 0.0256 0.1223 0.0587 0.1348 0.0452 0.1102 0.0708 0.1117 0.0693 0.1358 0.0452 0.2209 0.1401 0.1117 0.0693 0.903 0.3183 0.0437 0.1102 0.0708 0.0937 0.0863 0.2882 0.0738 0.2209 0.1401 0.2716 0.0904 0.1062 0.0738 0.2219 0.1401 0.1102 0.0708 0.1213 0.0587 0.1268 0.0542 0.1029 0.0781 0.1107 0.0693 0.1208 0.0602 0.1117 0.0693 0.2767 0.0843 0.1464 0.0346 0.2972 0.0648 0.2209 0.1401 1.084 0.1208 0.0602 0.0951 0.0859 0.1134 0.0666 0.2219 0.1401 0.2209 0.1401 0.2716 0.0904 0.1253 0.0557 0.3098 0.0512 0.1284 0.0526 0.1161 0.0639 0.1101 0.0709 0.1509 0.0301 0.1298 0.0512 0.1107 0.0693 0.1209 0.0601 0.23 0.131 0.1117 0.0693 0.3259 0.0361 0.4516 0.0904 0.723 0.072", + "ph_num": "2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest D#3 F3 F#3 F3 F#3 F3 F#3 F#3 G#3 F#3 F#3 G#3 F#3 F3 F3 F3 F#3 F3 C#3 D#3 rest A#2 C#3 D#3 C#3 D#3 F3 F#3 F#3 G#3 F#3 G#3 G#3 G#3 B3 A#3 B3 A#3 A#3 G#3 A#3 rest F#3 G#3 A#3 G#3 A#3 G#3 A#3 A#3 A#3 A#3 A#3 A#3 A#3 D#4 A#3 G#3 G#3 A#3 G#3 rest", + "note_dur": "0.289 0.18 0.181 0.362 0.361 0.362 0.18 0.362 0.18 0.181 0.362 0.18 0.181 0.181 0.18 0.181 0.181 0.181 0.361 0.181 0.903 0.362 0.181 0.18 0.362 0.361 0.362 0.18 0.362 0.181 0.18 0.181 0.181 0.18 0.181 0.181 0.181 0.18 0.181 0.362 0.361 1.084 0.181 0.181 0.18 0.362 0.361 0.362 0.181 0.361 0.181 0.18 0.181 0.181 0.181 0.18 0.181 0.361 0.181 0.362 0.542 0.723 0.072", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "155.3 155.3 155.3 155.5 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.7 155.8 155.9 156.1 156.3 156.6 156.9 157.2 157.5 157.8 158.1 158.3 158.6 158.8 159.0 159.1 159.0 158.1 156.3 154.7 154.3 154.2 154.2 154.3 154.4 154.4 154.6 154.7 154.8 155.0 155.1 155.2 155.9 156.4 156.8 156.9 156.9 156.7 156.8 156.9 157.0 157.2 157.4 157.5 157.7 157.5 157.3 158.1 159.1 160.5 162.6 166.5 171.1 173.5 174.5 174.7 174.6 175.2 175.2 175.2 175.2 175.2 175.2 175.2 175.4 175.4 175.4 175.6 175.6 175.3 174.6 174.2 173.0 171.7 169.8 168.6 167.6 166.6 166.3 167.1 169.4 171.8 174.4 175.9 177.4 179.0 181.3 183.4 185.4 186.7 188.1 189.5 190.0 190.4 190.5 190.3 189.8 189.1 188.6 188.1 187.5 187.2 186.6 185.6 185.2 184.9 184.7 184.0 183.2 182.4 182.2 182.2 182.3 182.5 182.6 182.6 182.8 183.0 183.3 184.1 184.8 185.3 185.7 186.0 186.4 187.0 187.5 187.7 187.5 186.7 184.5 180.9 177.0 172.5 171.3 171.8 176.3 179.3 181.4 181.7 181.5 181.0 180.3 179.0 177.4 175.6 174.3 173.2 172.7 172.0 171.3 170.8 170.0 169.0 167.6 166.4 165.2 164.5 163.4 162.4 163.0 164.7 167.0 168.6 170.3 171.6 171.8 171.9 171.9 171.6 171.3 171.0 170.7 170.4 170.3 170.3 170.3 170.3 170.4 170.4 170.4 170.5 170.9 171.4 172.3 172.8 173.0 173.8 174.3 174.6 174.8 175.0 175.1 175.2 175.3 175.4 175.5 175.6 175.7 175.7 175.7 175.6 175.5 175.3 175.1 175.1 175.0 174.8 174.8 174.7 174.5 174.2 173.9 173.5 173.4 173.1 172.5 172.1 171.5 170.6 169.1 167.1 164.3 157.6 151.8 147.3 146.5 146.6 148.3 153.2 159.3 165.8 173.4 179.5 182.9 184.3 184.9 184.9 185.2 185.5 185.6 185.7 185.8 185.8 185.9 185.7 185.1 184.4 183.9 183.7 182.8 181.8 180.9 180.4 180.1 180.1 180.3 180.6 181.0 181.2 181.6 182.5 183.4 184.3 185.3 185.8 186.1 186.4 186.8 187.0 186.9 186.6 186.2 185.9 185.7 185.5 184.6 182.8 180.0 173.9 167.6 161.6 157.3 155.1 154.5 154.8 156.7 159.3 160.2 161.4 162.8 164.6 166.6 168.3 169.2 170.1 171.1 172.5 173.4 174.2 175.9 177.7 179.4 180.1 181.5 183.2 182.1 180.7 179.2 177.8 177.0 176.6 176.5 176.4 176.3 176.5 176.9 177.5 177.1 176.7 176.3 175.9 175.5 175.2 175.1 174.4 173.4 169.6 166.9 164.9 161.5 158.9 157.5 158.3 159.7 161.9 164.5 167.7 171.6 176.8 181.6 185.6 187.9 189.4 190.0 190.1 190.3 190.5 189.9 189.2 188.2 188.0 187.4 186.2 184.4 182.9 181.8 181.2 180.6 180.1 180.4 181.0 181.9 182.8 183.9 185.3 186.8 188.0 188.7 189.6 190.3 190.7 190.5 190.1 189.4 188.1 186.6 185.1 182.9 180.8 179.7 178.5 177.7 178.1 178.5 179.1 179.9 181.5 183.0 183.8 184.7 185.7 187.2 188.0 188.4 188.4 188.2 188.0 187.7 187.3 186.8 186.1 184.8 183.6 183.1 182.6 182.2 182.5 182.7 183.1 183.8 184.5 185.3 186.5 186.9 186.8 186.5 186.3 186.1 186.0 185.9 185.7 185.6 185.8 186.2 186.3 186.3 186.0 185.7 185.5 185.3 183.3 180.4 176.7 169.5 165.3 162.8 160.9 159.5 158.4 159.9 163.1 167.4 172.0 174.9 176.8 178.8 180.7 182.5 188.2 195.1 202.9 207.7 209.9 210.3 209.4 208.8 208.7 208.6 208.3 207.9 208.0 207.8 207.3 206.4 204.9 202.4 197.3 191.7 185.4 182.7 181.7 183.3 186.1 188.1 188.9 190.2 191.1 191.4 191.9 192.4 193.0 193.5 194.1 194.9 195.2 194.6 192.7 190.0 187.1 184.1 182.7 182.2 182.4 182.3 182.5 183.3 183.4 183.4 183.4 183.2 182.8 182.5 182.2 182.0 181.8 181.7 181.5 181.2 180.9 180.5 180.3 180.5 180.8 181.2 181.9 182.8 184.1 184.7 185.1 185.9 186.7 187.3 187.4 187.6 187.8 188.1 188.2 188.2 188.1 187.7 187.3 187.0 186.7 186.6 186.4 186.2 186.0 185.7 185.4 184.9 184.5 183.6 182.6 182.0 181.8 181.8 181.9 182.0 182.1 182.2 182.3 182.5 182.8 183.1 183.2 183.7 184.1 184.3 184.9 185.3 185.5 185.7 185.7 185.7 185.7 185.7 185.6 185.6 185.5 185.4 185.4 185.4 185.4 185.4 185.4 185.4 185.3 185.3 185.3 185.4 185.5 185.6 185.9 186.3 186.7 187.1 187.5 188.0 188.4 189.3 191.1 193.0 195.7 199.5 201.7 204.0 206.6 207.4 208.2 209.0 209.4 209.9 210.4 210.6 210.3 209.8 209.6 209.4 209.4 208.6 207.9 207.7 207.3 207.0 206.9 206.9 206.9 206.7 206.6 206.8 207.6 207.9 207.9 207.7 206.4 204.8 203.4 201.7 199.7 196.4 194.0 191.9 189.8 188.2 186.8 185.7 185.2 184.7 184.2 183.8 183.6 183.9 184.5 185.1 185.2 185.3 185.1 183.8 181.6 178.8 174.5 169.8 165.5 162.8 161.6 161.5 161.9 163.2 164.9 166.3 169.1 172.4 174.5 176.5 178.6 181.7 183.7 184.4 183.0 180.6 178.0 176.9 176.4 176.1 176.0 175.9 175.8 175.9 175.9 175.9 175.7 175.5 175.3 175.2 175.0 174.9 174.8 174.6 174.3 173.8 173.3 172.8 171.8 171.4 171.3 171.5 171.7 171.9 172.1 172.4 172.9 173.6 174.7 175.9 176.2 176.3 176.1 176.0 175.9 175.8 175.8 175.8 175.7 175.6 175.5 175.3 175.2 175.1 174.9 174.8 174.7 174.6 173.5 172.6 172.1 172.0 171.8 171.7 171.4 171.3 171.1 171.2 171.3 171.5 171.7 172.0 172.1 173.5 174.9 175.9 176.4 176.6 176.4 176.0 175.7 175.4 175.1 175.0 174.8 175.1 175.4 175.6 175.5 175.2 174.9 174.7 174.2 172.2 168.9 164.9 159.4 156.1 153.9 153.8 154.6 156.0 159.3 162.3 164.9 166.3 168.3 170.8 174.1 177.1 190.4 191.7 191.4 190.8 190.4 189.4 188.2 187.8 187.3 186.9 186.3 185.7 185.0 184.7 184.3 184.1 184.1 184.2 184.4 184.5 184.6 184.7 185.0 185.3 185.5 185.3 185.1 184.6 183.4 181.1 178.1 171.9 169.1 168.5 173.1 178.4 173.8 177.9 180.0 180.7 180.4 180.1 179.8 179.5 179.1 178.5 178.1 177.7 177.3 176.9 176.5 176.0 175.6 175.1 174.5 174.1 173.9 173.7 173.5 173.3 173.1 172.9 172.8 172.9 173.0 173.2 173.3 173.4 173.5 173.8 174.3 174.7 175.0 175.4 175.8 176.2 176.2 176.2 176.0 175.7 175.2 174.6 173.7 172.7 171.6 168.1 165.1 163.4 162.6 162.2 161.8 161.4 160.8 160.1 159.1 158.0 156.9 155.7 154.7 153.8 152.4 151.1 149.8 148.9 148.0 146.9 145.6 144.2 142.8 141.5 140.3 139.3 138.6 138.0 138.0 138.2 138.2 137.6 137.6 137.7 138.3 138.9 139.5 139.9 140.2 140.4 140.8 140.7 140.2 138.5 135.0 130.5 126.7 124.6 124.0 125.2 126.8 129.2 133.3 136.5 138.8 140.7 143.3 146.2 147.9 150.2 152.6 153.8 154.5 154.7 154.9 154.5 153.8 153.8 153.6 153.2 152.6 152.3 152.3 151.9 151.4 150.7 150.3 149.9 149.6 149.4 149.4 149.6 149.8 150.0 150.2 150.4 150.5 150.6 151.2 151.6 151.9 152.7 153.6 154.4 154.8 155.7 157.0 157.5 157.9 158.5 158.6 158.8 158.9 158.5 158.1 157.7 156.8 155.9 155.2 153.8 152.8 152.4 151.5 150.8 150.4 150.5 150.7 150.8 150.9 151.3 152.0 152.9 153.7 154.3 155.7 157.2 158.6 159.5 160.1 160.7 160.6 160.4 160.2 159.9 159.7 159.6 158.4 157.2 156.4 154.2 151.8 149.7 148.3 147.0 145.0 143.9 143.4 143.8 144.2 144.7 146.1 147.3 148.6 150.4 152.1 153.6 154.3 155.7 157.4 159.2 160.1 160.9 161.8 162.1 162.1 161.9 161.8 161.5 160.6 159.0 157.0 155.9 154.9 153.8 151.6 149.2 146.8 145.5 144.4 143.5 142.8 142.6 142.8 143.2 144.0 145.0 146.1 147.7 149.4 150.1 151.1 152.2 152.7 153.9 155.6 156.4 157.6 159.1 159.9 160.6 161.2 161.6 161.6 161.3 160.7 160.1 159.6 158.4 157.3 156.3 153.7 152.1 151.0 149.0 147.8 147.1 145.9 145.3 145.1 145.7 146.3 146.8 148.1 149.8 152.0 153.3 154.8 156.4 157.7 159.1 160.8 161.5 162.1 162.5 162.1 161.6 161.2 159.8 158.0 155.7 155.0 154.6 154.7 154.7 154.7 154.7 154.9 155.0 155.0 155.1 155.2 155.3 155.3 155.4 155.5 155.5 155.6 155.6 155.6 155.6 155.6 155.5 155.3 155.2 155.0 120.5 120.2 119.3 118.4 116.9 115.4 113.4 111.4 109.2 106.8 104.4 102.0 99.6 97.2 94.9 92.7 90.7 88.8 87.1 85.6 84.3 83.1 82.3 81.6 81.3 81.0 81.1 81.2 81.5 81.8 82.4 83.0 83.8 84.7 85.7 86.8 88.0 89.3 90.6 92.1 93.7 95.2 96.9 98.5 100.2 101.8 103.5 105.1 106.6 108.1 109.5 110.8 112.0 113.0 114.0 114.7 115.3 115.6 115.9 117.1 117.6 118.2 118.6 118.9 119.1 119.5 120.0 119.8 119.3 118.6 118.3 118.0 117.6 115.6 114.4 113.7 115.2 117.8 121.1 123.3 126.0 129.6 132.2 134.9 137.6 138.5 139.4 140.1 140.1 140.3 140.6 140.3 140.1 140.2 140.3 140.1 139.6 139.9 140.1 140.1 140.3 140.4 140.4 140.2 140.0 140.0 140.1 140.1 140.2 139.3 138.2 137.1 135.8 134.1 132.3 132.7 134.0 135.8 140.2 145.8 152.1 155.8 157.8 158.3 158.2 157.5 156.0 155.2 154.6 154.0 153.7 153.4 152.8 152.1 151.4 150.8 151.0 151.4 151.7 153.1 154.7 155.9 156.9 157.5 157.2 156.7 156.5 157.0 157.9 158.8 159.0 158.8 158.7 159.1 159.5 159.8 159.8 159.0 157.8 157.5 157.3 157.1 156.9 156.6 156.4 156.7 157.6 158.9 159.9 159.8 159.1 158.3 156.3 153.9 152.5 151.8 151.5 151.2 150.9 150.5 149.8 148.7 147.3 146.6 146.3 146.2 145.8 145.7 145.9 145.9 145.7 145.4 144.8 144.2 143.5 142.5 141.6 140.7 140.0 139.2 138.4 138.3 138.2 138.0 137.6 137.1 136.6 136.3 136.1 136.1 136.2 136.4 136.5 136.5 136.7 137.2 137.7 138.6 138.8 139.0 139.0 139.2 139.2 139.4 139.5 141.5 141.5 141.5 141.5 141.5 141.5 141.5 141.5 141.5 141.5 141.5 141.5 141.5 141.4 141.3 141.2 141.2 141.1 141.1 141.1 141.0 141.0 141.0 141.0 140.9 140.6 140.4 140.1 139.8 139.5 139.2 138.9 138.5 137.2 135.3 133.5 132.6 132.0 131.8 132.8 134.7 137.7 139.4 141.3 142.5 143.9 144.7 145.6 146.0 146.6 147.7 148.2 148.8 149.4 149.9 150.3 151.1 151.3 151.9 152.3 152.7 153.1 153.2 153.5 153.8 154.1 154.5 154.8 155.0 155.6 155.5 155.4 155.3 155.2 155.1 155.0 154.9 154.9 154.8 154.7 154.5 154.6 154.7 154.9 155.0 155.2 155.3 155.5 155.9 155.9 155.7 155.4 154.9 154.5 154.1 153.9 152.8 151.1 148.8 147.8 147.6 147.5 147.5 147.5 147.4 148.1 150.2 153.0 156.1 159.8 163.6 167.3 171.0 172.4 173.5 174.0 174.5 174.9 175.2 175.4 175.6 175.7 175.9 175.8 175.3 175.1 174.9 174.7 174.3 174.1 174.0 173.4 172.6 171.7 171.3 170.9 170.4 170.0 169.5 168.7 169.2 170.2 171.4 173.9 177.3 181.4 184.2 185.9 186.6 187.0 187.2 187.3 187.5 187.7 188.0 187.8 187.5 187.1 187.0 186.8 186.1 185.7 185.5 185.3 184.9 184.5 184.1 183.9 183.7 183.4 183.2 183.1 182.9 183.1 183.4 183.7 184.2 184.6 184.8 185.0 185.2 185.7 186.4 186.9 187.0 186.9 186.7 186.6 186.4 186.2 186.1 184.9 182.6 179.2 174.0 168.4 165.2 163.7 163.6 164.4 165.5 166.5 167.1 167.6 168.2 169.6 171.0 172.3 173.0 173.4 173.7 174.6 175.5 176.4 177.2 177.6 177.8 178.1 179.0 180.3 182.0 184.1 186.5 186.5 186.3 186.1 186.1 186.0 185.9 185.7 185.5 185.3 185.3 184.9 184.1 181.8 178.3 173.1 170.7 169.2 168.7 169.2 170.5 173.0 177.4 181.2 183.9 186.1 188.7 191.6 193.2 195.0 197.1 200.0 202.5 204.2 206.9 209.2 210.6 211.5 212.0 212.4 212.1 211.6 211.3 210.5 209.9 209.9 209.9 209.7 209.5 209.4 209.0 208.1 207.5 206.9 206.2 205.9 205.5 204.9 204.2 203.4 202.6 201.9 201.1 200.3 199.4 198.5 197.3 196.2 195.1 193.8 192.7 191.5 189.7 188.7 187.9 187.2 186.7 186.2 185.5 185.1 184.7 184.5 184.4 184.2 184.1 184.1 184.3 184.3 184.4 184.6 185.0 185.2 185.5 185.8 186.3 186.9 187.5 188.2 188.9 189.8 191.1 192.9 194.5 196.2 198.0 200.5 202.5 204.1 206.0 207.2 207.9 208.5 208.4 207.9 208.0 207.7 207.3 207.4 207.3 207.1 206.7 206.2 205.6 203.9 201.6 198.8 199.5 202.0 205.7 205.5 204.6 203.4 203.7 204.0 204.4 206.1 207.9 210.1 210.8 212.3 214.9 216.1 216.3 215.0 213.5 212.1 210.9 209.9 209.1 208.7 208.5 208.2 207.8 207.4 207.1 206.8 206.4 204.8 201.7 196.3 189.4 181.2 175.1 171.5 170.7 171.5 173.6 176.9 181.2 184.4 185.7 189.1 193.3 197.8 201.6 204.7 207.0 210.3 212.5 212.6 210.7 208.5 207.4 206.9 206.8 207.1 207.4 207.7 207.7 207.5 207.4 207.2 207.1 207.1 207.3 207.3 207.3 207.4 207.6 207.8 208.1 208.1 208.2 208.4 209.2 210.0 211.2 212.5 214.0 215.9 219.1 223.2 227.0 231.9 237.1 240.4 242.9 244.7 246.1 247.3 248.2 248.2 248.0 247.5 247.0 246.7 246.7 247.0 246.7 246.2 245.9 244.1 241.2 233.6 224.3 214.1 202.9 197.0 194.3 194.9 196.2 198.2 200.5 203.9 208.3 213.2 218.4 223.8 230.0 236.1 242.3 244.6 244.6 243.1 240.6 238.6 236.9 236.3 235.6 234.7 234.0 233.5 233.4 233.4 233.4 233.4 233.2 233.0 232.8 232.7 232.6 232.5 232.5 232.6 232.8 233.1 233.2 233.2 233.0 233.0 233.2 233.8 234.4 235.1 236.0 237.0 237.8 240.0 242.4 244.5 245.8 246.8 248.0 248.9 249.5 249.8 249.9 250.0 250.1 250.3 250.3 250.0 249.6 249.2 248.9 247.8 246.3 243.8 238.3 231.6 223.2 219.7 217.9 218.1 219.3 221.4 225.7 228.0 229.8 231.9 234.1 236.1 237.2 238.9 240.5 240.9 241.2 241.0 239.3 237.5 235.9 234.8 234.1 233.6 233.0 232.4 231.8 231.2 230.7 230.3 229.9 228.8 226.9 223.7 216.9 208.8 204.1 201.0 199.7 201.9 205.5 209.7 212.2 216.5 221.5 224.0 229.3 236.7 242.1 245.0 246.4 244.5 243.0 241.7 241.8 242.1 242.6 242.0 240.9 239.5 238.6 238.0 237.7 236.8 235.9 235.0 234.0 233.4 232.9 232.6 232.3 232.0 232.2 232.4 232.7 232.8 233.0 233.5 233.5 233.4 233.2 233.1 233.0 232.8 232.7 232.7 232.7 232.8 232.9 233.1 233.3 233.4 233.4 233.4 233.6 233.7 233.9 234.0 233.9 233.6 233.2 232.8 231.8 230.6 229.0 227.5 225.4 222.4 219.5 217.3 216.1 213.6 210.9 208.2 206.4 205.4 205.3 207.3 207.3 207.3 207.3 207.3 207.3 207.3 207.3 207.3 207.3 207.2 207.2 207.2 207.2 207.2 207.2 207.2 207.2 207.2 207.1 207.1 207.1 207.1 207.1 207.0 206.9 206.9 206.9 206.9 206.9 206.9 206.9 206.8 206.8 206.8 206.8 206.8 206.8 206.8 206.7 206.7 206.7 206.7 206.7 206.7 206.7 206.7 206.7 206.7 206.7 206.7 206.7 206.7 206.7 206.6 206.1 205.4 204.2 202.6 200.8 198.7 196.5 194.0 191.6 189.2 187.0 184.9 183.2 181.6 180.6 179.6 179.3 179.3 179.7 180.6 181.6 183.2 184.8 186.7 188.7 191.1 193.5 196.0 198.4 200.7 202.8 204.8 206.2 207.4 208.1 208.5 208.5 208.5 208.6 208.6 208.6 208.6 208.7 208.7 208.7 208.8 208.9 208.9 208.9 208.9 209.0 209.1 209.1 209.1 209.1 209.1 209.2 209.2 209.2 209.8 210.5 211.8 213.3 214.8 216.1 217.1 217.5 218.7 220.6 222.6 223.6 225.1 227.8 229.5 231.1 232.8 235.1 237.7 240.3 241.6 242.3 242.5 242.0 241.3 240.8 239.4 237.8 236.4 233.4 230.3 228.1 226.4 225.1 224.3 223.6 223.2 224.1 224.7 225.5 227.1 229.1 231.0 232.2 233.5 235.2 237.7 239.6 240.9 241.5 241.8 241.8 241.2 240.3 239.1 238.0 235.9 233.3 231.6 229.9 228.2 227.1 226.6 226.4 226.2 226.2 226.3 227.3 228.5 230.0 231.1 232.5 234.2 234.9 236.4 238.3 239.1 240.1 241.0 241.0 240.9 240.6 240.2 239.9 239.8 238.7 237.3 235.7 234.1 232.7 231.5 229.4 227.8 227.0 227.3 227.7 228.3 228.5 229.4 231.3 232.3 233.3 234.4 235.7 236.8 237.6 238.7 239.6 240.3 240.5 240.8 241.2 240.9 240.5 240.0 238.0 236.2 235.3 233.3 231.4 229.8 228.8 227.8 226.7 226.0 225.7 225.9 226.1 226.3 226.4 227.0 227.9 229.0 230.4 231.7 232.7 233.8 235.2 237.3 238.5 239.5 241.1 241.9 242.3 242.4 242.1 241.8 241.5 240.8 239.7 237.1 235.3 233.7 231.9 230.2 228.6 227.3 226.6 226.3 226.9 227.6 228.5 229.4 231.1 232.9 233.8 234.9 236.4 238.5 240.2 241.4 241.9 242.1 241.8 241.0 238.9 236.3 234.0 230.4 226.6 225.7 225.4 225.7 225.9 226.2 226.6 226.9 227.1 227.3 227.2 226.8 226.2 224.5 222.4 220.0 216.0 211.9 207.7 202.8 198.8 195.2 192.2 190.0 188.3 187.1 186.2 185.4 184.9 184.5 184.1 183.9 183.7 183.4 183.3 183.3 183.2 183.5 183.8 184.1 184.3 184.6 184.8 185.1 185.2 185.3 186.0 186.7 187.4 189.3 190.1 189.2 186.2 183.9 182.7 182.4 182.1 181.7 181.6 181.2 180.5 178.3 175.4 172.0 170.8 171.0 172.5 176.6 181.0 184.6 192.4 199.9 205.0 208.7 210.9 211.3 210.2 209.3 209.3 208.3 207.5 207.5 207.3 206.9 206.3 205.9 205.6 205.6 205.5 205.3 204.9 204.9 204.9 204.9 204.9 205.0 205.3 205.3 205.1 205.0 205.3 205.6 205.3 205.0 204.7 204.9 205.6 206.5 207.3 208.0 208.7 209.6 209.9 209.8 209.1 208.3 207.7 207.8 207.6 207.0 206.4 206.0 205.8 205.6 205.8 206.2 206.5 207.4 208.9 211.9 214.4 217.1 221.7 225.0 227.4 229.6 231.8 234.0 235.8 237.0 238.0 238.5 238.5 238.1 237.8 237.3 236.7 234.8 233.1 231.5 228.1 223.0 216.8 213.6 213.6 215.8 221.0 225.8 230.4 231.9 231.7 230.3 228.9 227.9 227.2 226.3 225.7 225.5 225.4 225.1 224.8 224.3 223.9 223.3 223.3 223.2 222.8 222.3 222.3 222.9 222.2 221.1 219.2 214.2 210.2 207.5 206.4 205.8 205.4 205.2 205.3 205.8 205.7 205.7 205.7 205.5 205.4 205.3 205.2 205.2 205.3 205.3 205.2 205.2 205.6 206.1 206.8 207.1 207.6 208.3 208.6 208.7 208.6 208.6 208.5 208.3 208.2 208.1 208.0 207.1 205.5 201.9 196.0 190.2 186.1 185.3 185.5 187.0 189.3 191.7 193.1 195.0 196.9 197.8 199.4 201.3 202.9 204.2 205.2 206.7 207.9 209.0 210.7 212.4 214.0 215.4 217.6 220.0 221.6 223.0 224.4 225.8 227.2 228.9 231.6 234.5 237.4 240.0 241.1 241.0 240.2 239.4 238.7 236.6 234.7 232.8 231.3 229.1 226.6 225.3 224.4 223.8 224.2 224.5 224.8 225.6 226.8 228.3 229.5 230.3 230.8 232.3 233.5 234.4 235.0 235.1 234.8 234.6 234.3 233.9 233.3 232.1 230.1 229.6 229.4 229.6 229.7 229.8 229.9 230.7 231.6 232.7 233.3 233.5 233.2 232.6 232.1 231.6 228.5 225.4 222.3 219.3 216.4 213.8 211.5 209.4 207.5 205.1 202.6 200.3 198.8 198.0 197.7 197.6 198.8 202.1 203.8 205.1 206.3 207.3 207.8 208.0 208.1 208.3 208.8 209.3 209.7 209.7 209.9 210.1 209.9 209.5 209.1 208.9 208.4 207.9 207.2 206.7 205.9 203.7 199.1 194.1 189.5 186.7 185.3 187.1 190.1 194.0 200.0 207.7 215.4 220.8 225.5 229.6 232.8 235.4 237.4 238.6 239.7 240.7 241.1 241.1 240.6 239.2 238.4 237.5 235.3 232.3 228.9 226.1 224.2 223.0 222.0 221.9 222.3 222.7 223.1 223.3 225.0 227.1 229.6 230.9 233.0 235.5 237.1 238.5 239.9 240.4 240.5 240.3 239.2 238.4 237.8 236.0 234.2 232.5 231.8 230.5 228.8 226.8 225.7 225.0 225.2 225.3 225.5 225.7 226.0 226.6 226.4 226.1 225.5 225.0 224.6 224.2 222.3 218.9 213.4 209.9 206.2 202.2 202.1 204.4 210.7 223.0 232.6 237.5 238.3 237.8 237.2 236.4 235.8 235.6 235.1 234.5 233.9 233.6 233.4 233.0 232.9 232.8 232.9 233.0 233.1 233.3 233.4 233.5 233.5 233.3 233.1 232.9 232.7 232.5 232.1 232.3 232.8 233.4 233.9 234.5 235.7 236.3 236.7 236.5 236.0 235.4 235.1 234.6 234.1 233.9 233.8 233.7 233.5 233.4 233.4 233.4 233.3 233.2 233.1 233.0 232.9 232.8 232.8 232.7 232.6 232.5 232.5 232.3 231.9 231.2 230.5 230.1 229.7 228.8 228.5 228.7 229.3 231.6 234.5 235.5 235.6 235.1 234.8 234.7 234.7 234.6 234.5 234.3 234.2 234.1 234.0 233.9 233.9 233.9 232.9 232.0 231.2 228.4 225.2 221.9 214.8 209.7 205.9 205.9 207.1 209.0 213.9 216.8 218.2 221.0 223.5 225.5 227.3 229.8 233.4 236.9 239.9 241.9 241.5 240.7 239.1 237.6 236.3 235.1 234.8 234.4 234.0 233.6 233.3 233.2 233.0 232.9 232.7 232.5 232.3 232.2 232.1 232.0 231.9 231.4 230.3 228.5 221.2 214.6 210.9 209.4 209.9 212.7 217.8 224.1 231.2 235.8 238.2 238.1 237.4 236.7 236.4 235.9 235.4 234.9 234.2 233.6 233.5 233.4 233.2 233.0 232.9 233.0 233.1 233.2 233.4 233.5 233.6 233.7 234.1 234.3 234.5 234.5 234.6 234.6 234.7 234.8 234.9 234.9 235.0 235.1 235.2 235.2 235.2 235.0 234.7 234.4 234.4 234.5 234.6 234.6 234.5 234.4 234.4 234.5 234.6 234.7 234.3 233.4 231.3 227.0 221.9 220.2 219.2 218.6 221.5 226.9 234.0 239.0 245.7 253.6 261.9 267.8 272.1 280.7 289.0 297.2 303.7 308.4 312.0 311.5 311.5 311.5 311.5 311.5 311.4 311.3 311.3 311.2 311.1 313.0 309.4 303.4 295.2 285.3 273.7 261.4 248.9 236.5 224.7 213.5 203.5 194.7 187.3 181.3 176.6 173.4 172.0 172.1 173.5 176.3 180.7 185.9 191.4 196.7 201.2 204.6 205.7 206.0 205.9 205.8 205.7 205.5 205.3 205.1 205.0 204.9 204.8 204.9 205.4 206.8 208.9 211.6 214.6 217.9 221.3 224.4 226.9 228.9 230.1 233.1 233.4 233.4 233.4 233.4 233.4 233.4 233.4 233.4 233.4 233.4 237.4 237.2 237.0 236.7 236.4 235.7 233.2 229.4 223.8 212.5 206.2 203.0 207.2 213.3 220.3 224.8 229.2 232.9 233.8 233.2 231.6 229.4 227.6 226.1 224.5 223.0 221.8 221.1 220.5 219.9 219.1 218.2 217.2 216.5 215.7 215.0 214.4 214.2 214.1 213.1 212.3 211.6 211.0 210.3 209.7 209.4 209.1 209.0 209.0 208.9 208.9 207.7 205.8 203.5 196.8 189.2 181.2 176.6 173.3 170.8 171.0 171.4 172.0 175.1 178.5 182.1 183.3 185.5 189.3 193.7 197.5 200.1 201.9 203.7 205.9 207.2 208.0 208.1 208.1 208.0 207.9 207.7 207.6 207.5 207.5 207.4 207.4 207.3 207.1 206.9 206.5 206.2 206.0 206.0 206.1 206.2 206.3 206.4 206.4 206.5 206.6 206.6 206.7 206.9 207.0 207.2 207.4 207.5 207.9 208.3 208.9 209.4 209.9 210.2 210.4 210.4 210.1 210.0 209.9 209.4 209.0 208.5 208.1 207.9 207.6 206.5 205.3 204.0 203.2 202.3 201.1 198.9 194.8 190.2 185.0 181.3 178.4 179.8 182.0 185.9 190.9 196.5 202.0 206.8 210.2 211.6 211.8 211.8 211.6 211.6 211.6 211.6 211.5 211.4 211.4 211.3 211.3 211.2 211.0 211.0 210.9 210.8 210.8 210.7 210.6 210.6 210.6 210.5 210.4 210.4 210.4 210.6 211.3 212.5 214.1 216.1 218.3 220.7 223.2 225.5 227.6 229.5 230.8 231.6 232.0 232.0 232.0 232.0 232.0 232.0 232.0 232.0 232.1 232.1 232.1 232.1 232.1 232.3 232.3 232.3 232.4 232.4 232.4 232.4 232.5 232.5 232.5 232.5 232.5 232.6 232.7 232.7 232.7 232.7 232.5 231.1 227.5 222.9 218.0 213.8 210.9 209.8 209.8 209.8 209.7 209.6 209.5 209.5 209.3 209.2 209.0 208.9 208.7 208.5 208.3 208.1 207.9 207.9 207.7 207.5 207.3 207.2 207.1 206.9 206.8 206.7 206.7 206.7 206.7 210.7 214.1 215.5 216.1 215.7 215.5 215.2 214.1 213.1 212.1 211.1 210.3 209.6 209.0 208.2 207.2 206.4 205.6 204.8 204.2 203.9 203.9 203.9 204.1 204.2 204.2 204.7 205.4 206.2 206.7 207.0 207.9 208.8 209.7 210.0 210.5 210.9 210.8 210.7 210.6 210.4 210.1 209.7 209.1 208.4 207.8 206.3 204.9 203.4 202.1 201.3 200.8 200.3 200.4 200.8 201.2 201.8 202.6 203.6 205.1 206.9 207.8 208.8 209.9 211.1 211.9 212.4 213.1 213.5 213.5 213.2 212.9 212.6 211.6 210.3 208.5 207.8 206.3 203.5 201.4 199.7 198.3 197.3 196.4 195.3 195.6 195.9 196.3 197.1 198.1 199.5 201.0 202.6 204.5 206.1 207.5 208.7 210.9 212.7 213.6 214.3 214.9 215.2 214.9 214.4 214.0 213.5 212.8 211.8 210.7 209.0 206.3 203.9 201.6 199.4 197.5 195.7 193.6 192.8 192.5 192.8 193.2 193.6 193.8 194.8 196.1 197.5 199.5 201.6 203.3 205.6 207.9 209.1 209.7 210.1 210.5 210.2 209.7 208.6 207.2 205.3 202.2 200.2 199.1 198.2 198.1 198.4 198.6 198.7 198.9 199.3 199.8 200.3 200.9 201.6 202.3 203.0 203.3 203.3 203.3 203.3 203.3", + "f0_timestep": "0.005" + }, + { + "offset": 42.001, + "text": "AP 啊 啊 啊 啊 啊 啊 SP 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 SP 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 SP", + "ph_seq": "AP ch ir r en x in x in n ian n ian SP y i sh ir er d u l i y v h ua er d eng x ian SP y i b ai sh ir m en q ian sh ou w o k ou j ve q i l ian ch en d an t ian SP", + "ph_dur": "0.1525 0.1355 0.1208 0.0602 0.1102 0.0708 0.23 0.131 0.1313 0.0497 0.3309 0.0301 0.362 0.1198 0.0602 0.2174 0.1446 0.1102 0.3821 0.0497 0.3113 0.0497 0.1509 0.0301 0.2867 0.0753 0.1514 0.2912 0.0994 0.3432 0.1988 0.904 0.1213 0.0587 0.2822 0.0798 0.2209 0.1401 0.2114 0.1506 0.236 0.125 0.2219 0.1401 0.3023 0.0587 0.272 0.089 0.2671 0.0949 0.2209 0.1401 0.2762 0.0858 0.227 0.134 0.2989 0.0631 0.2635 0.0975 0.723 0.072", + "ph_num": "2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest D#3 F3 F#3 F3 F#3 A#3 rest C#4 A#3 G#3 F#3 F#3 F3 F#3 F3 F#3 D#3 rest D#3 D#3 A#3 F#3 F3 D#3 C#3 D#3 A#2 G#2 F#2 G#2 A#2 A#2 rest", + "note_dur": "0.288 0.181 0.181 0.361 0.181 0.361 0.362 0.18 0.362 0.181 0.361 0.361 0.181 0.362 0.18 0.362 0.542 0.904 0.18 0.362 0.361 0.362 0.361 0.362 0.361 0.361 0.362 0.361 0.362 0.361 0.362 0.361 0.723 0.072", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "207.5 207.5 207.5 207.6 207.7 207.7 207.7 207.6 207.4 207.2 207.0 206.7 206.2 205.5 204.7 203.2 201.3 199.2 195.5 191.5 187.4 181.9 176.9 172.4 168.1 164.8 162.2 160.5 159.0 157.8 157.2 156.7 156.3 156.1 155.9 155.7 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.7 155.7 155.8 155.9 156.0 156.1 156.2 156.2 156.3 156.4 156.5 156.6 156.6 156.6 156.5 156.3 155.1 154.2 154.3 154.4 154.6 154.7 154.8 155.1 155.6 155.8 155.7 155.5 155.3 155.1 155.2 155.4 155.8 156.3 156.8 157.3 157.8 158.8 159.7 159.9 160.0 160.2 160.4 160.9 161.6 162.5 163.3 164.5 166.5 169.2 171.5 171.8 171.7 171.8 172.7 174.4 175.9 176.1 176.4 176.4 175.1 174.0 173.3 174.3 174.2 172.9 170.1 165.8 160.9 157.1 156.1 156.9 158.4 161.5 165.4 166.9 168.6 170.5 173.1 176.2 179.7 182.5 184.8 186.7 188.7 190.7 192.9 192.3 192.0 192.0 191.7 191.5 191.3 189.8 189.0 188.6 187.4 185.8 184.0 182.8 181.7 180.6 178.7 177.7 177.3 176.9 176.8 176.9 177.3 177.5 177.8 179.3 180.7 181.8 182.8 183.9 185.2 185.5 185.9 186.4 186.9 187.3 187.6 187.4 187.3 187.0 187.0 186.7 186.0 185.4 184.3 182.5 179.8 176.3 171.9 168.7 167.0 167.3 168.0 168.8 169.5 169.9 170.1 170.2 170.3 170.5 171.0 171.5 171.8 171.8 171.8 171.7 171.7 172.0 172.3 172.6 172.6 172.7 173.9 174.9 175.7 176.2 176.3 176.2 175.9 175.6 175.2 174.9 174.6 174.4 174.1 173.8 173.6 173.4 173.3 173.2 173.1 173.1 173.0 173.1 173.1 173.1 173.3 173.4 173.3 173.1 173.2 173.6 174.0 174.6 175.1 175.6 176.2 177.0 178.5 180.2 181.8 182.7 183.3 183.7 184.0 184.3 184.6 184.8 185.0 185.1 185.3 185.3 185.2 184.9 184.7 184.6 184.4 184.2 184.0 183.8 183.6 183.4 183.6 183.7 183.9 184.1 184.3 184.5 184.8 185.3 185.7 186.1 186.4 186.5 186.4 186.4 186.3 186.2 186.1 186.0 186.0 186.0 186.0 185.8 185.6 185.6 185.2 184.8 184.4 184.4 184.2 183.9 183.9 183.9 183.7 183.5 183.1 182.8 182.2 181.8 181.9 182.8 184.0 185.5 187.5 190.0 193.1 196.1 199.3 203.0 209.6 216.7 223.2 227.8 231.0 233.0 234.8 236.4 237.7 238.5 238.6 237.9 236.7 235.6 234.7 232.3 229.5 226.7 225.0 223.6 222.2 220.9 220.0 220.4 220.8 221.3 221.8 223.9 226.7 230.4 232.6 234.3 235.9 238.0 240.0 241.0 241.2 241.1 240.6 239.4 238.1 236.8 234.0 230.7 229.2 226.7 223.4 220.2 218.0 216.8 216.5 216.9 218.0 219.9 221.5 223.4 226.9 230.5 233.8 235.4 237.9 240.5 241.3 241.3 241.0 240.7 240.0 238.9 236.8 234.1 231.1 227.7 225.6 224.4 224.1 224.1 224.2 224.8 225.5 226.2 227.1 228.1 229.1 230.5 232.1 233.8 236.1 238.8 241.7 245.8 250.0 254.2 258.1 261.7 265.0 266.3 267.1 267.0 265.9 264.5 262.7 260.5 258.3 255.9 254.0 252.1 250.2 249.0 247.9 246.9 247.0 247.4 248.1 249.2 250.3 251.5 251.4 251.1 250.8 250.8 251.1 251.3 251.7 251.9 252.1 253.5 255.2 256.8 259.3 262.6 266.6 268.9 271.0 273.2 275.1 276.9 278.6 279.8 280.6 281.3 281.3 281.2 280.9 280.7 280.5 280.0 278.9 277.1 272.7 268.0 264.1 263.8 264.1 264.7 265.7 267.7 269.4 269.4 268.9 267.9 265.5 264.1 263.0 261.7 261.0 260.5 259.9 259.1 258.1 257.2 256.1 255.0 254.0 253.0 252.1 251.2 250.0 248.9 248.5 247.8 246.8 245.3 243.9 242.5 240.7 239.0 237.3 236.1 235.0 233.8 232.9 232.2 231.6 231.9 232.1 232.3 232.9 233.1 233.2 233.1 233.1 233.1 233.8 234.3 234.7 234.4 234.2 234.0 233.5 233.3 233.1 232.1 231.0 229.7 228.2 226.9 225.7 223.7 221.6 219.4 217.0 214.2 210.7 209.2 207.6 206.1 205.6 205.2 204.9 204.6 204.5 204.8 205.1 205.2 205.1 205.3 205.6 206.0 206.2 206.3 206.3 206.5 206.7 207.1 207.3 207.5 207.8 208.1 208.2 208.1 208.1 208.0 207.9 207.8 207.7 207.7 207.6 207.6 207.6 207.9 208.2 208.2 208.3 208.4 208.4 208.5 208.6 208.7 208.6 208.4 208.0 206.5 204.4 200.9 194.2 187.7 184.5 182.7 181.5 181.6 182.4 183.2 183.2 183.9 184.8 186.2 186.6 187.1 189.4 190.3 190.3 188.7 186.4 184.0 182.7 182.1 181.9 182.0 182.0 182.0 182.0 182.5 183.2 183.8 184.0 184.0 184.0 183.9 183.9 184.0 184.2 184.4 184.4 184.5 184.5 184.5 184.6 184.7 184.8 184.8 184.8 184.6 184.3 183.9 183.9 184.0 184.0 184.1 184.1 184.1 184.2 184.3 184.4 184.4 184.5 184.5 184.7 184.9 185.2 186.1 186.6 186.8 186.8 186.7 186.5 186.4 186.3 186.2 186.0 185.9 185.9 185.5 184.8 183.8 184.3 184.8 185.3 185.6 185.9 186.4 186.7 187.0 187.5 188.3 189.4 190.9 191.4 191.5 191.1 190.8 190.3 189.6 188.7 188.0 187.6 187.0 186.3 185.7 185.2 184.8 184.4 184.2 184.2 184.2 184.3 184.4 184.5 184.3 184.3 184.4 184.9 185.3 185.2 185.0 184.6 183.9 183.2 182.5 181.8 180.7 179.6 178.4 177.5 176.7 175.9 175.1 174.3 173.8 173.3 172.8 172.5 172.4 172.3 172.2 172.3 172.3 172.3 172.3 172.3 172.4 172.5 172.5 172.7 173.0 173.3 173.5 173.7 173.8 174.0 174.1 174.2 174.4 174.7 175.1 175.4 175.7 175.8 175.8 175.6 175.5 175.4 175.2 175.1 175.0 174.7 174.2 173.6 172.4 170.7 166.9 163.2 159.6 158.0 157.3 157.1 159.6 161.9 164.0 166.8 169.6 172.3 174.2 176.4 178.7 180.5 182.6 185.0 188.4 191.4 193.7 195.4 196.2 196.0 194.9 193.6 192.0 190.8 189.5 188.1 186.8 185.6 184.8 184.7 184.6 184.3 184.2 184.2 184.5 184.7 184.9 185.2 185.3 185.4 185.4 185.4 185.5 185.6 185.7 185.6 185.4 184.9 184.4 183.8 183.2 182.6 182.0 181.4 180.8 180.1 179.3 178.5 177.6 176.5 175.5 174.9 174.5 174.1 173.7 173.3 173.0 172.9 173.0 173.0 173.2 173.3 173.5 173.8 173.9 174.0 174.1 174.2 174.4 174.7 175.0 175.1 175.0 175.0 175.0 174.9 174.9 174.9 174.8 174.8 174.8 174.7 174.7 174.7 174.6 174.6 174.6 174.5 174.6 174.6 174.5 174.5 174.5 174.5 174.4 174.2 173.6 172.8 171.7 169.5 166.0 161.7 157.9 156.0 155.2 156.2 157.3 158.5 160.4 163.2 166.6 169.3 172.1 175.0 179.0 181.8 183.6 186.1 188.0 189.3 190.6 191.3 191.7 191.9 191.9 191.9 191.9 191.9 191.9 191.0 190.0 188.9 188.5 187.5 185.7 185.1 184.4 183.5 182.8 182.4 182.3 182.5 182.6 182.8 183.0 183.1 183.3 183.4 183.4 183.5 183.8 184.1 184.4 184.7 185.0 185.4 185.4 185.3 185.1 185.0 184.8 184.7 184.7 184.7 184.8 184.8 184.9 185.0 185.1 185.2 185.2 185.5 185.8 186.1 186.7 187.4 188.3 188.6 188.7 188.6 188.4 188.3 188.2 187.8 187.1 185.4 182.5 178.8 173.3 170.3 168.1 166.8 166.4 166.2 166.0 165.7 165.2 164.4 164.1 163.9 163.4 162.9 162.3 161.7 161.1 160.5 159.9 159.3 158.9 158.6 158.3 158.1 157.8 157.5 157.1 156.6 156.2 156.0 155.9 155.5 154.9 154.3 154.1 154.2 154.1 153.7 153.4 154.4 155.2 155.8 155.2 155.1 155.3 155.4 155.3 154.9 154.8 154.6 154.2 153.8 153.4 153.0 152.6 152.3 152.0 151.8 151.6 151.5 152.0 152.3 152.5 152.8 153.2 153.5 153.6 154.0 154.8 155.2 155.5 155.9 156.7 157.3 157.6 157.9 158.3 158.7 158.7 158.5 158.1 158.0 157.8 157.6 157.5 157.2 156.6 156.0 155.1 154.0 153.3 152.3 150.6 148.7 147.3 146.5 145.5 144.9 145.0 145.4 145.8 146.0 146.8 147.8 148.6 149.9 151.5 153.5 154.7 155.9 157.7 158.7 159.7 160.6 161.0 161.2 161.0 160.8 160.3 158.8 157.7 156.6 155.4 153.6 151.9 150.3 149.1 147.8 145.9 144.9 144.1 144.1 144.3 144.6 145.4 146.6 147.8 148.9 149.7 150.3 151.0 151.9 152.7 153.0 153.9 155.1 155.9 157.3 159.0 159.9 160.5 160.6 160.3 159.9 159.5 158.8 158.0 157.0 155.3 154.2 153.4 151.8 150.3 149.0 148.6 147.9 147.2 147.2 147.4 147.5 147.7 148.2 149.1 149.6 150.6 151.9 154.1 155.6 156.6 158.3 159.5 160.3 161.1 161.8 162.4 162.6 162.2 161.4 160.4 159.0 157.4 156.1 154.9 153.9 151.6 149.8 149.0 147.7 147.0 146.9 147.3 147.8 148.4 149.7 151.0 152.2 154.8 156.7 157.6 159.0 160.0 160.7 160.4 160.1 159.6 158.9 157.8 156.1 155.2 154.8 154.8 154.9 155.0 155.0 155.0 155.0 155.1 155.2 155.2 154.3 153.7 151.9 149.9 147.1 144.1 140.7 137.0 133.3 129.9 126.6 123.2 119.8 117.0 114.3 112.2 110.4 109.1 108.3 107.9 107.9 108.0 108.3 108.6 109.1 109.6 110.3 111.0 111.8 112.8 113.8 115.0 116.1 117.4 118.8 120.3 121.8 123.3 124.9 126.6 128.3 130.0 131.7 133.5 135.3 137.0 138.7 140.4 142.1 143.6 145.2 146.6 148.0 149.3 150.5 151.5 152.5 153.3 154.0 154.6 154.9 155.1 155.3 157.7 158.2 158.7 158.9 159.1 159.5 159.8 159.9 159.9 159.6 159.2 158.6 158.1 157.7 157.5 156.8 156.0 155.0 153.5 150.6 146.8 142.4 136.3 129.4 126.4 125.0 125.8 128.2 132.7 140.5 144.8 149.4 154.6 158.0 159.8 159.2 156.7 155.2 154.8 155.2 155.4 155.1 154.8 155.1 156.4 157.5 158.1 158.0 157.8 157.6 157.5 157.3 157.0 156.6 155.8 155.1 154.9 154.3 153.8 153.5 152.2 151.3 151.3 152.3 153.6 154.9 157.0 158.7 159.4 159.1 158.4 157.2 154.5 151.3 148.1 145.5 143.8 144.3 145.6 147.6 151.4 155.0 158.2 160.2 162.1 164.0 166.3 168.3 170.6 174.2 176.0 177.5 179.4 181.6 183.8 186.0 187.9 189.8 191.7 193.7 195.6 197.6 200.3 203.3 202.3 203.2 204.3 206.3 208.4 210.6 212.2 213.4 213.5 213.0 212.1 210.9 209.6 208.4 207.8 207.3 207.6 208.1 209.0 210.0 211.6 213.3 215.4 217.6 219.8 222.1 224.5 226.6 228.6 230.3 231.8 232.9 233.6 234.0 233.0 233.1 232.8 232.5 232.3 232.3 232.4 232.5 232.7 232.9 232.6 232.3 231.8 231.0 229.8 228.4 226.7 224.9 222.7 220.5 218.1 215.5 212.9 210.3 207.7 205.1 202.4 199.9 197.5 195.2 193.1 191.1 189.3 187.7 186.4 185.2 184.4 183.6 183.3 183.0 183.1 183.2 183.5 183.9 184.5 185.0 185.7 186.4 187.1 187.8 188.6 189.2 189.7 190.2 190.5 190.8 190.9 190.9 190.7 190.3 189.9 189.2 188.5 187.7 186.9 186.0 185.1 184.3 183.6 182.9 182.3 181.9 181.6 181.4 181.3 181.5 181.7 182.1 182.6 183.2 183.9 184.6 185.5 186.3 187.2 188.1 188.9 189.7 190.5 191.1 191.7 192.1 192.5 192.6 192.7 192.5 192.2 191.6 190.9 190.1 189.2 188.1 187.0 185.8 184.6 183.5 182.5 181.5 180.6 179.9 179.2 178.9 178.7 190.0 188.2 186.4 184.5 182.5 180.6 178.8 177.1 175.6 174.4 173.5 173.0 173.9 173.7 173.3 173.0 172.7 172.8 172.9 173.0 173.2 173.3 173.4 173.5 173.6 173.9 174.3 174.7 174.9 175.0 175.3 175.6 176.1 176.4 176.6 176.5 176.2 176.0 175.9 175.4 174.3 172.4 169.7 165.7 162.5 160.7 160.8 161.5 162.4 163.4 164.9 166.1 166.4 166.5 166.5 166.5 166.6 166.9 167.3 167.6 167.7 167.5 167.8 168.2 168.6 168.8 168.8 168.6 169.1 169.4 169.2 168.0 166.6 164.9 161.4 157.8 155.5 154.7 154.4 154.2 153.8 153.4 152.9 152.4 151.9 151.5 151.1 150.8 150.6 150.5 150.5 150.7 150.8 150.9 150.9 151.0 151.3 151.8 152.2 152.6 152.8 153.3 154.1 154.9 155.5 155.9 156.0 156.2 156.4 156.5 156.5 156.4 156.3 156.2 156.0 155.8 155.5 155.2 155.0 154.7 154.4 154.2 154.0 153.9 153.7 152.6 151.0 148.7 147.5 147.1 146.5 146.0 145.6 144.4 143.1 141.6 140.8 139.8 138.8 137.3 135.9 134.7 133.8 133.7 134.2 134.2 133.9 133.3 132.8 132.8 133.4 133.6 133.7 133.8 134.1 134.3 134.3 135.0 135.7 136.3 136.3 136.4 136.8 137.1 137.5 137.9 138.0 138.2 138.7 138.8 138.9 139.0 139.1 139.0 138.7 138.3 137.9 137.5 137.5 137.6 137.7 137.8 137.9 137.9 138.1 138.4 138.6 139.3 140.2 141.1 141.4 140.7 138.9 135.6 132.2 129.3 127.9 127.4 129.4 131.0 132.5 133.8 135.1 136.3 137.0 137.8 138.8 140.5 141.6 142.8 144.8 146.6 148.4 149.9 151.4 153.3 156.0 157.6 158.5 158.5 158.2 157.9 158.1 157.9 157.4 156.4 155.6 154.9 154.9 154.6 154.2 154.2 154.1 154.0 153.8 153.6 153.6 153.8 154.0 154.1 154.1 154.1 154.0 154.0 154.0 154.0 154.0 154.0 154.0 154.0 154.1 154.3 154.6 154.8 154.9 155.0 155.3 155.8 156.5 156.8 156.8 156.6 156.4 156.2 156.0 155.5 154.7 151.8 147.6 142.7 140.8 140.0 140.0 139.8 139.6 139.6 139.4 139.1 138.4 138.0 137.5 136.9 136.2 135.2 133.9 132.1 129.8 126.9 124.1 121.5 119.0 117.2 115.7 114.6 114.2 114.2 115.0 116.7 116.7 116.7 116.7 116.7 116.7 116.7 116.7 116.7 116.7 116.7 116.7 116.7 116.7 116.7 116.7 116.7 116.7 116.7 116.7 116.7 116.7 116.7 116.7 116.7 116.7 116.7 119.5 119.3 119.1 118.5 117.8 117.0 116.0 114.9 113.7 112.3 110.9 109.3 107.8 106.2 104.6 103.0 101.4 99.8 98.2 96.8 95.3 94.0 92.7 91.5 90.5 89.5 88.6 87.9 87.3 86.8 86.5 86.2 86.1 86.1 86.2 86.5 86.8 87.2 87.8 88.4 89.1 89.9 90.8 91.6 92.6 93.6 94.6 95.6 96.6 97.6 98.5 99.4 100.2 100.9 101.6 102.1 102.5 102.8 103.0 103.0 103.0 103.2 103.3 103.5 103.7 103.8 103.9 103.6 103.6 103.6 103.6 103.6 103.7 103.7 103.7 103.7 103.7 103.7 103.7 103.8 103.8 103.8 103.8 103.8 103.8 103.8 103.9 103.9 103.9 103.9 103.9 103.9 103.9 103.9 103.9 103.9 103.9 103.9 103.3 103.2 103.3 103.2 103.0 102.8 102.6 102.3 102.0 101.6 100.7 99.4 98.1 96.9 95.8 95.0 94.3 93.7 93.2 92.8 92.6 92.9 93.2 93.2 93.8 94.6 95.3 95.5 95.6 95.7 95.6 95.3 95.0 94.9 94.7 94.3 94.0 93.6 92.6 91.8 91.0 90.3 90.5 91.0 91.5 92.5 93.5 94.0 94.5 95.0 95.7 96.5 97.4 98.7 99.4 99.7 99.4 98.4 97.1 95.9 93.9 91.8 90.8 90.1 89.6 89.9 90.7 92.0 93.1 93.9 94.5 95.4 96.3 97.1 98.0 98.9 99.8 99.8 99.8 99.9 99.8 100.3 101.1 103.5 105.2 106.4 106.7 107.0 107.3 106.8 106.1 105.4 105.3 105.2 105.0 104.8 104.7 104.4 104.3 104.3 104.4 104.4 104.4 104.3 104.2 104.2 104.1 104.1 103.9 103.3 102.6 102.2 102.1 102.3 102.7 103.2 103.6 104.0 104.4 105.3 105.9 106.3 106.4 106.6 106.9 107.1 107.3 107.4 107.2 107.0 106.7 106.5 106.3 106.1 105.8 105.5 105.3 105.3 105.5 105.7 105.9 106.2 106.7 107.0 107.4 107.7 107.2 105.6 102.7 102.2 102.5 103.2 103.4 104.1 107.2 111.2 115.4 118.3 119.1 119.4 116.0 116.0 116.0 116.0 116.0 116.0 116.0 116.0 116.0 116.0 116.0 116.0 116.0 116.0 116.0 116.0 116.0 116.0 116.0 116.0 116.0 116.0 116.0 119.1 118.5 118.0 117.4 116.6 116.2 116.0 116.1 116.3 116.4 116.6 116.7 116.9 117.4 118.0 118.5 119.1 119.5 120.0 120.6 120.9 121.0 120.8 120.2 119.5 117.4 115.0 112.2 111.4 111.4 112.0 112.9 113.4 113.7 114.3 114.8 115.1 115.8 116.3 116.6 117.1 117.6 118.2 118.6 119.2 119.7 119.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.5 116.6 116.9 117.2 117.8 118.2 118.9 119.6 120.2 120.9 121.4 121.8 121.7 121.3 120.9 120.3 119.6 118.9 118.2 117.2 116.4 115.6 114.7 113.9 113.2 112.6 112.0 111.6 111.2 111.1 111.0 111.1 111.3 111.6 112.1 112.7 113.3 114.1 114.9 115.7 116.7 117.5 118.3 119.3 120.1 120.9 121.4 121.9 122.3 122.5 122.5 122.5 122.2 121.8 121.3 120.7 120.0 119.1 118.2 117.2 116.4 115.3 114.5 113.6 112.8 112.2 111.6 111.1 110.8 110.6 110.5 110.6 110.8 111.1 111.7 112.2 113.0 113.7 114.8 115.7 116.6 117.7 118.6 119.6 120.4 121.3 121.9 122.5 122.9 123.1 123.2 123.1 122.8 122.4 121.8 121.1 120.4 119.4 118.4 117.4 116.3 115.4 114.3 113.4 112.5 111.7 111.1 110.6 110.3 110.6 111.5 112.6 113.8 115.1 116.1 122.9 122.8 122.6 122.3 121.9 121.4 120.9 120.5 119.9 119.5 119.5 119.5 119.5 119.5", + "f0_timestep": "0.005" + }, + { + "offset": 53.567, + "text": "SP 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 SP 啊 啊 啊 SP 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 SP 啊 啊 啊 啊 啊 啊 啊 啊 SP 啊 啊 啊 啊 SP 啊 啊 啊 啊 SP 啊 啊 啊 啊 啊 SP", + "ph_seq": "SP y in y ang y En d a q ian h u zh ong r ir y ve b ie SP y ou d ong t ian SP p i ch en w o y van er b u t ing w en m u b u j ian SP w u w ai sh ir j ie h ua w ei y vn y En SP b ai b o l iu zh ao SP c ang sh an j i d ian SP y i y E y i r u x ve SP", + "ph_dur": "0.2127 0.0753 0.3018 0.0602 0.3068 0.0542 0.3319 0.0301 0.2209 0.1401 0.2611 0.1009 0.2706 0.0904 0.2566 0.1054 0.245 0.116 0.2857 0.0753 0.543 0.1348 0.0452 0.1509 0.0301 0.4456 0.0964 0.362 0.3008 0.0602 0.1117 0.0693 0.1358 0.0452 0.1062 0.0738 0.1358 0.352 0.0542 0.1102 0.0708 0.2972 0.0648 0.4531 0.0889 0.1358 0.0452 0.227 0.134 0.361 0.1358 0.0452 0.2912 0.0708 0.2164 0.1446 0.1038 0.0772 0.2556 0.1054 0.4381 0.1039 0.3123 0.0497 0.1358 0.0452 0.361 0.1358 0.0452 0.3218 0.0392 0.1358 0.0452 0.2752 0.0858 0.362 0.061 0.119 0.2439 0.1181 0.1418 0.0392 0.3008 0.0602 0.362 0.1198 0.0602 0.3078 0.0542 0.4818 0.0602 0.4019 0.1401 0.2209 0.1401 0.362 0.072", + "ph_num": "2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 1 1", + "note_seq": "rest A#2 B2 A#2 B2 C#3 D#3 C#3 D#3 F#3 F3 rest G#3 B3 A#3 rest A#3 G#3 G#3 F#3 D#3 A#3 C#4 A#3 G#3 F#3 G#3 rest F#3 G#3 F#3 G#3 A#3 C#4 G#3 A#3 rest A#3 G#3 F#3 D#3 rest A#3 G#3 F#3 F3 rest A#3 G#3 A#3 C#4 A#3 rest", + "note_dur": "0.288 0.362 0.361 0.362 0.361 0.362 0.361 0.362 0.361 0.361 0.543 0.18 0.181 0.542 0.362 0.361 0.181 0.181 0.18 0.181 0.361 0.181 0.362 0.542 0.181 0.361 0.361 0.181 0.362 0.361 0.181 0.361 0.542 0.362 0.181 0.361 0.181 0.361 0.181 0.361 0.362 0.18 0.362 0.181 0.361 0.362 0.18 0.362 0.542 0.542 0.361 0.362 0.072", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "116.6 116.6 116.6 116.6 116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.5 118.1 118.0 117.7 117.2 116.6 115.9 115.0 114.0 112.9 111.6 110.3 108.8 107.4 105.9 104.3 102.8 101.2 99.7 98.2 96.7 95.3 93.9 92.6 91.4 90.3 89.2 88.3 87.5 86.8 86.1 85.6 85.2 85.0 84.9 84.9 85.0 85.6 86.4 87.5 88.9 90.5 92.3 94.4 96.6 99.0 101.4 103.8 106.1 108.3 110.4 112.2 113.7 115.0 115.9 116.3 116.3 116.3 116.3 116.3 116.4 116.4 116.4 116.5 116.5 116.5 116.6 116.6 116.6 116.7 116.7 116.7 116.8 116.8 116.9 116.9 116.9 116.9 117.0 117.0 117.0 117.0 117.0 117.1 117.2 117.4 117.8 118.1 118.4 118.6 118.8 120.0 118.9 117.6 116.4 115.5 114.9 113.8 112.6 111.3 110.5 110.1 110.1 110.8 112.0 113.4 116.5 119.0 121.1 122.6 123.9 125.2 125.2 124.8 124.1 122.4 121.5 121.2 120.6 120.3 120.2 121.0 121.8 122.6 123.3 123.7 123.7 123.6 123.3 123.0 122.4 121.9 121.6 121.0 120.5 120.2 120.2 120.3 120.6 121.0 121.6 122.3 122.9 123.5 123.9 124.7 125.2 125.3 125.3 125.4 125.5 125.6 125.7 125.8 126.0 126.4 127.0 127.3 127.5 127.6 127.7 127.6 127.4 127.1 126.5 125.7 124.9 123.6 121.7 118.2 114.8 112.6 111.0 110.0 110.5 111.3 112.3 113.9 114.9 115.7 116.5 117.8 119.3 120.7 120.6 120.0 118.7 117.7 116.7 116.0 115.8 115.9 116.6 116.9 117.2 117.6 117.8 117.7 117.5 117.2 117.0 115.6 115.6 115.6 115.7 115.7 115.7 115.7 115.7 115.7 115.7 115.7 115.8 115.8 115.8 115.9 115.9 115.9 115.9 116.0 116.0 116.0 116.1 116.1 116.1 116.1 116.1 116.2 116.2 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 115.2 115.2 115.1 115.1 115.1 114.8 114.4 114.0 113.2 112.2 110.6 110.6 111.0 112.3 113.0 113.9 114.9 118.5 121.5 123.6 124.7 125.3 125.0 124.7 124.6 124.7 124.7 124.7 124.8 124.6 124.5 124.2 124.0 123.8 123.5 123.3 123.0 122.7 122.4 122.1 122.0 121.9 121.8 122.0 122.3 122.7 122.9 123.3 123.8 124.2 124.8 125.3 125.6 126.6 127.4 127.8 127.8 127.5 126.6 126.1 125.6 124.5 123.2 121.9 121.7 122.1 123.0 125.2 126.2 127.0 128.2 128.8 129.2 129.9 130.5 131.1 131.6 132.2 132.9 134.2 135.1 135.9 136.5 137.2 138.0 138.8 139.7 140.7 141.9 142.7 143.2 143.4 142.7 141.4 139.8 139.2 139.1 138.9 138.6 138.4 138.5 138.5 138.3 137.7 136.6 135.3 135.3 135.8 136.7 137.3 137.1 136.3 136.3 136.8 137.6 137.6 137.2 136.6 135.9 135.8 136.3 137.2 137.9 138.4 138.9 139.8 140.9 141.2 141.6 142.2 142.3 142.3 142.2 142.2 142.1 142.0 142.0 142.0 141.9 141.9 141.7 141.5 140.8 140.2 139.8 139.5 139.3 139.3 138.8 137.5 136.2 134.4 132.5 130.5 128.5 126.7 125.1 123.7 122.9 122.3 122.2 122.5 123.0 123.8 125.0 126.2 127.8 129.5 131.2 133.0 134.6 136.2 137.6 138.6 139.5 139.9 140.0 139.9 139.6 139.2 138.8 138.4 138.0 137.7 137.5 137.7 138.0 138.6 139.4 140.6 141.9 143.4 144.9 146.5 148.0 149.5 150.6 151.7 152.3 152.8 154.7 154.9 155.0 155.1 155.5 155.8 156.0 156.1 156.3 156.5 156.7 157.0 157.1 155.2 151.4 146.5 142.3 139.4 137.6 136.8 136.5 136.5 136.5 136.8 137.2 137.2 137.2 137.3 137.3 137.5 137.9 139.4 140.0 139.9 138.4 137.2 136.2 135.8 135.4 135.0 136.5 137.1 136.9 137.1 137.3 137.5 137.6 137.5 137.2 136.8 136.4 136.1 136.0 136.1 136.3 138.0 139.1 139.3 139.4 139.5 139.7 140.9 141.3 140.5 138.9 138.1 138.5 138.9 139.2 139.3 139.5 139.7 139.9 140.0 140.2 140.8 141.0 141.5 142.4 142.7 143.0 143.3 143.1 142.8 142.4 142.2 142.2 142.7 143.2 143.1 142.0 140.9 139.9 139.2 136.3 132.8 129.4 126.7 125.4 125.9 127.3 129.6 133.0 135.9 138.5 141.0 144.6 148.7 152.9 154.5 155.1 154.5 154.3 154.1 153.5 153.5 153.4 153.1 153.2 153.4 153.4 153.4 153.3 153.3 153.5 153.6 153.9 154.1 154.3 154.5 154.5 154.4 154.3 154.4 154.7 155.0 155.3 155.5 155.5 155.6 155.7 155.8 155.9 156.0 156.0 155.9 155.6 155.5 155.3 155.1 154.8 154.7 154.9 155.1 155.3 155.4 155.3 155.2 155.1 154.9 154.8 154.7 154.6 154.6 154.8 153.3 152.0 150.8 150.5 150.6 151.0 151.2 151.4 151.7 152.2 153.1 154.1 157.0 160.5 164.4 166.6 168.3 169.4 170.3 170.7 170.3 169.3 168.3 167.3 167.2 166.9 166.3 165.1 164.2 163.8 163.5 163.3 163.2 163.9 164.5 165.0 166.4 168.1 170.0 170.8 172.1 174.5 177.2 179.4 180.5 182.4 184.2 185.5 186.2 186.5 186.4 186.3 186.1 186.0 185.9 185.8 185.8 185.3 184.9 184.7 184.5 184.1 183.6 183.0 182.0 180.2 178.6 176.6 172.8 170.9 169.9 170.5 171.3 172.4 174.9 175.9 176.3 176.2 176.0 175.9 175.8 175.5 175.3 175.9 176.4 176.8 177.3 177.2 177.0 176.8 176.8 176.9 177.2 177.4 177.4 177.4 177.1 176.8 176.5 176.2 175.9 175.3 174.8 174.4 173.7 172.7 171.5 170.6 170.0 169.5 168.9 168.5 168.3 168.6 168.9 169.1 169.7 174.6 174.8 175.4 176.3 177.4 178.9 180.4 181.7 182.5 182.8 182.9 182.8 182.3 181.9 181.1 180.1 179.2 177.9 176.8 175.4 174.2 172.7 171.6 170.5 169.4 168.3 167.6 166.8 166.4 166.1 166.1 166.2 166.5 167.0 167.8 168.6 169.8 170.9 172.1 173.6 175.1 176.5 177.8 179.2 180.4 181.6 182.4 183.2 183.7 184.1 184.1 184.0 183.6 183.0 182.2 181.1 179.8 178.7 177.1 175.7 174.0 172.7 171.1 169.8 168.6 167.4 166.5 165.7 165.3 164.9 164.9 165.1 165.4 166.0 167.1 169.9 172.0 173.8 173.2 170.5 170.0 170.2 170.5 170.8 184.1 183.2 180.9 178.3 174.2 170.0 165.1 160.0 154.7 149.4 144.2 139.3 134.6 130.9 127.4 124.3 121.5 119.6 118.1 117.4 117.2 117.8 118.9 120.4 122.7 125.3 128.7 132.4 136.8 141.5 146.7 152.2 158.0 164.1 170.3 176.4 182.5 188.2 193.5 197.9 202.1 205.8 208.5 210.6 211.5 207.5 207.5 207.5 207.5 206.7 204.8 202.2 199.8 199.5 200.7 203.1 206.8 210.3 211.3 213.6 216.6 220.3 248.1 248.8 249.2 249.8 250.3 251.2 252.3 253.6 255.6 255.9 255.8 255.4 254.7 253.6 252.6 250.8 249.3 247.9 247.3 246.5 246.1 245.6 245.2 244.8 244.5 244.5 244.5 246.1 246.1 246.1 246.1 246.1 246.1 246.1 246.1 246.1 246.1 246.1 246.1 246.1 246.1 246.1 246.1 246.1 246.1 246.1 246.1 246.1 246.1 246.1 246.1 246.1 246.1 246.1 246.1 246.1 246.6 247.1 246.4 248.7 250.6 245.8 245.8 245.8 245.8 245.8 245.8 245.8 245.8 245.8 245.8 245.8 245.8 245.8 245.8 245.8 245.8 245.8 245.8 245.8 245.8 245.8 245.8 245.8 245.8 245.8 245.8 247.7 246.4 244.7 241.9 236.4 228.4 220.4 218.6 221.1 226.7 233.4 238.4 241.8 243.8 244.1 243.4 240.4 237.6 234.8 231.8 229.3 227.2 226.2 225.6 225.3 225.0 225.3 226.1 227.2 229.0 231.3 232.8 233.1 233.6 234.6 236.0 238.0 240.0 242.6 243.3 243.8 244.1 244.2 244.0 243.4 242.7 241.5 240.4 238.8 237.2 235.7 233.8 232.1 230.2 228.6 226.9 225.5 224.2 223.2 222.4 221.8 221.5 221.4 221.7 222.2 222.9 224.0 225.2 226.8 228.3 230.3 232.0 234.1 236.1 237.8 239.8 241.3 243.0 244.0 245.1 245.8 246.1 246.2 245.9 245.2 244.3 243.0 241.6 239.8 238.1 236.1 234.2 231.9 230.0 227.9 227.2 228.3 230.7 222.4 222.9 223.5 224.1 225.0 225.8 226.6 227.6 228.4 229.3 230.2 230.9 231.6 232.3 232.7 233.0 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.0 232.9 232.9 232.9 232.8 232.7 232.6 232.5 232.4 232.4 232.4 232.3 232.2 232.1 232.1 232.6 233.3 234.2 234.6 235.3 236.5 236.6 236.5 235.8 235.4 234.7 233.8 229.6 224.0 216.6 210.9 207.0 205.5 206.6 208.3 211.0 212.4 213.2 213.2 213.5 213.3 212.4 210.3 208.6 207.8 207.2 206.7 206.2 205.5 204.7 204.0 204.2 205.6 208.4 209.9 210.6 210.5 209.9 209.2 208.6 208.3 207.9 207.5 207.2 207.0 206.8 206.8 206.7 206.9 207.0 207.1 207.1 207.2 207.4 207.5 208.1 208.8 209.6 209.9 209.9 209.6 209.5 209.3 209.2 209.0 208.7 208.0 207.5 207.2 206.8 206.3 206.0 206.1 206.3 206.7 207.0 207.4 207.7 208.0 208.0 207.8 207.6 207.3 207.0 206.7 206.2 205.5 204.5 202.8 200.6 195.1 191.1 188.0 184.7 182.2 180.3 180.5 181.0 181.8 183.6 186.3 189.6 189.3 188.8 188.2 187.3 186.5 185.9 185.2 184.9 184.9 185.3 185.7 186.3 186.5 186.5 186.3 186.4 186.5 186.7 186.7 186.5 186.1 185.2 184.3 183.4 181.6 179.5 176.9 175.2 173.4 171.3 168.1 165.1 162.3 157.8 153.7 150.3 147.7 145.9 145.1 144.6 144.5 144.8 145.5 146.9 149.0 150.2 151.4 153.2 154.0 154.6 155.5 156.0 156.2 156.0 155.8 155.5 155.2 154.9 154.7 154.6 154.2 153.8 153.3 152.9 152.6 152.6 152.7 152.8 153.0 153.2 153.4 153.5 154.1 154.7 154.9 155.2 155.4 155.7 155.7 155.7 155.7 155.7 155.8 156.0 156.3 156.6 156.9 157.2 157.6 158.4 159.8 161.4 162.4 162.8 162.7 161.9 160.5 158.8 157.6 155.5 153.8 156.3 161.1 168.2 177.7 185.9 193.0 200.2 208.3 216.4 221.3 224.4 226.2 225.6 226.7 228.8 229.9 230.5 230.5 230.9 231.9 233.2 233.9 234.6 235.4 233.1 226.6 217.7 207.0 204.5 207.3 217.8 225.3 230.7 232.0 233.6 235.2 236.7 239.0 242.7 246.3 250.3 254.8 259.9 266.2 274.5 277.1 277.8 275.9 276.0 276.1 276.1 276.9 277.3 277.2 276.7 276.2 275.9 276.3 276.5 276.5 276.1 275.7 275.3 275.4 275.5 275.6 275.6 275.6 275.6 275.6 275.5 275.3 275.3 275.3 275.4 274.9 274.6 274.9 275.5 276.0 276.3 276.5 276.6 276.8 277.0 277.2 277.3 277.8 278.3 278.0 277.8 277.6 277.3 276.9 276.5 275.2 273.4 271.3 267.9 264.9 260.9 252.7 248.3 243.7 234.7 227.6 221.4 216.6 213.5 211.3 210.8 210.9 211.3 212.3 215.4 219.5 221.2 223.6 226.5 229.7 230.8 231.0 232.5 233.9 235.0 234.9 234.4 233.7 232.8 231.8 230.8 229.4 227.7 225.9 224.4 223.5 222.8 222.8 223.0 223.2 223.4 223.6 223.8 225.4 226.5 227.4 228.7 230.7 233.1 235.3 236.7 237.6 238.6 239.0 238.8 238.4 238.2 238.0 237.7 236.8 235.7 234.5 233.3 232.1 231.2 230.3 229.3 229.2 229.2 229.6 230.0 230.4 230.8 231.1 231.3 231.6 231.9 232.0 232.1 232.7 233.2 233.6 234.0 234.5 235.0 235.2 235.4 235.4 235.5 235.6 235.6 235.7 235.8 235.9 236.0 236.0 235.9 236.2 236.4 236.6 236.5 236.2 235.7 235.3 234.8 234.2 233.1 231.8 230.3 227.0 224.1 222.5 220.4 218.0 215.3 212.0 208.8 206.8 204.6 202.5 201.1 200.0 199.2 199.2 199.1 199.8 203.2 204.2 204.7 205.6 206.3 206.7 206.3 206.3 206.6 207.4 208.2 209.0 209.6 210.0 210.1 209.6 209.1 208.5 207.7 205.0 200.8 195.5 187.9 180.0 176.4 173.4 171.0 169.3 167.5 165.7 164.5 163.8 163.8 165.2 166.6 168.0 171.5 173.5 174.5 176.8 177.7 177.7 178.0 178.5 179.2 180.3 181.1 181.7 181.8 182.1 182.5 183.2 183.7 184.0 184.0 184.1 184.1 184.2 184.2 184.1 184.2 184.3 184.4 184.5 184.6 184.6 184.7 184.8 184.8 184.9 185.1 185.3 185.5 185.8 186.3 186.2 186.1 185.9 185.8 185.7 185.6 185.4 185.1 184.8 182.7 180.0 176.3 172.6 167.3 159.8 155.2 153.2 154.1 157.7 161.7 165.6 167.8 170.0 173.0 177.0 180.7 183.6 185.6 188.1 191.7 194.7 198.6 204.1 208.4 211.3 212.5 213.2 213.9 214.5 214.9 214.8 213.2 211.8 210.6 209.9 207.9 205.5 202.9 201.7 200.7 199.1 198.4 198.2 198.7 199.4 200.1 201.2 203.1 205.5 208.6 210.1 211.2 212.5 213.2 213.3 213.1 212.9 212.5 211.5 209.7 207.7 206.5 204.1 201.0 198.6 196.9 195.6 194.2 193.6 193.8 194.4 196.0 198.1 199.8 202.4 205.7 208.8 210.9 212.4 214.5 216.1 217.5 217.3 217.0 216.7 216.5 215.5 214.0 211.7 208.7 205.4 200.9 198.4 197.0 196.5 196.3 196.3 196.7 197.0 197.5 198.0 198.7 199.5 200.2 200.8 201.5 201.9 202.1 202.0 201.3 200.3 198.8 197.1 195.1 192.7 191.0 189.4 187.9 187.0 186.1 185.4 185.0 184.5 184.0 183.8 183.6 183.4 183.2 183.0 182.9 182.8 182.7 182.6 182.0 181.6 182.0 182.3 182.9 183.9 184.8 185.6 185.9 186.3 186.6 186.5 186.4 186.2 186.1 186.0 185.9 185.6 185.4 185.4 185.8 186.1 186.3 186.2 186.0 185.8 185.7 185.4 185.2 185.0 184.8 184.6 184.4 184.3 184.3 184.3 184.5 184.6 184.8 185.1 185.3 185.6 185.7 185.9 186.0 185.9 185.6 185.5 185.1 184.5 184.2 183.1 181.6 180.3 177.8 174.7 171.6 170.2 170.0 170.2 170.4 171.1 172.8 174.8 176.9 179.4 183.3 188.4 193.9 199.2 204.3 207.4 209.7 211.4 212.2 212.7 213.0 213.4 213.3 212.8 212.2 210.9 209.0 206.0 203.7 202.0 201.2 200.3 199.3 199.2 199.5 200.0 200.8 201.8 203.1 204.2 205.1 206.0 207.4 208.6 209.6 210.3 210.9 211.4 211.4 211.2 210.8 210.4 210.1 209.8 208.7 207.6 206.7 205.1 202.9 199.5 194.6 189.8 185.1 182.3 181.1 181.3 182.1 182.8 183.5 183.8 184.0 184.0 184.5 185.2 185.9 186.7 187.4 188.0 188.3 188.4 188.2 188.2 188.6 189.4 190.0 190.9 192.3 192.7 192.6 191.1 189.8 188.4 187.2 186.6 186.1 185.8 185.6 185.4 184.9 183.9 182.6 180.4 176.1 171.6 167.5 167.6 169.6 174.8 177.8 180.3 182.5 184.3 185.7 186.7 187.7 188.8 190.2 191.6 193.0 194.3 195.6 197.1 198.8 200.7 202.5 204.2 205.6 206.6 207.1 207.4 207.6 207.7 207.3 206.6 206.8 206.8 206.7 206.6 206.6 206.7 206.5 206.4 206.3 206.5 206.7 206.8 207.0 207.1 207.3 207.5 207.5 207.5 207.9 208.2 208.5 208.5 208.4 208.3 208.1 207.9 207.8 207.5 207.4 207.3 206.7 205.8 204.6 201.3 197.8 193.6 192.1 191.8 193.3 194.3 195.6 197.0 197.9 198.7 199.5 201.5 203.1 204.2 205.2 206.2 206.9 207.6 208.5 209.6 210.5 211.3 211.9 212.7 213.6 214.4 216.2 219.8 226.1 233.2 238.4 240.0 240.7 241.0 241.0 240.2 239.2 238.1 237.6 237.1 236.2 234.1 232.1 230.8 230.2 229.6 228.3 227.5 227.0 227.3 227.6 228.1 229.2 230.3 231.3 232.0 233.4 234.9 236.6 237.4 238.0 238.9 238.9 238.6 238.2 238.0 237.7 236.5 235.0 233.5 232.4 231.3 230.2 229.4 228.5 227.7 227.6 227.8 228.3 228.7 229.1 229.3 230.0 231.1 232.4 233.5 234.1 234.5 235.0 235.6 236.1 236.2 236.1 236.1 235.9 235.7 235.5 235.3 235.2 235.2 235.1 234.8 234.6 234.2 233.9 233.6 234.0 233.6 232.5 231.0 228.9 226.6 223.8 221.0 218.1 215.3 212.8 210.4 208.9 207.2 206.1 205.5 205.5 206.2 207.8 210.1 213.2 216.8 221.0 225.7 230.5 235.6 240.5 245.1 249.4 252.9 255.8 257.7 258.7 258.6 257.3 255.1 252.1 248.7 245.0 241.4 238.3 235.8 234.2 233.4 233.9 236.1 239.8 244.6 250.4 256.6 262.8 268.4 272.7 275.6 276.7 276.7 276.7 276.7 276.7 276.7 276.7 276.7 276.7 276.7 276.7 276.7 276.7 276.7 276.7 276.7 276.7 276.7 278.6 276.3 272.3 265.3 256.4 246.7 236.7 227.4 219.5 213.6 209.9 208.0 208.0 208.1 208.1 208.1 208.3 208.3 208.4 208.4 208.5 208.5 208.5 208.5 205.4 203.6 202.4 201.9 202.0 202.5 203.7 204.8 203.7 203.8 204.9 206.5 206.9 206.7 207.6 208.1 208.1 208.6 209.5 210.6 210.4 210.5 210.9 210.6 210.0 209.3 208.8 208.0 206.9 204.9 202.2 199.2 196.1 193.3 190.7 192.0 195.5 200.6 205.9 211.2 216.6 221.4 226.0 230.0 233.7 236.6 238.4 240.1 241.7 243.0 243.3 243.1 241.9 240.7 239.4 237.7 234.3 231.1 228.3 226.3 224.2 221.8 220.6 220.2 220.9 221.5 222.4 223.8 225.4 227.6 230.6 233.2 235.5 237.4 239.9 241.7 242.3 242.1 241.6 241.0 238.3 235.8 234.4 230.7 226.9 223.7 220.9 218.6 216.6 216.3 216.5 217.0 218.3 220.1 223.2 225.1 227.3 231.9 234.6 237.1 240.0 241.4 242.2 242.7 242.3 241.7 241.1 239.5 236.9 231.7 228.9 226.4 223.2 221.8 220.9 220.4 220.5 220.9 221.3 222.0 222.9 223.7 224.8 225.9 226.8 227.9 229.0 229.9 230.8 231.6 232.2 232.6 233.0 233.0 232.9 232.6 232.1 231.4 230.6 229.8 229.0 228.2 227.1 226.2 225.3 224.3 223.6 222.9 222.3 221.9 221.7 221.3 220.6 219.7 218.3 217.4 217.0 216.3 215.6 215.1 213.3 212.4 212.0 211.4 211.0 210.7 211.1 211.6 212.3 212.7 213.8 216.0 217.0 218.9 222.2 224.8 227.0 228.5 229.6 230.7 231.7 231.5 231.1 230.5 230.2 230.1 230.4 231.1 231.6 231.9 232.5 233.4 234.4 235.3 236.1 236.4 236.9 237.0 236.4 235.4 234.2 232.8 230.5 226.9 221.9 211.3 201.8 195.6 195.8 197.4 199.1 202.0 204.1 204.3 204.9 205.4 205.3 205.9 206.9 208.7 209.6 209.7 208.1 206.3 204.9 205.5 206.0 206.8 209.2 210.0 210.4 210.7 210.7 210.6 210.8 210.9 211.0 210.8 210.1 209.3 208.3 207.3 206.0 205.1 204.1 202.9 201.4 199.8 199.0 197.5 196.6 195.5 194.9 194.2 193.5 192.9 192.5 191.9 191.3 191.0 190.6 190.1 189.8 189.2 188.6 188.6 188.2 187.6 187.4 187.0 186.7 186.3 185.9 185.5 185.2 185.2 185.0 185.0 184.7 184.7 184.7 184.7 184.7 184.7 184.7 183.8 182.0 180.9 179.0 177.6 176.1 174.5 173.0 169.1 166.3 164.2 162.6 161.3 160.8 160.0 159.2 158.8 158.0 158.3 158.3 157.8 157.6 157.3 156.9 156.6 156.6 156.7 156.7 156.7 156.7 156.7 156.7 156.7 156.7 156.7 156.7 156.7 156.6 156.6 156.6 156.6 156.6 156.6 156.4 156.3 156.3 156.3 156.3 156.3 154.0 154.0 153.8 153.8 153.6 153.5 153.5 153.4 153.4 153.4 153.3 153.5 153.5 154.8 154.7 154.4 154.0 153.7 153.3 152.4 151.6 150.7 150.0 149.7 149.5 148.9 148.4 147.9 147.7 147.9 148.3 148.6 149.7 150.9 151.6 152.6 153.8 155.4 157.2 158.7 159.2 160.1 160.9 160.6 160.3 159.6 158.1 156.6 154.9 151.8 149.3 147.3 145.5 144.0 143.0 143.3 143.7 144.0 144.8 146.1 147.7 149.0 149.8 150.3 151.4 152.3 153.0 154.0 155.4 157.2 158.9 159.5 159.4 159.4 159.3 159.3 159.4 159.5 159.7 160.3 161.2 162.4 164.5 167.5 171.5 176.7 182.8 190.4 197.4 204.4 211.3 215.2 218.5 220.9 221.4 221.5 221.0 220.1 218.9 217.5 216.2 215.0 213.7 212.8 212.0 211.4 212.9 215.2 218.8 218.9 218.2 217.6 215.9 214.0 212.4 210.6 209.2 208.3 208.5 209.1 209.8 210.3 211.4 213.4 216.6 219.7 222.2 223.4 224.8 226.7 228.7 230.1 230.6 231.5 232.6 233.8 234.2 234.5 234.9 235.2 235.3 235.0 234.6 234.3 234.2 234.0 233.8 233.5 233.3 233.0 232.7 230.7 227.9 224.0 217.1 210.4 206.6 206.6 207.7 209.1 210.3 211.1 211.1 211.1 211.2 211.3 211.8 212.5 213.0 213.0 213.0 214.0 215.2 216.3 216.8 216.4 215.6 215.1 214.5 213.8 213.1 212.8 212.8 212.2 211.7 211.2 210.6 210.1 209.7 209.4 209.1 208.9 208.5 208.6 209.1 209.2 208.8 208.0 207.2 205.2 202.6 197.9 191.0 183.0 174.1 168.8 165.6 166.7 169.4 174.9 180.7 185.2 187.6 190.3 193.3 196.6 194.6 192.4 189.9 188.0 186.5 185.3 184.4 183.6 183.2 183.1 182.9 182.8 182.8 183.0 183.4 183.9 184.4 184.8 184.9 185.0 185.3 185.6 185.8 186.0 185.6 185.3 185.2 185.1 185.0 184.9 184.8 184.7 184.6 184.5 184.5 184.5 184.5 184.5 184.7 184.7 184.8 184.9 184.9 184.9 185.0 185.2 185.3 185.5 185.7 185.8 185.5 184.9 183.9 181.6 177.9 173.4 167.3 162.9 159.4 158.2 158.5 159.2 160.1 161.5 162.8 163.0 163.8 164.8 166.0 166.8 167.3 167.7 169.1 171.2 172.8 173.7 174.2 175.4 176.5 177.5 177.8 177.6 177.2 176.9 176.6 176.3 175.9 174.6 172.9 171.1 170.1 169.6 168.5 167.6 166.9 167.1 167.4 167.8 167.9 168.8 170.0 171.7 172.9 173.7 175.8 177.3 178.3 178.1 178.0 177.8 177.5 177.2 176.6 174.9 173.6 172.7 170.7 169.1 168.4 167.9 167.8 168.2 168.5 169.3 170.8 172.2 174.2 176.9 178.0 179.0 180.0 180.0 179.8 179.6 179.4 178.9 177.9 176.8 175.1 172.5 170.3 168.9 168.9 169.1 169.3 169.4 169.8 170.2 170.6 171.2 171.9 172.7 173.9 175.3 176.8 179.2 182.1 185.4 190.1 195.3 200.7 206.6 212.0 216.3 219.7 222.1 223.3 223.8 223.8 223.2 222.3 221.3 220.0 218.9 217.8 216.7 215.8 215.0 214.5 215.0 216.1 218.2 217.9 217.0 215.9 215.3 214.9 214.4 213.5 212.5 211.7 211.0 210.4 209.8 209.3 209.1 209.4 210.0 210.7 211.7 213.3 215.2 216.5 219.1 222.4 224.2 226.2 228.2 228.9 230.3 231.9 232.8 233.6 234.2 234.6 234.8 234.8 234.5 234.0 233.6 233.4 233.4 233.4 233.4 233.5 233.5 233.7 233.8 233.8 233.8 233.7 233.6 233.8 233.9 234.0 233.5 232.9 232.3 232.5 232.7 233.1 234.1 235.3 236.9 237.0 237.2 237.6 238.1 238.1 237.4 236.7 235.8 234.8 233.2 231.4 229.1 227.7 225.8 223.3 220.2 217.5 215.3 214.4 213.2 211.4 209.9 208.6 207.8 206.8 206.1 205.7 205.3 205.0 205.0 205.1 205.2 205.4 205.5 205.7 206.2 206.3 206.4 206.5 206.7 206.9 207.1 207.4 207.6 207.7 207.8 207.7 207.7 207.6 207.5 207.3 207.2 207.0 207.0 206.9 206.8 206.8 206.8 206.8 206.9 206.9 207.0 207.0 207.1 207.2 207.2 207.2 207.3 207.3 207.4 207.4 207.4 207.5 207.6 208.1 208.5 208.9 209.4 209.6 209.6 209.5 209.4 209.3 209.2 209.2 209.1 209.1 209.1 209.1 209.0 208.8 208.6 208.6 208.5 208.2 207.7 207.4 207.1 206.5 205.9 205.3 204.1 203.1 202.3 202.2 202.0 202.0 202.8 203.7 204.6 205.8 208.1 211.2 216.0 220.6 225.1 228.9 232.3 235.5 236.9 237.8 238.5 239.1 239.6 239.9 239.7 238.9 237.4 235.7 234.3 233.2 231.9 230.8 230.1 229.8 229.7 230.0 230.3 230.6 230.9 231.1 231.4 231.7 232.7 233.8 234.8 234.8 234.8 234.6 234.4 234.2 234.1 234.0 233.9 233.6 233.2 232.7 232.2 232.1 232.2 232.3 232.4 232.4 232.5 232.6 232.7 232.8 232.9 232.9 232.9 233.3 233.7 233.7 233.7 233.6 233.4 233.3 233.2 233.1 233.1 233.3 233.6 233.8 233.9 234.0 233.8 233.6 233.3 233.4 233.7 234.1 234.2 234.1 233.9 233.9 233.9 233.8 233.6 233.5 233.4 233.3 233.2 233.2 233.3 233.5 233.4 233.4 233.3 232.7 231.9 230.9 230.1 229.2 228.1 226.0 224.6 224.3 225.8 228.8 233.3 239.6 247.8 257.4 265.0 270.9 275.6 278.0 279.9 281.5 283.1 283.8 284.0 284.0 284.4 285.0 284.3 282.9 281.1 278.6 276.8 275.3 274.8 274.0 273.1 273.3 273.6 274.0 274.4 274.8 275.1 275.6 276.5 278.1 279.5 280.4 280.7 281.0 281.0 280.4 280.1 278.9 276.2 273.1 267.4 258.3 250.1 245.4 245.7 252.4 258.9 264.8 267.0 268.0 267.0 266.1 264.2 260.7 258.1 256.3 255.3 253.4 251.2 248.8 246.1 243.5 241.3 239.3 237.6 236.3 234.5 232.6 230.9 229.4 228.0 226.7 225.7 224.8 224.1 226.1 229.0 232.4 234.4 236.2 238.4 239.5 240.1 239.6 238.7 237.7 236.8 235.5 233.9 231.3 229.1 227.1 225.9 224.2 222.4 220.5 219.7 219.3 219.9 220.4 220.9 221.5 223.2 225.5 227.6 229.0 230.2 232.5 234.2 235.4 236.8 237.8 238.2 237.8 237.4 237.0 236.7 235.6 233.5 230.0 226.4 223.0 221.6 220.0 218.2 218.4 218.9 219.5 221.4 223.2 225.0 227.3 229.8 232.7 234.7 236.4 237.8 237.7 237.5 237.2 236.8 236.0 235.1 232.0 227.4 221.8 220.7 220.5 220.9 221.5 222.2 223.1 224.0 225.1 226.2 226.2 226.2 226.2 226.2 226.2", + "f0_timestep": "0.005" + }, + { + "offset": 70.555, + "text": "AP 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 SP 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 SP", + "ph_seq": "AP c ong t ou q v x ve ch u k uang d ang n ian l iu c an p ian SP zh ir l ong h u f ei sh en j ian j in r ir zh ong zh ong g uo y En z uo r ir f u sh eng y i y van d a j iang m ang m ang y i w an y E d ang ch uan q v b u j ian SP", + "ph_dur": "0.1675 0.1205 0.139 0.042 0.1027 0.0783 0.08 0.101 0.0961 0.0839 0.2726 0.0894 0.1499 0.0301 0.3228 0.0392 0.4667 0.0753 0.097 0.084 0.3098 0.0512 0.362 0.1047 0.0753 0.2882 0.0738 0.4215 0.1205 0.2209 0.1401 0.2174 0.1446 0.1208 0.0602 0.6236 0.0994 0.1348 0.0452 0.1418 0.0392 0.1195 0.0615 0.1499 0.0301 0.3033 0.0587 0.2721 0.0889 0.1268 0.0542 0.1102 0.0708 0.1107 0.0693 0.1358 0.0452 0.3168 0.0452 0.3264 0.0346 0.1358 0.0452 0.1358 0.0452 0.1499 0.0301 0.1509 0.0301 0.3068 0.0542 0.1313 0.0497 0.2777 0.0843 0.3763 0.1657 0.3462 0.1958 0.4923 0.0497 0.2159 0.1461 2.891 0.072", + "ph_num": "2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest A#3 G#3 G#3 F#3 D#3 A#3 C#4 A#3 G#3 F#3 G#3 rest F#3 F#4 F4 C#4 C#4 D#4 A#3 G#3 G#3 F#3 F#3 D#3 A#3 G#3 G#3 F#3 F#3 C#3 A#3 G#3 G#3 F#3 F#3 G#3 A#3 C#4 C#4 C#4 D#4 D#4 rest", + "note_dur": "0.288 0.181 0.181 0.181 0.18 0.362 0.18 0.362 0.542 0.181 0.361 0.362 0.18 0.362 0.542 0.361 0.362 0.181 0.723 0.18 0.181 0.181 0.18 0.362 0.361 0.181 0.181 0.18 0.181 0.362 0.361 0.181 0.181 0.18 0.181 0.361 0.181 0.362 0.542 0.542 0.542 0.362 2.891 0.072", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "232.7 232.7 232.7 233.0 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 232.6 231.9 231.1 229.9 228.6 227.2 225.6 224.0 222.5 220.9 219.3 218.0 216.6 215.5 214.6 214.1 213.8 214.1 215.1 217.1 220.3 222.6 224.3 225.1 226.1 226.9 227.3 227.7 228.2 228.8 229.7 230.6 231.0 231.5 232.1 233.4 234.4 235.1 235.3 234.8 232.7 225.5 217.8 210.1 202.4 198.5 195.9 194.8 194.7 195.7 199.3 203.3 207.1 209.2 209.6 209.0 208.5 208.0 207.5 207.0 206.8 206.9 207.4 208.0 208.5 208.8 208.6 208.1 207.5 206.1 203.6 198.6 192.6 186.0 179.8 177.6 178.1 181.0 185.3 190.7 194.2 197.8 201.4 203.0 206.0 210.1 215.2 218.6 220.6 221.3 220.6 219.1 216.0 212.9 209.8 208.5 207.7 207.2 206.8 206.3 205.5 204.5 203.7 202.9 198.1 192.2 184.8 180.0 178.3 181.1 190.7 198.8 203.7 204.0 203.7 202.6 201.2 200.0 199.1 199.1 198.8 198.3 196.4 194.6 192.9 191.1 189.9 189.3 188.7 188.0 187.4 186.9 186.6 186.2 185.3 183.7 181.3 176.1 170.7 166.2 164.9 164.8 165.6 167.6 169.2 169.9 169.7 169.0 167.8 166.8 165.7 163.9 162.2 160.5 159.1 158.1 157.1 156.1 155.2 154.2 153.3 152.1 150.8 149.4 148.6 148.2 148.5 148.9 149.2 148.9 149.1 149.4 149.8 150.0 150.0 150.0 150.3 150.7 150.9 151.0 151.0 151.4 151.8 152.3 152.6 152.9 153.1 153.8 154.4 154.7 154.7 154.7 154.8 154.8 154.9 154.9 155.0 155.1 155.1 155.1 155.2 155.5 156.1 156.8 157.5 157.7 158.0 158.2 158.1 158.0 157.8 157.7 157.7 157.7 156.6 155.4 154.1 153.6 154.2 155.6 158.4 161.6 165.0 168.4 172.5 177.4 180.7 185.5 192.5 197.8 203.4 209.6 214.9 220.8 227.2 227.8 228.8 230.3 228.9 228.7 230.4 230.1 229.8 229.7 230.7 231.3 231.2 232.0 232.7 233.0 233.0 232.8 232.6 232.5 232.7 233.1 233.2 233.2 233.2 232.1 229.3 224.8 217.1 209.3 202.5 202.3 208.9 224.0 242.8 259.1 268.9 273.7 276.3 277.4 278.6 279.6 279.9 279.9 280.0 280.5 280.2 279.6 278.7 278.0 277.5 277.6 277.0 276.2 275.4 275.3 275.4 275.2 275.1 275.2 275.4 275.5 275.6 275.9 276.3 276.6 276.7 276.7 276.7 276.8 276.9 277.1 277.3 277.4 277.5 277.6 277.7 277.7 278.1 278.4 278.4 278.2 277.8 277.2 276.7 276.3 275.4 272.0 269.4 267.1 260.8 255.8 251.7 241.6 235.3 231.3 225.8 220.3 215.0 212.6 210.0 207.2 205.8 205.0 204.7 204.6 206.9 210.9 214.1 215.2 215.0 216.8 217.6 217.5 217.5 217.8 218.5 218.8 218.8 218.5 218.1 217.6 217.0 216.4 215.9 215.5 215.4 215.3 215.3 215.4 215.7 216.3 217.8 219.6 221.7 223.0 224.1 224.6 226.5 228.5 230.8 231.7 232.4 233.4 234.2 234.8 235.1 235.3 235.4 235.2 234.6 234.1 233.7 233.5 233.3 233.0 232.8 232.7 232.7 232.8 232.8 232.9 233.0 233.1 233.2 233.3 233.4 233.4 233.4 233.3 233.0 232.8 232.6 232.4 232.5 232.6 233.0 233.4 233.7 234.1 234.3 234.5 234.7 234.9 235.1 235.2 235.0 234.8 234.6 234.4 234.1 234.1 233.4 232.4 231.1 229.6 228.0 226.0 223.6 221.0 217.5 214.2 210.7 206.2 203.0 200.9 199.6 199.0 198.8 198.7 198.7 198.8 199.4 200.5 201.9 203.8 206.1 208.6 209.1 209.3 209.3 209.5 209.9 210.4 210.1 210.1 210.3 210.6 209.8 208.3 204.8 199.4 192.7 188.2 185.8 184.8 186.2 187.1 187.8 189.1 189.8 189.5 189.3 188.9 188.4 188.0 187.5 186.7 186.4 186.2 186.0 185.2 184.6 184.1 183.8 183.3 182.6 182.2 181.8 181.6 181.2 181.0 181.2 181.5 181.6 181.5 181.7 181.8 181.9 182.5 183.1 183.3 183.6 183.9 184.1 184.5 184.8 184.9 185.0 185.2 185.3 185.3 185.3 185.3 185.4 185.5 185.5 185.6 185.7 185.8 185.9 186.0 186.1 186.2 186.3 186.5 186.6 186.6 186.7 187.0 187.2 187.0 186.7 186.2 185.1 183.0 180.0 173.9 171.3 170.3 172.4 176.8 181.5 184.0 186.8 189.6 191.4 194.1 196.9 198.4 201.4 205.2 209.2 212.3 214.7 216.3 217.5 218.0 217.3 216.3 215.3 214.4 213.6 212.7 211.8 210.2 208.1 206.3 205.4 204.9 204.1 203.1 202.0 201.8 202.0 202.4 203.1 203.6 204.0 206.3 207.8 208.9 210.5 211.4 211.9 212.6 212.8 212.6 212.2 211.9 211.6 209.5 207.8 206.5 203.3 200.9 199.4 197.6 195.9 194.6 194.6 194.9 195.7 197.4 199.2 201.3 204.4 207.0 208.6 211.1 213.4 215.3 216.1 216.7 217.1 216.3 215.6 215.0 213.4 211.8 209.9 206.8 203.4 199.9 198.3 197.6 197.8 198.1 198.5 199.0 199.6 200.3 200.9 201.7 202.4 203.0 203.5 203.9 204.1 203.7 203.1 202.1 200.4 198.5 196.4 194.4 192.3 190.4 188.8 187.5 186.3 185.5 184.9 184.3 183.7 183.2 182.8 182.5 182.2 181.9 181.7 184.1 184.1 184.1 184.1 184.1 184.1 184.1 184.1 184.1 184.1 184.3 184.3 184.3 184.3 184.3 184.4 184.4 184.4 184.4 184.5 184.5 184.5 184.5 184.6 184.6 184.6 184.6 184.7 184.7 184.7 184.8 184.8 184.8 184.9 184.9 184.9 184.9 185.0 185.0 185.0 185.0 185.0 185.1 185.1 185.1 185.1 185.1 185.2 185.2 185.2 185.2 185.2 185.2 185.2 185.2 185.2 184.9 183.8 181.9 179.3 176.3 173.1 169.8 166.7 164.1 162.0 160.5 159.8 159.7 160.7 162.6 165.8 170.0 175.2 181.6 189.1 197.6 207.1 217.5 228.7 240.8 253.2 266.2 279.1 291.7 304.0 315.3 325.4 334.0 340.8 345.5 348.2 348.6 348.2 347.6 346.6 345.6 344.6 344.0 343.4 343.4 343.4 343.4 343.6 343.6 344.0 344.1 344.4 344.6 344.9 345.2 345.3 345.7 345.8 346.0 346.2 346.4 346.4 346.4 347.0 349.8 354.4 359.9 365.2 369.0 370.4 370.4 370.4 370.4 370.4 370.4 370.4 370.2 370.2 370.2 370.2 370.0 370.0 370.0 370.0 369.8 369.8 369.8 369.6 369.6 369.6 369.6 369.5 369.4 369.4 369.4 369.4 369.4 369.4 369.4 369.4 369.4 369.4 369.4 369.4 369.4 369.4 369.4 369.4 369.4 369.4 369.4 369.4 369.4 369.4 369.4 369.4 369.4 369.4 373.1 383.0 397.9 415.5 432.2 445.4 450.8 447.3 433.9 413.1 390.8 370.9 357.6 352.1 351.8 351.7 351.7 351.5 351.3 351.1 350.8 350.6 350.3 350.0 349.8 349.5 349.2 349.0 348.9 348.8 348.6 348.6 345.8 346.1 346.3 346.6 346.6 346.7 347.0 347.6 348.4 349.3 350.0 350.5 350.8 352.0 353.1 353.6 354.0 354.1 353.6 352.9 352.6 351.2 348.2 343.8 338.2 331.7 325.4 318.8 311.2 304.0 297.1 291.0 285.7 281.5 278.4 276.5 275.9 275.8 275.7 275.6 275.5 275.4 275.3 275.1 275.1 275.0 258.4 227.1 202.4 198.4 201.2 206.8 215.3 225.9 237.7 249.8 260.9 269.9 275.1 282.0 283.0 283.2 282.8 281.7 280.3 279.0 278.3 277.2 276.2 275.9 275.5 275.0 274.8 274.6 274.7 275.0 275.2 275.4 275.7 276.2 276.9 277.7 278.3 278.8 279.0 279.4 279.9 280.1 279.9 279.3 278.8 278.0 277.0 273.7 269.6 265.0 255.7 248.1 241.6 241.9 243.3 245.4 249.5 253.4 257.1 257.9 259.1 261.0 263.1 265.1 267.1 267.7 268.4 269.3 270.6 271.8 273.1 273.5 274.7 276.9 280.6 283.9 286.5 286.0 285.1 283.5 282.9 282.3 281.8 280.8 279.8 279.1 278.7 278.4 278.3 278.0 277.7 277.5 277.3 276.7 275.6 273.3 269.3 263.0 254.8 246.8 239.8 235.0 231.7 229.6 230.6 233.1 236.8 242.1 248.7 259.4 270.5 280.9 286.6 288.3 288.8 288.8 289.5 290.3 291.1 291.8 292.3 292.5 292.6 292.6 292.5 292.3 292.1 292.1 292.1 292.2 292.3 292.2 291.9 291.7 291.6 291.5 291.5 291.8 292.2 292.4 292.6 292.6 292.5 292.3 291.9 291.7 291.5 291.3 291.0 290.9 290.7 290.0 289.9 290.2 290.8 291.2 291.5 292.7 294.8 297.6 299.4 301.9 304.9 310.4 313.7 315.5 319.8 322.7 324.7 326.9 327.5 327.2 326.6 326.1 325.5 321.6 319.1 317.5 312.9 309.0 305.6 304.0 302.4 300.9 299.8 299.5 300.4 300.9 302.2 304.5 305.9 307.9 311.1 312.5 314.8 318.6 320.5 322.5 324.5 324.4 324.1 323.6 321.6 319.6 317.7 314.4 311.9 310.8 309.7 309.1 309.3 309.7 310.2 310.5 310.9 311.5 312.5 314.4 316.2 317.6 318.6 319.4 320.1 320.1 319.9 319.6 319.0 318.4 318.1 317.7 316.7 314.8 312.4 309.9 307.5 303.6 297.4 284.0 268.8 255.0 246.1 246.1 249.4 257.7 270.4 283.6 292.2 293.4 291.9 287.1 281.5 275.0 265.2 257.4 250.4 243.9 237.6 232.5 231.5 232.6 234.6 234.6 235.3 236.3 235.8 236.0 236.3 235.6 235.1 234.8 234.8 234.5 234.0 233.6 233.4 233.2 233.1 232.7 232.1 231.3 230.4 229.6 228.5 226.8 224.8 222.6 221.1 219.9 217.9 216.0 214.1 212.4 210.8 209.2 208.6 208.1 207.5 207.4 207.3 207.1 206.6 206.9 207.5 207.7 207.9 208.0 208.1 208.4 209.1 210.1 210.4 209.2 209.1 209.0 208.8 208.7 208.6 208.5 207.3 204.0 199.1 193.2 187.0 181.5 177.1 174.3 173.2 174.0 176.0 179.0 182.8 187.0 192.3 197.5 202.3 206.2 209.0 210.4 208.7 209.0 208.9 208.1 207.8 207.6 207.4 207.1 206.8 206.5 206.2 205.9 205.6 203.9 201.9 200.0 197.5 193.6 187.8 184.6 182.3 181.3 182.0 183.5 186.2 186.9 187.0 186.4 185.8 185.2 184.8 185.0 185.3 185.5 185.6 185.8 186.5 186.5 186.3 185.9 185.6 185.4 185.1 184.9 184.7 184.5 184.4 184.2 184.0 183.6 183.0 182.7 181.1 178.6 175.5 170.1 163.5 157.8 154.6 153.7 156.1 164.1 175.2 181.0 185.3 187.9 188.0 187.8 187.5 187.1 186.7 186.4 186.2 186.1 186.1 185.9 185.8 185.6 185.5 185.4 185.4 185.1 184.8 184.6 184.4 184.3 184.1 184.0 183.9 183.7 183.6 183.3 182.9 182.9 183.0 183.2 183.3 183.4 183.5 184.2 184.8 185.4 185.5 185.6 185.7 185.8 185.8 185.6 185.4 185.1 184.8 184.4 183.7 182.6 180.0 177.7 175.7 171.7 168.6 167.0 162.9 158.4 154.2 151.6 149.1 146.3 144.7 143.8 143.5 143.0 143.0 144.0 144.4 145.1 146.7 148.9 150.3 150.3 151.5 152.4 152.4 153.6 154.7 155.4 155.8 156.2 156.7 156.5 156.1 155.8 155.5 155.3 155.1 154.9 154.7 154.5 154.4 154.4 154.2 154.1 154.0 154.0 154.0 153.9 153.8 153.7 153.7 153.7 153.7 153.7 154.0 154.2 154.5 154.7 154.9 155.2 155.7 156.4 157.1 157.3 158.0 158.8 158.9 158.9 158.8 158.9 159.0 158.9 158.5 157.9 156.8 154.6 151.6 148.0 146.8 146.2 145.9 146.2 145.7 144.7 147.9 151.5 155.6 166.9 176.4 184.6 197.8 208.1 216.3 220.3 222.7 224.1 224.8 225.4 225.9 227.8 229.1 230.0 230.1 230.5 231.3 232.1 232.9 233.6 233.9 234.0 233.9 233.7 233.5 233.2 232.6 231.8 230.5 228.8 226.9 224.8 222.8 221.1 219.6 218.5 217.7 217.3 216.2 214.9 213.5 212.1 211.0 210.2 209.5 208.9 208.4 208.3 208.5 208.8 208.7 208.4 207.9 207.2 205.7 202.9 196.4 190.6 187.0 187.1 188.9 192.0 194.6 196.6 197.7 199.3 200.8 201.8 202.9 204.5 207.8 210.9 213.5 215.0 215.8 216.2 215.7 214.0 212.1 209.9 208.9 208.3 208.0 207.7 207.5 206.2 205.9 205.4 204.3 203.6 202.5 201.6 200.8 198.8 197.7 196.1 194.8 193.7 192.2 190.9 189.8 189.6 189.6 189.4 189.1 188.8 188.1 188.0 188.1 188.2 188.7 189.5 190.1 189.4 187.8 185.6 184.0 182.8 183.1 183.3 183.2 184.4 185.0 185.1 185.6 185.8 185.9 185.9 185.9 186.1 185.8 185.5 185.0 184.8 184.7 184.7 184.8 184.8 184.9 185.0 185.2 185.3 185.5 185.6 185.6 185.7 185.8 186.1 187.0 187.9 188.8 188.6 188.4 188.1 187.7 187.4 187.1 187.0 186.8 186.5 186.4 186.1 185.5 185.5 185.4 185.2 185.1 184.9 184.7 184.4 184.2 184.2 184.1 184.0 183.9 183.9 183.8 183.7 183.7 183.6 183.6 183.8 184.0 184.1 184.3 184.5 185.0 185.2 185.4 185.7 185.7 185.8 186.4 187.0 187.5 187.4 187.1 186.9 186.6 186.1 185.4 183.8 182.5 181.0 178.3 176.1 173.5 168.7 164.1 159.6 155.4 152.8 150.0 145.0 140.9 137.8 136.1 134.6 133.9 135.0 134.9 134.2 133.6 133.3 133.1 132.5 132.1 132.1 133.2 134.5 135.7 136.1 136.6 137.2 137.9 138.2 138.6 139.2 139.4 139.4 139.2 139.1 138.9 138.7 138.6 138.5 138.3 138.2 138.2 138.0 137.9 137.9 137.4 137.0 136.5 136.4 136.3 136.4 136.5 136.6 136.7 136.8 137.0 137.3 138.1 138.9 139.8 140.3 141.2 142.6 143.7 144.5 144.9 145.0 145.2 145.5 145.6 145.4 144.7 145.0 144.9 144.2 143.3 142.5 141.7 144.5 149.6 158.5 164.9 172.2 180.6 191.3 201.5 209.6 214.4 217.8 220.4 223.4 226.2 228.4 230.6 231.9 232.1 232.5 233.3 234.6 235.3 235.7 235.7 233.8 231.3 228.6 221.8 213.0 202.8 198.8 196.8 197.0 197.3 197.6 197.7 197.6 198.2 201.1 204.7 207.9 209.4 211.3 213.0 213.8 213.9 213.4 211.8 210.8 210.0 209.5 209.1 208.8 209.1 209.0 208.6 208.4 208.3 208.1 208.0 207.7 207.5 207.2 206.9 206.6 206.3 206.2 206.1 206.2 206.3 206.5 206.7 207.0 207.2 207.4 207.7 208.0 208.2 208.3 208.4 210.4 212.0 213.5 213.0 212.1 210.9 210.7 210.4 210.2 209.8 209.4 209.0 208.6 208.4 208.1 207.8 207.2 206.6 206.1 205.2 204.1 202.9 201.0 198.7 196.5 194.8 193.6 191.8 189.9 188.1 187.0 185.6 184.0 183.4 182.8 182.3 183.4 184.4 185.2 184.8 184.5 184.5 184.4 184.7 185.4 185.6 185.7 185.7 185.9 186.1 186.3 186.5 186.7 186.8 186.9 186.8 186.6 186.3 185.9 185.5 184.4 183.5 183.1 182.7 182.2 181.5 181.6 181.8 182.2 182.5 182.9 183.4 184.0 184.6 185.1 185.2 185.1 184.8 184.6 184.4 184.2 184.0 183.8 183.8 183.8 183.7 183.7 183.7 183.6 183.6 183.6 183.5 183.5 183.5 183.4 183.4 183.3 183.3 183.3 183.3 183.3 183.5 183.6 183.9 184.1 184.4 185.0 185.8 186.2 186.3 186.4 186.6 186.8 186.9 186.9 186.9 186.8 186.7 186.6 186.4 186.4 186.4 186.1 185.9 185.7 185.1 184.3 183.5 182.9 182.1 181.3 181.0 180.6 180.3 180.5 181.1 181.9 182.8 184.5 186.8 189.5 192.0 194.3 198.2 201.0 203.1 204.4 205.3 206.0 206.5 207.1 207.7 207.6 207.5 207.4 207.1 207.0 207.1 206.9 206.7 206.5 206.6 206.7 206.7 206.8 206.8 206.9 206.9 206.5 205.9 204.1 202.6 201.4 202.4 203.7 205.3 209.0 213.1 217.0 221.8 225.9 228.5 230.1 231.2 232.2 233.1 233.9 234.4 235.2 235.7 235.7 235.5 235.3 235.0 234.3 233.4 232.5 231.6 230.9 230.6 230.7 230.8 231.0 231.3 231.5 231.7 231.9 232.3 232.8 233.0 233.1 233.1 233.0 232.9 232.9 232.9 232.8 232.7 232.6 232.5 232.5 232.5 232.4 232.4 232.4 232.4 232.4 232.4 232.4 232.5 232.6 232.5 231.7 228.5 223.8 218.9 215.6 214.4 216.8 219.5 222.0 223.3 225.7 229.0 232.7 227.6 215.5 200.3 188.0 179.4 176.5 177.6 180.1 184.1 189.3 195.6 202.5 209.7 216.7 223.1 228.4 232.1 233.8 234.0 233.9 233.8 233.6 233.3 233.0 232.8 232.7 232.7 233.3 235.2 238.9 243.8 249.5 255.9 262.4 268.5 273.7 277.6 279.8 277.1 277.2 277.3 277.4 277.6 277.8 278.0 278.2 278.5 278.5 278.4 278.3 278.1 277.8 277.5 277.2 276.9 276.6 276.3 275.9 275.6 275.5 275.4 275.3 275.4 275.8 276.3 276.8 277.4 277.9 278.1 278.5 279.3 280.2 280.8 280.9 280.7 280.5 280.3 280.0 279.7 279.6 279.4 278.8 276.4 274.6 272.2 266.4 258.6 249.6 237.2 232.5 230.4 232.0 233.4 234.7 235.1 236.1 237.1 238.2 238.7 239.4 240.7 242.6 244.7 246.7 248.4 249.6 250.0 250.9 252.3 254.0 255.8 257.5 258.7 259.8 261.1 263.6 269.2 276.1 279.4 282.4 284.6 284.5 283.8 282.7 281.7 281.1 280.5 279.2 278.3 277.8 277.4 276.8 276.1 275.4 275.2 275.3 275.8 276.2 276.4 276.7 277.2 277.7 277.8 277.8 277.8 277.7 277.6 277.5 277.5 277.4 277.3 277.2 277.1 277.0 277.0 277.0 276.9 276.9 276.9 277.0 277.3 277.5 277.7 277.6 277.5 277.3 277.2 277.1 277.0 276.9 276.9 276.9 277.0 277.2 277.5 277.7 278.0 278.3 278.7 278.9 278.8 278.5 278.2 277.9 277.6 277.4 277.2 276.9 275.6 273.0 269.6 264.7 258.1 250.5 245.1 243.3 244.3 247.3 252.5 258.7 263.7 266.5 269.2 271.2 272.5 273.4 274.0 274.1 274.4 274.7 274.9 275.0 275.2 275.9 277.0 278.4 280.6 281.5 282.2 283.0 283.7 284.5 285.6 287.0 288.4 288.9 288.5 287.4 284.6 282.7 281.6 281.0 280.3 279.7 279.3 278.3 277.1 276.7 275.9 275.0 274.2 273.7 273.5 273.5 273.6 273.7 273.8 273.9 274.0 274.1 274.2 274.3 274.3 274.7 275.3 275.4 275.5 275.7 276.0 276.2 276.4 276.6 276.8 276.9 277.3 277.7 278.0 278.2 278.4 278.6 278.7 278.6 278.3 277.8 277.4 276.9 276.7 276.8 276.9 277.1 277.3 277.5 277.6 277.7 277.7 277.7 277.7 277.7 277.6 277.5 277.5 277.5 277.5 277.3 277.3 277.3 277.3 277.2 277.2 277.2 277.1 277.0 277.0 277.1 277.1 277.0 277.1 277.2 277.2 277.3 277.1 276.6 274.9 271.6 266.4 258.2 252.5 251.7 254.6 258.2 261.3 267.0 271.8 274.3 275.2 276.3 278.2 282.0 286.8 292.6 296.8 301.5 310.3 312.0 312.2 313.3 313.9 314.5 315.3 315.7 315.9 315.2 314.3 313.5 313.5 313.4 313.1 312.2 311.5 310.9 310.5 310.2 309.9 309.2 308.7 308.3 308.3 308.3 308.5 308.8 309.2 309.6 309.9 310.2 310.4 310.5 310.6 310.7 311.0 311.4 311.7 311.8 311.8 311.6 311.3 310.1 308.9 306.5 303.3 298.8 293.5 287.5 280.8 273.8 266.4 258.6 250.9 243.3 235.8 228.6 221.7 215.2 209.3 204.0 199.2 195.0 191.4 188.5 186.3 184.8 183.9 183.7 184.5 186.5 189.7 194.2 199.8 206.5 214.3 222.6 231.3 240.2 249.0 257.4 264.6 270.5 274.8 277.3 278.3 278.3 278.4 278.5 278.5 278.5 278.6 278.6 278.6 278.7 278.8 278.8 278.9 278.9 279.1 279.1 279.1 279.2 279.3 279.3 279.1 278.7 277.9 276.9 275.7 274.6 273.7 273.0 272.6 272.7 273.1 273.9 275.0 276.5 278.5 280.6 283.0 285.5 288.3 291.2 294.2 297.1 299.9 302.6 305.1 307.4 309.3 310.9 312.2 313.0 313.5 313.5 313.4 313.3 313.3 313.3 313.2 313.1 313.0 312.9 312.9 312.8 312.6 312.5 312.4 312.4 312.2 312.1 312.0 311.9 311.8 311.8 311.7 311.7 311.5 311.5 311.5 311.5 312.4 312.3 312.2 312.1 311.9 311.9 312.0 312.2 312.6 312.8 312.9 312.9 312.9 313.0 313.1 313.2 313.3 313.3 313.4 313.5 313.7 313.8 313.8 313.8 314.0 314.0 314.0 314.1 314.2 314.2 314.2 314.1 313.8 313.5 313.2 312.9 312.7 312.5 312.4 312.4 312.5 312.7 312.9 313.0 313.3 313.4 313.5 313.5 313.4 313.2 313.1 313.0 312.9 312.7 312.6 312.5 312.4 312.4 312.6 313.2 312.9 312.3 311.5 311.2 311.1 311.1 311.2 311.4 311.5 311.6 311.7 311.7 311.8 311.9 312.0 312.1 312.2 312.2 312.3 312.4 312.4 312.4 312.3 312.2 312.2 312.2 312.1 311.9 311.8 311.7 311.7 311.6 311.5 311.5 311.5 311.3 311.0 310.7 310.5 310.3 310.3 310.5 310.9 311.2 311.3 311.8 312.4 312.5 312.5 312.3 312.1 311.9 311.6 311.5 311.5 311.4 311.2 310.9 310.5 310.2 310.1 310.1 310.2 310.3 310.4 310.5 310.7 310.8 310.9 311.0 311.1 311.0 310.9 310.8 310.5 310.3 310.2 310.2 310.2 310.2 310.4 310.4 310.4 310.4 310.5 310.6 310.7 310.8 310.8 310.9 311.0 311.1 311.1 311.2 311.3 311.3 311.4 311.5 311.5 311.5 311.7 311.7 311.7 311.7 311.1 311.3 311.8 312.4 313.2 314.0 314.9 315.9 316.9 317.7 318.3 318.8 319.0 319.0 318.6 317.8 316.7 315.3 313.7 311.8 309.7 307.2 305.1 302.4 300.0 297.9 295.7 293.8 292.6 291.6 291.0 291.0 291.6 293.3 295.0 297.6 300.5 303.1 306.7 310.2 313.3 316.9 320.4 323.4 326.0 328.7 331.0 332.5 333.6 334.0 334.0 333.4 332.1 330.4 328.1 325.3 322.7 319.1 315.5 312.4 308.6 305.1 302.1 298.9 296.0 294.0 291.9 290.5 289.6 289.3 289.3 289.8 290.8 292.5 294.7 296.9 299.7 303.1 306.1 309.9 313.7 316.9 320.5 324.0 326.8 329.4 331.7 333.3 334.5 335.0 334.8 334.1 332.7 331.2 329.1 326.1 322.8 319.7 316.0 312.2 308.8 305.1 301.6 298.8 295.8 293.3 291.5 290.0 288.8 288.5 288.5 289.1 290.3 292.0 294.2 296.6 299.6 303.0 306.1 309.5 313.4 317.3 320.6 324.2 327.5 330.0 332.4 334.2 335.2 335.8 335.8 335.0 333.7 331.7 329.4 326.5 323.0 319.9 315.9 312.0 308.6 304.7 301.1 298.1 295.5 292.8 290.8 289.3 288.2 287.8 287.8 288.5 289.6 291.1 293.5 296.2 299.0 302.4 306.3 309.7 313.7 317.7 321.2 324.8 328.3 330.8 333.2 335.0 336.2 336.7 336.7 335.8 334.6 332.6 330.0 327.2 323.8 319.9 316.4 312.3 308.3 304.7 301.1 297.6 294.9 292.1 290.0 288.6 287.5 287.0 287.1 287.8 289.1 290.6 292.6 295.5 298.8 301.9 305.8 309.9 313.5 317.7 321.7 324.9 328.6 331.5 333.8 335.8 336.9 337.5 337.4 336.6 335.2 333.1 330.4 327.5 324.0 319.9 316.4 312.7 308.5 304.4 301.1 297.4 294.2 291.8 289.5 287.8 286.8 286.3 286.3 287.0 288.2 290.1 292.3 295.2 298.6 301.7 305.9 310.1 313.8 318.1 322.3 325.7 328.7 331.9 334.6 336.4 337.8 338.5 338.3 337.5 336.0 334.0 331.2 327.9 324.7 320.6 316.4 312.6 308.2 304.0 300.5 296.7 293.5 291.1 288.7 287.0 286.0 285.5 285.6 286.3 287.5 289.3 291.8 294.3 297.9 301.7 305.3 309.6 314.0 317.8 322.3 326.4 329.4 332.8 335.6 337.3 338.7 339.3 339.1 338.3 336.6 334.6 332.1 328.8 324.9 321.4 316.8 312.4 308.4 304.1 300.0 296.7 293.2 290.3 288.3 287.1 287.6 288.6 290.3 292.5 294.7 297.5 300.4 302.8 305.4 307.7 309.3 310.6 311.6 311.8 311.7 304.7 303.5 303.1 303.4 303.8 304.3 304.8 305.4 306.1 306.7 306.7 306.7 306.7 306.7 306.7", + "f0_timestep": "0.005" + }, + { + "offset": 96.629, + "text": "AP 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 SP 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 SP", + "ph_seq": "AP d u d ao n an h ua d i j i p ian d ao ch u ch eng ch u sh an q ian d i y i g uan d ang sh ir l i l ian SP j i d e y van x ing n a t ian d ou l i q ian x i y v l iang s an d ian b ei sh ang f u m ing j ian SP", + "ph_dur": "0.5548 0.0452 0.1509 0.0301 0.1348 0.0452 0.2912 0.0708 0.3068 0.0542 0.3168 0.0452 0.1198 0.0602 0.3319 0.0301 0.0852 0.0958 0.0974 0.0826 0.251 0.111 0.1069 0.0731 0.1117 0.0693 0.1509 0.0301 0.1298 0.0512 0.1348 0.0452 0.1509 0.0301 0.1117 0.0693 0.3158 0.0452 0.0906 0.0904 0.904 0.2446 0.1164 0.1313 0.0497 0.1047 0.0753 0.2219 0.1401 0.2616 0.0994 0.2671 0.0949 0.1509 0.0301 0.3158 0.0452 0.1102 0.0708 0.1107 0.0693 0.1358 0.0452 0.1141 0.0669 0.1102 0.0708 0.1514 0.0286 0.1509 0.0301 0.2415 0.1205 0.1198 0.0602 0.2822 0.0798 0.2209 0.1401 0.723 0.4", + "ph_num": "2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest D#3 F3 F#3 F3 F#3 F3 F#3 F#3 G#3 F#3 F#3 G#3 F#3 F3 F3 F3 F#3 F3 C#3 D#3 rest A#2 C#3 D#3 C#3 D#3 F3 F#3 F#3 F#3 G#3 G#3 G#3 G#3 B3 A#3 B3 A#3 A#3 G#3 A#3 rest", + "note_dur": "0.6 0.181 0.18 0.362 0.361 0.362 0.18 0.362 0.181 0.18 0.362 0.18 0.181 0.181 0.181 0.18 0.181 0.181 0.361 0.181 0.904 0.361 0.181 0.18 0.362 0.361 0.362 0.181 0.361 0.181 0.18 0.181 0.181 0.181 0.18 0.181 0.181 0.181 0.18 0.362 0.361 0.723 0.4", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0", + "f0_seq": "133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.4 133.3 133.0 132.6 132.0 131.2 130.3 129.2 127.9 126.6 125.2 123.6 122.0 120.3 118.5 116.7 114.9 113.1 111.3 109.5 107.7 106.0 104.3 102.7 101.0 99.6 98.2 96.8 95.6 94.5 93.5 92.6 91.8 91.2 90.6 90.1 89.7 89.5 89.3 89.4 89.6 90.2 91.1 92.3 93.8 95.6 97.6 99.9 102.6 105.4 108.5 111.8 115.2 118.9 122.5 126.2 129.9 133.5 137.1 140.4 143.5 146.2 148.6 150.6 152.1 153.2 153.8 156.5 157.1 157.5 158.0 158.6 159.3 160.0 160.5 160.1 159.6 158.9 157.9 155.4 150.8 145.0 140.3 136.8 137.8 140.8 145.4 151.9 159.1 166.5 172.6 176.1 176.4 175.9 175.7 176.0 175.7 175.2 174.6 174.3 174.2 174.3 174.4 174.4 174.4 174.3 174.2 174.2 174.0 173.8 173.8 173.5 173.1 172.9 172.0 171.1 171.0 170.8 170.6 170.7 171.2 171.7 172.3 173.2 174.4 174.8 174.8 174.8 174.7 174.6 174.6 174.5 174.4 174.3 174.2 174.1 174.0 173.9 173.7 173.6 173.5 173.5 173.4 173.3 173.3 173.2 173.2 173.5 174.2 175.2 176.3 177.6 178.9 179.9 180.5 182.3 182.8 183.2 183.7 184.3 184.8 185.9 186.4 186.7 187.0 187.2 187.4 187.2 187.0 186.8 186.5 185.9 185.2 182.7 179.1 174.8 171.0 168.6 167.1 165.5 164.8 164.5 165.1 165.7 166.2 166.2 166.1 165.7 165.3 164.9 164.5 163.9 163.6 163.5 163.7 163.8 163.6 163.6 164.2 165.5 168.3 170.4 171.4 172.8 173.7 173.8 174.1 174.2 174.0 173.8 173.5 173.3 173.1 172.9 172.7 172.6 172.5 172.4 172.6 172.8 172.9 172.9 172.9 173.0 173.1 173.1 173.1 173.2 173.2 173.3 173.3 173.3 173.4 173.5 173.6 173.9 174.4 174.9 175.3 175.5 175.7 176.0 176.1 176.2 176.1 175.9 175.8 175.7 175.6 175.4 174.9 174.5 174.1 173.8 171.4 168.4 164.8 159.8 155.3 153.5 152.3 151.6 151.1 150.1 149.2 150.5 152.7 156.3 163.7 170.1 175.5 179.6 183.1 185.7 185.8 185.9 185.9 185.3 185.0 184.7 184.2 183.9 183.6 183.2 182.4 181.5 181.1 180.6 180.1 180.4 180.5 180.7 181.0 181.9 183.0 183.4 183.9 184.4 185.0 185.3 185.3 185.2 185.2 185.1 185.0 184.8 184.7 184.5 184.3 184.1 184.0 183.9 183.7 183.7 183.6 183.4 183.5 183.6 183.9 183.9 183.6 182.7 181.9 180.1 176.7 170.0 163.2 156.2 154.4 153.7 154.7 155.8 157.7 160.6 163.7 166.1 167.3 169.1 171.7 175.5 178.5 180.6 181.7 181.3 180.3 178.8 177.5 176.6 176.3 176.1 175.9 175.8 175.6 175.4 175.5 175.5 175.1 174.2 172.7 170.3 165.3 158.6 152.2 148.4 146.9 146.4 147.3 149.4 151.4 152.4 153.1 154.2 157.7 162.6 167.5 170.7 176.0 181.5 185.4 188.0 189.8 189.7 189.0 188.2 187.6 186.4 185.2 184.9 184.1 183.2 183.0 182.6 182.3 182.0 181.8 181.8 182.0 182.2 182.4 182.4 182.6 182.8 182.8 183.2 183.8 184.0 184.2 184.5 184.5 184.6 184.7 184.8 185.0 185.2 185.4 185.5 185.6 185.7 185.9 186.3 186.3 186.2 186.2 186.1 186.0 186.0 185.9 185.8 185.7 185.7 185.7 185.6 185.3 184.9 184.4 183.8 183.4 183.0 182.7 182.3 181.5 179.1 175.9 171.5 168.8 166.0 163.2 162.8 163.9 167.5 175.9 182.8 187.3 188.1 188.1 186.8 186.8 186.7 186.6 186.4 186.1 186.0 185.7 185.5 185.3 183.5 183.6 183.8 183.9 184.1 184.4 184.7 184.9 185.0 185.2 185.2 184.6 183.1 181.0 178.4 175.6 173.0 170.9 169.7 169.1 169.5 170.5 172.1 174.2 176.8 179.9 183.4 187.1 190.9 194.6 198.1 201.3 203.9 205.9 207.2 207.9 207.9 208.0 208.0 208.0 208.1 208.1 208.2 208.3 208.4 208.4 208.5 208.5 208.5 208.3 207.7 206.3 204.2 201.5 198.7 195.7 192.6 190.0 187.6 185.9 184.7 184.2 187.0 187.8 188.2 188.4 188.2 187.9 187.7 187.3 186.9 186.4 186.0 185.6 185.0 184.6 184.6 184.6 184.6 184.6 184.6 184.6 184.6 184.6 184.6 184.6 184.8 185.0 185.1 185.3 185.4 185.6 185.9 186.2 186.4 186.6 186.8 186.9 186.8 186.6 186.3 186.1 185.6 184.6 183.8 182.6 180.6 176.6 172.7 168.9 165.5 162.9 161.5 162.3 163.6 165.4 166.6 167.8 169.0 169.8 170.7 172.3 173.8 175.2 176.4 178.6 180.3 181.0 182.7 184.6 186.3 187.2 188.1 189.0 188.5 187.9 187.4 187.3 187.2 187.0 186.7 186.5 186.2 186.1 185.9 185.7 183.9 184.1 184.1 184.1 184.1 184.1 184.1 184.1 184.1 184.1 184.1 184.1 184.1 184.1 184.1 182.6 179.4 176.1 173.7 173.5 174.1 175.3 176.8 179.0 181.7 184.7 187.9 191.2 194.5 197.7 200.5 202.9 204.8 206.1 206.6 206.9 207.6 208.1 207.9 207.4 206.8 206.0 203.4 199.6 195.8 194.4 195.4 199.7 203.0 205.6 205.5 204.8 203.6 204.0 203.8 203.0 201.6 199.1 196.0 190.7 187.4 185.2 184.5 184.1 183.9 183.5 183.4 183.5 183.4 183.3 183.4 183.5 183.9 185.0 185.2 185.4 185.6 186.1 186.5 186.8 186.8 186.9 187.0 186.4 185.6 184.7 182.4 179.5 175.8 173.5 172.1 172.2 174.3 177.2 181.4 182.3 182.4 181.1 179.6 178.1 177.0 176.2 175.6 175.4 174.9 174.4 174.0 173.6 173.4 173.4 173.6 173.8 174.0 174.2 174.4 174.7 175.2 175.7 176.0 176.4 176.9 177.5 178.0 178.4 178.3 178.2 178.2 178.0 177.8 177.7 177.6 177.2 176.7 176.0 175.8 175.8 175.7 175.7 175.6 175.5 175.4 175.3 175.2 175.2 175.2 175.2 175.1 175.0 174.8 174.6 174.5 174.3 174.1 173.9 173.6 171.9 169.3 166.8 162.8 158.3 155.6 154.4 154.7 156.5 161.5 168.0 171.6 174.6 176.5 176.0 175.6 175.3 175.0 175.0 175.0 175.2 175.3 175.5 175.6 175.6 175.5 175.4 175.2 175.1 175.1 175.0 174.8 174.8 174.6 174.3 173.9 173.7 173.6 173.6 173.1 172.3 168.6 165.2 162.5 166.4 171.9 180.1 183.7 186.2 187.0 187.0 186.7 186.3 185.3 184.5 184.1 184.5 185.0 185.4 185.3 185.1 184.7 181.9 178.5 174.1 166.5 161.0 158.3 160.7 165.1 170.5 176.2 180.1 181.2 182.4 183.6 184.8 187.0 189.0 190.3 193.6 196.5 197.8 198.2 197.4 195.1 192.9 190.9 189.2 186.7 184.8 184.3 183.7 182.9 182.0 181.5 180.9 180.1 179.1 178.2 177.8 177.3 176.7 176.0 175.5 175.1 175.1 175.1 175.0 174.9 174.8 174.7 174.6 174.6 174.5 174.4 174.4 174.3 174.3 174.4 174.4 174.5 174.6 174.7 174.9 174.9 174.8 174.9 174.9 174.8 174.7 174.5 174.3 174.0 173.8 173.6 173.3 172.7 171.7 169.9 168.2 166.5 163.8 161.7 159.9 155.5 152.1 149.4 147.0 145.4 144.4 144.1 143.5 142.8 141.8 140.7 139.6 138.8 138.5 138.5 138.0 138.1 138.7 138.3 138.2 138.4 138.3 139.0 141.0 141.3 141.5 141.6 141.7 141.6 141.2 140.2 139.5 139.2 139.0 138.1 136.4 135.1 134.3 134.5 134.8 134.9 134.9 135.6 136.3 137.2 138.0 138.8 139.6 141.3 142.8 143.7 144.7 145.6 146.2 148.0 149.6 150.4 151.9 153.0 153.7 153.8 153.8 153.7 153.6 153.5 153.5 153.0 152.1 151.2 150.4 149.7 149.0 148.0 147.1 146.9 146.7 146.4 146.2 146.2 146.3 146.8 147.2 147.7 148.8 149.3 149.9 151.4 152.4 153.3 154.3 155.7 156.9 157.4 158.3 159.2 159.8 160.1 160.2 159.9 159.7 159.4 159.3 158.4 157.2 156.5 155.0 153.1 151.2 150.0 149.2 148.3 147.9 147.8 148.0 148.3 148.8 149.6 150.8 152.5 154.2 155.6 156.8 158.1 159.3 160.3 161.0 161.7 162.4 162.2 162.0 161.8 160.8 159.9 159.0 157.8 156.0 153.9 151.4 149.9 148.9 147.0 145.3 143.6 142.7 142.4 142.5 143.0 143.8 145.1 146.4 147.3 147.9 149.4 151.3 153.9 155.9 157.5 158.5 159.6 161.2 163.5 164.2 164.6 164.4 164.2 163.8 163.2 162.3 160.9 158.8 157.0 155.5 154.7 153.2 151.3 149.0 147.7 146.6 145.4 144.9 144.9 145.4 145.9 146.5 147.3 149.4 151.7 153.7 155.2 156.7 158.8 160.7 162.0 162.6 163.5 164.0 163.7 163.2 162.5 161.4 159.6 157.8 156.5 154.3 151.9 150.3 148.5 146.9 145.7 145.4 145.3 145.5 146.0 146.7 148.0 150.0 152.1 154.4 156.1 157.5 158.7 159.2 159.5 159.3 159.0 158.6 157.5 156.4 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.6 155.5 155.4 155.3 155.1 154.8 154.5 153.9 153.3 152.2 150.8 149.2 146.5 143.5 140.4 136.3 132.6 129.2 126.0 123.5 121.5 120.0 119.0 118.2 117.8 117.4 117.1 116.9 116.8 116.7 120.7 120.3 119.4 118.1 116.2 114.0 111.5 108.7 105.8 102.9 100.0 97.2 94.7 92.4 90.4 88.7 87.3 86.3 85.8 85.6 85.8 86.3 87.2 88.4 89.9 91.6 93.7 95.9 98.3 100.9 103.4 106.0 108.4 110.7 112.7 114.5 115.9 116.9 117.3 119.6 120.1 120.8 121.1 121.2 121.3 121.4 121.6 121.9 121.2 119.6 115.7 114.3 114.3 117.2 120.0 122.8 125.8 129.5 133.2 135.8 136.9 137.7 138.2 138.4 138.6 139.2 139.7 140.1 140.5 140.8 140.9 140.1 139.4 139.1 139.0 138.8 138.7 138.7 138.2 137.6 137.6 137.4 137.2 137.2 137.1 136.8 135.9 135.4 135.3 136.1 137.4 139.4 143.8 148.7 153.4 156.0 157.2 157.6 157.4 157.2 157.1 156.4 156.0 155.9 155.9 155.8 155.6 156.1 156.9 157.9 158.1 158.0 157.7 157.5 157.1 156.6 157.3 156.8 155.7 154.4 153.7 153.9 154.1 154.4 154.8 154.9 155.1 155.7 155.9 157.0 159.2 160.4 161.0 160.8 159.8 158.5 156.8 154.1 151.4 148.7 147.8 146.7 145.1 143.0 142.1 143.2 143.6 143.6 143.4 143.0 142.7 142.3 142.5 143.3 144.5 144.8 144.7 144.7 144.4 144.3 144.6 145.1 145.4 145.3 143.8 141.7 138.9 136.9 136.8 139.6 140.5 140.7 139.4 138.4 137.4 136.5 136.1 135.8 135.7 135.7 135.6 135.6 135.7 135.9 136.2 136.3 136.6 137.1 137.5 137.8 138.4 138.5 138.5 138.3 138.2 138.1 137.9 137.8 137.7 137.5 137.6 137.9 138.5 138.8 139.1 139.4 139.8 140.2 140.3 140.5 140.7 140.7 140.7 140.6 140.5 140.4 140.4 140.3 140.1 139.8 139.7 140.1 140.9 141.3 140.7 139.6 137.1 136.4 137.1 137.9 139.1 140.4 141.6 142.7 143.7 145.0 146.6 148.5 150.7 153.1 155.5 158.2 159.5 159.9 159.6 159.1 158.1 158.8 159.4 159.9 159.9 159.9 159.8 159.0 158.3 157.8 157.3 156.6 155.7 154.8 154.5 155.1 155.8 155.9 155.0 154.3 153.9 153.9 154.0 154.1 154.2 154.3 154.3 154.4 154.5 154.5 154.6 155.0 155.2 155.4 155.5 155.8 156.1 156.5 156.8 157.1 156.9 156.6 156.3 156.2 155.2 152.9 149.0 146.1 145.2 145.8 147.0 149.8 151.1 152.1 153.4 154.4 155.5 157.1 158.8 160.5 162.4 163.3 164.1 165.2 167.7 170.4 172.1 172.8 173.3 173.9 173.2 172.2 171.2 171.0 171.1 171.7 172.3 172.8 173.4 173.9 174.3 174.6 174.8 174.9 175.0 175.0 174.9 175.1 174.9 174.6 174.2 173.2 171.7 169.0 165.4 161.7 160.0 160.2 162.3 167.3 173.0 179.3 183.7 186.2 187.3 187.8 188.3 188.9 189.4 189.7 190.1 189.7 189.2 188.7 186.7 185.5 184.8 183.0 181.2 179.4 178.8 177.7 176.3 176.4 176.6 176.9 178.2 179.4 180.3 181.8 183.5 185.5 186.1 186.9 188.0 188.4 188.7 189.0 188.2 187.5 186.9 186.0 184.8 183.4 182.7 181.7 180.5 180.1 179.6 179.1 179.1 179.4 179.9 180.3 181.0 182.1 182.9 183.6 184.2 184.8 185.1 184.8 184.5 184.1 183.6 182.8 182.2 182.0 182.1 182.4 182.7 182.9 183.2 183.6 184.8 185.9 185.9 185.7 185.6 185.5 185.3 185.2 185.2 185.4 185.6 185.8 185.6 185.3 184.4 181.7 177.5 169.5 164.6 161.3 161.6 163.8 166.8 171.7 174.5 176.7 178.5 181.1 184.0 185.5 188.4 191.8 193.4 195.8 198.4 199.6 199.2 196.9 191.8 188.1 185.8 185.1 184.6 184.5 184.6 184.8 185.0 185.2 185.2 185.2 185.0 184.8 184.6 182.2 179.2 175.8 169.6 165.5 162.9 163.3 164.7 166.7 171.5 176.2 180.7 185.3 190.2 195.3 198.4 202.5 207.4 211.0 212.7 213.0 211.9 211.3 211.4 210.3 209.0 207.5 207.3 206.9 206.2 206.3 206.2 205.7 205.6 205.5 205.4 205.2 205.3 205.5 205.7 206.0 206.3 207.2 207.9 208.3 208.7 209.1 209.4 210.4 211.3 211.6 211.5 211.3 211.1 210.8 210.5 210.2 210.1 209.9 209.5 208.8 208.3 208.2 208.0 207.8 207.6 207.5 207.4 207.4 207.5 207.6 207.6 207.7 207.8 207.9 208.0 208.0 208.0 207.8 207.6 207.2 206.9 206.7 206.5 206.5 206.6 206.8 207.0 207.2 207.4 207.7 208.1 208.4 208.6 208.6 208.1 208.0 207.8 207.5 207.4 207.3 207.1 206.9 206.6 206.3 206.0 205.7 205.4 205.1 204.6 203.0 198.2 191.7 186.3 184.8 187.0 194.2 201.1 206.7 207.8 208.6 209.1 209.4 210.4 211.6 215.3 217.5 218.7 217.6 215.4 212.5 210.5 208.9 207.5 207.2 206.9 206.7 206.6 206.6 206.6 206.6 206.5 206.5 206.5 206.6 206.7 207.0 207.4 207.9 208.5 209.1 209.8 210.1 210.5 210.9 211.6 211.1 208.9 204.0 202.0 204.1 213.7 223.4 232.8 237.3 240.7 242.4 243.6 244.8 246.2 246.9 247.3 247.4 247.1 246.9 246.7 246.9 247.0 247.0 246.7 246.6 246.8 246.6 246.4 246.3 246.1 245.7 245.2 244.4 243.7 243.1 241.1 237.9 233.3 226.2 220.5 217.8 218.2 220.7 228.6 233.8 237.9 240.0 240.0 239.3 238.2 237.3 236.4 235.2 234.8 234.5 234.1 233.8 233.4 233.1 232.9 232.6 232.4 232.3 232.1 232.1 232.1 232.2 232.3 232.0 231.4 231.1 231.3 231.9 232.6 233.5 234.4 235.2 236.0 237.3 240.4 243.0 245.2 247.2 248.6 249.8 250.9 251.6 251.8 251.7 251.6 251.2 249.5 247.1 244.2 237.6 233.0 229.7 227.6 227.0 227.5 228.5 230.4 232.9 234.0 234.6 235.0 235.3 235.8 236.6 237.4 238.5 239.9 241.5 243.4 245.5 246.4 247.1 247.7 245.3 242.8 239.9 238.5 237.2 235.9 235.4 234.8 234.2 234.0 234.0 234.2 233.7 233.3 232.7 232.4 231.4 229.3 225.2 219.2 210.8 206.0 202.3 200.1 198.7 198.5 199.8 202.9 207.7 214.4 217.7 221.2 226.2 231.9 236.1 237.8 241.0 244.0 246.0 246.6 246.7 246.5 246.4 246.2 246.1 245.8 245.0 243.8 242.3 240.7 239.2 238.5 237.9 237.1 235.8 234.5 233.3 233.0 232.9 232.6 232.4 232.3 232.2 232.2 232.3 232.5 232.6 232.7 232.9 232.9 233.0 233.5 233.8 233.9 233.8 233.6 233.4 233.2 233.0 232.8 232.6 232.0 230.9 229.4 227.2 224.1 219.1 215.6 213.1 210.5 207.4 204.6 203.6 202.0 199.9 197.8 196.2 195.2 194.9 194.6 194.4 193.9 193.8 194.1 195.4 196.8 198.3 201.9 203.7 204.2 206.0 206.5 206.1 206.9 207.6 208.4 208.6 208.8 208.9 209.2 209.1 208.7 208.2 207.7 207.2 206.9 206.3 205.4 204.9 204.1 203.0 202.5 202.0 201.5 201.9 202.2 202.6 202.9 203.7 205.0 206.2 207.1 207.5 208.2 208.9 209.6 210.3 210.7 210.8 211.0 211.2 211.4 211.2 210.6 209.7 206.8 202.9 197.9 188.1 180.1 176.0 175.1 175.8 177.9 182.3 186.8 190.5 192.6 194.6 197.3 200.8 203.9 206.0 208.4 211.0 213.7 216.2 219.1 223.3 227.2 233.2 230.8 226.7 221.4 216.1 211.9 209.2 207.9 207.9 207.9 207.9 207.9 207.9 207.8 207.8 207.8 207.8 207.7 207.7 207.7 207.7 207.6 207.5 207.5 207.4 207.4 207.4 207.4 207.4 207.3 207.3 207.3 207.3 207.3 207.4 207.9 208.7 209.9 211.6 213.4 215.5 217.8 220.0 222.0 224.1 226.2 228.0 229.4 230.5 231.1 232.1 234.8 235.8 237.6 239.9 241.9 243.3 244.4 243.9 243.3 242.6 242.2 240.8 238.8 236.9 233.6 229.3 226.8 224.4 222.2 221.1 220.1 219.0 219.5 220.0 220.5 222.4 224.6 227.2 229.6 232.1 234.7 236.9 239.2 241.6 243.2 244.0 243.7 243.2 242.6 242.1 239.6 237.6 236.3 233.3 230.6 229.1 227.1 225.4 224.5 223.5 223.0 223.4 224.0 224.6 225.0 227.6 230.4 232.9 235.1 237.1 238.5 240.5 242.2 243.1 244.3 245.0 244.7 244.4 243.8 242.3 240.3 238.3 237.2 234.6 231.9 230.5 228.9 227.4 226.9 227.3 227.8 228.2 229.2 230.4 231.7 233.7 235.6 236.6 236.5 236.1 235.7 233.9 231.7 229.7 229.0 229.1 229.3 229.5 229.8 230.0 230.4 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7 230.7", + "f0_timestep": "0.005" + }, + { + "offset": 108.362, + "text": "AP 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 SP 啊 啊 啊 啊 啊 啊 SP 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 SP 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 SP", + "ph_seq": "AP x iu sh uo r en j ian x ing d ao n an l u y ou b u p ing b ian t ian l u t ian z u sh ang q ing t ian SP y i n ian x iao y ao zh ir j ian SP r uo w ei q ian ch eng y van b u sh ir zh en sh ao n ian SP sh eng s i0 j ian sh ui q ian p o j vn zh en q ian y ou j i r en b ing j ian SP", + "ph_dur": "0.2939 0.1391 0.1117 0.0693 0.1358 0.0452 0.2661 0.0949 0.2219 0.1401 0.3218 0.0392 0.1103 0.0707 0.3218 0.0392 0.1358 0.0452 0.1509 0.0301 0.1499 0.0301 0.1509 0.0301 0.1509 0.0301 0.1348 0.0452 0.1008 0.0802 0.2867 0.0753 0.0885 0.0915 0.2029 0.1591 0.2511 0.1099 0.904 0.3309 0.0301 0.1208 0.0602 0.1117 0.0693 0.3034 0.0576 0.1208 0.0602 0.2556 0.1054 0.362 0.1057 0.0753 0.3309 0.0301 0.0946 0.0864 0.23 0.131 0.2912 0.0708 0.1499 0.0301 0.2174 0.1446 0.1107 0.0693 0.2219 0.1401 0.4366 0.1054 0.904 0.0595 0.1205 0.2219 0.1401 0.2767 0.0843 0.2234 0.1386 0.2209 0.1401 0.2885 0.0735 0.2556 0.1054 0.2822 0.0798 0.2209 0.1401 0.3023 0.0587 0.2219 0.1401 0.2872 0.0738 0.3274 0.0346 0.2752 0.0858 0.723 0.108", + "ph_num": "2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest F#3 G#3 A#3 G#3 A#3 G#3 A#3 A#3 A#3 A#3 A#3 A#3 A#3 D#4 A#3 G#3 G#3 A#3 G#3 rest D#3 F3 F#3 F3 F#3 A#3 rest C#4 A#3 G#3 F#3 F#3 F3 F#3 F3 F#3 D#3 rest D#3 D#3 A#3 F#3 F3 D#3 C#3 D#3 A#2 G#2 F#2 G#2 A#2 A#2 rest", + "note_dur": "0.433 0.181 0.181 0.361 0.362 0.361 0.181 0.361 0.181 0.181 0.18 0.181 0.181 0.18 0.181 0.362 0.18 0.362 0.361 0.904 0.361 0.181 0.181 0.361 0.181 0.361 0.362 0.181 0.361 0.181 0.361 0.362 0.18 0.362 0.18 0.362 0.542 0.904 0.18 0.362 0.361 0.362 0.361 0.362 0.361 0.362 0.361 0.361 0.362 0.361 0.362 0.361 0.723 0.108", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 232.2 230.7 229.2 227.8 226.3 224.9 223.4 222.0 220.6 219.2 217.8 216.4 215.0 213.6 212.2 210.9 209.5 208.2 206.9 205.5 204.2 202.9 201.6 200.3 199.0 197.8 196.5 195.2 194.0 192.8 191.5 190.3 189.1 187.9 186.7 185.5 185.0 185.0 185.0 185.0 185.0 185.0 185.0 185.0 185.0 185.0 185.0 185.0 185.0 185.0 185.0 185.0 185.0 185.0 185.0 185.0 185.1 185.2 185.4 185.6 185.9 186.2 186.4 186.7 187.1 187.4 187.7 188.0 188.3 188.5 188.6 188.8 188.8 188.6 187.9 187.3 187.1 186.9 186.3 185.4 184.8 184.4 184.1 183.8 182.9 181.0 179.0 175.9 171.3 166.9 162.8 160.0 160.5 162.9 169.2 171.9 173.9 177.6 180.9 183.9 185.6 188.8 192.8 198.1 201.6 204.6 207.5 210.2 212.3 212.1 211.8 211.0 208.5 207.5 207.0 207.0 207.0 207.0 206.7 206.4 206.3 206.5 206.7 207.0 207.2 207.4 207.6 207.7 207.9 208.2 208.4 208.1 207.6 207.3 206.8 205.4 201.5 198.6 196.3 195.3 195.0 195.2 197.5 200.9 205.3 207.9 209.3 209.8 210.2 210.5 210.9 211.5 212.0 212.5 212.5 212.0 211.2 211.2 211.0 210.8 210.5 210.4 210.4 211.0 211.5 211.9 213.4 215.2 217.7 218.8 220.1 221.5 224.1 226.9 230.0 231.3 232.4 233.5 235.2 236.6 237.6 237.7 237.6 237.2 236.5 235.8 235.0 234.5 233.9 233.3 232.5 231.8 231.4 230.6 229.4 228.0 225.4 222.0 218.1 213.8 210.5 208.9 208.0 207.3 206.8 205.9 205.1 204.5 203.4 202.1 200.3 198.7 197.1 195.5 194.9 195.3 198.6 201.8 204.8 207.0 208.1 208.9 208.9 209.3 209.7 209.3 208.8 208.3 207.7 207.2 206.7 206.3 206.0 205.7 205.3 205.0 204.7 204.8 204.9 204.9 205.0 205.2 205.5 206.0 206.7 207.4 207.7 208.0 208.2 208.5 208.7 208.9 209.4 209.9 210.5 210.8 210.4 209.1 206.0 200.7 194.6 190.7 188.7 187.9 189.9 191.3 192.5 195.1 196.6 197.5 198.2 198.8 199.3 200.9 201.9 202.4 202.9 203.4 204.0 204.7 205.5 206.3 207.0 207.6 208.1 208.6 208.8 209.0 207.8 208.1 210.3 216.7 221.4 223.3 222.7 221.9 220.9 218.7 217.2 216.3 215.4 214.2 212.6 212.3 211.8 210.9 211.1 211.4 211.9 212.7 214.2 216.7 217.5 218.8 220.7 223.6 226.5 229.0 230.5 231.8 233.0 234.3 235.3 235.7 235.8 235.7 235.6 235.4 234.8 233.7 233.1 232.6 232.1 231.9 231.9 232.0 232.2 232.3 232.3 232.4 232.6 233.1 233.4 233.5 232.9 232.4 231.7 230.4 229.2 227.6 224.0 220.3 215.2 205.1 200.1 196.4 193.2 192.4 193.7 200.6 205.4 209.3 211.7 211.3 210.2 209.2 208.7 208.6 208.3 208.2 208.3 208.1 208.0 207.9 208.2 208.4 208.6 208.5 208.3 208.1 208.0 208.0 207.8 206.5 205.0 203.6 203.0 202.2 201.3 201.5 201.9 202.3 203.4 204.9 206.6 208.6 211.4 214.6 221.4 226.6 230.7 233.4 235.6 237.6 239.4 240.5 241.0 240.7 240.7 240.9 239.2 237.0 234.6 233.5 232.4 231.3 229.4 227.9 227.0 226.3 225.8 225.7 226.2 226.7 227.5 228.0 228.9 230.5 231.4 232.4 233.6 234.5 235.4 236.6 236.4 236.3 236.1 235.7 235.4 235.2 234.5 233.9 233.6 233.2 232.7 232.1 231.8 231.5 231.4 231.2 231.1 231.2 231.4 231.5 231.7 231.8 231.8 231.6 231.4 231.1 230.7 230.5 230.2 229.8 229.3 228.8 228.8 229.5 230.5 232.3 234.1 235.6 236.2 236.0 235.6 235.2 234.7 234.3 234.2 234.0 233.7 233.5 233.3 233.1 233.0 232.7 232.6 233.0 233.0 232.9 232.7 232.6 232.4 232.3 231.9 231.2 230.7 230.3 230.1 230.3 230.6 231.1 231.6 232.8 234.2 234.8 235.3 235.6 235.3 235.0 234.6 234.1 233.8 233.6 233.3 233.1 232.8 232.8 232.9 232.9 233.1 233.3 233.4 233.5 233.6 233.6 234.5 233.5 231.3 224.7 215.4 204.7 196.7 192.3 190.2 190.5 191.6 193.2 197.0 202.4 210.3 216.2 223.3 232.0 234.2 235.3 234.7 234.2 233.8 233.6 233.5 233.4 233.4 233.2 233.0 232.8 232.6 232.5 232.3 232.2 231.5 229.7 224.7 217.5 207.3 200.7 196.8 195.6 195.9 196.6 197.2 199.3 202.0 204.9 210.9 216.3 219.3 226.4 232.6 235.9 237.2 237.3 236.4 235.4 234.1 232.4 232.0 232.1 232.4 232.7 233.0 233.4 233.6 233.6 233.5 233.4 233.3 233.1 232.9 232.8 232.8 232.5 232.2 231.8 231.5 231.0 230.2 226.4 222.3 219.3 218.2 218.1 220.5 226.0 231.7 235.0 236.5 236.7 236.4 236.2 235.8 235.3 235.0 234.8 234.5 234.3 234.0 233.8 233.8 233.7 233.6 233.4 233.2 233.0 232.9 232.9 232.4 232.1 231.7 230.9 229.8 228.5 221.1 214.2 207.5 204.2 204.3 206.7 214.3 221.6 228.7 232.5 234.4 235.1 235.0 234.3 233.2 232.4 232.2 232.4 232.8 233.1 233.5 234.2 234.6 234.7 234.7 234.7 234.8 235.2 235.4 235.4 235.9 236.5 237.3 238.3 238.7 238.3 239.4 240.9 243.1 246.3 249.9 254.0 261.7 270.6 281.4 289.1 295.7 300.3 303.2 305.5 307.4 309.8 311.4 311.5 311.3 311.5 312.4 311.8 311.1 310.5 307.9 303.3 296.8 285.9 277.0 272.3 272.2 275.3 281.3 287.7 293.1 296.7 295.1 291.0 282.3 274.3 266.8 260.1 254.0 247.3 237.9 229.7 222.7 218.9 217.3 216.7 217.2 216.4 215.5 215.4 215.4 215.3 214.7 214.8 215.3 216.9 218.7 220.5 222.2 223.7 224.8 224.9 225.8 227.3 228.8 229.8 230.4 231.0 231.9 233.1 234.1 234.7 235.1 235.5 235.5 235.3 234.7 234.1 233.7 233.4 232.8 232.0 231.9 232.0 232.1 232.3 232.4 232.4 232.9 233.4 234.0 234.4 234.8 235.2 234.7 234.0 233.2 232.4 229.3 224.6 219.3 214.1 209.1 206.4 205.2 205.1 205.1 205.9 207.7 209.1 210.8 213.0 213.2 213.4 213.7 213.0 212.2 211.3 210.7 210.2 209.6 210.2 210.1 209.1 206.5 202.3 195.8 191.4 188.5 187.6 188.9 190.4 192.4 194.7 196.3 196.6 197.7 198.9 200.3 201.6 202.8 203.6 204.0 204.7 206.1 207.1 207.9 208.6 210.2 212.0 214.0 214.4 214.2 213.7 213.3 212.5 211.3 210.9 210.6 210.2 209.8 209.5 209.3 208.7 208.2 208.1 208.0 207.7 207.4 207.1 206.9 206.7 206.7 206.7 206.9 207.0 207.1 207.3 207.3 207.5 208.3 208.8 209.2 209.6 209.9 210.0 209.8 209.5 209.1 208.7 208.3 207.9 207.0 204.7 201.2 195.8 192.0 189.9 190.5 191.6 193.3 195.3 196.0 197.2 199.1 200.1 201.4 202.8 204.1 204.8 206.0 206.9 207.9 208.6 209.3 209.9 210.7 210.7 210.7 210.1 209.0 208.3 207.8 206.9 206.2 205.7 205.3 204.9 205.1 205.3 206.6 207.3 208.0 209.2 210.7 212.0 212.6 213.9 215.0 216.1 217.5 218.7 221.4 223.8 225.7 227.4 228.8 230.3 231.5 232.3 232.3 232.3 232.3 232.3 232.4 234.6 234.8 234.8 234.8 234.7 234.6 234.2 234.2 234.0 233.8 233.4 233.1 232.7 231.9 231.0 229.7 228.2 226.5 224.4 221.9 220.4 218.9 217.5 215.9 214.7 213.7 213.0 211.5 210.7 216.6 212.8 209.1 207.0 204.4 201.7 198.8 196.4 194.2 192.4 192.3 192.6 193.2 196.0 199.2 201.3 202.3 202.9 203.2 204.8 206.7 208.6 209.5 210.1 210.5 210.4 210.0 209.6 209.3 208.9 208.3 207.6 206.9 206.2 205.5 204.7 203.6 202.8 202.5 202.6 202.9 203.2 203.3 203.8 204.6 205.1 205.7 206.1 207.0 207.8 208.6 210.3 211.3 211.8 212.6 212.9 212.8 212.4 211.9 211.3 210.1 209.0 208.1 205.6 203.5 201.6 201.0 200.0 198.7 197.8 197.3 196.9 197.5 198.0 198.5 199.7 201.0 202.8 204.1 205.6 207.3 208.8 210.2 211.4 213.1 214.0 213.9 213.6 213.2 212.9 212.7 212.1 210.8 209.7 208.5 207.2 205.5 204.2 203.6 202.6 201.9 201.6 201.8 202.1 202.5 202.8 203.2 204.0 204.9 205.9 207.0 208.2 209.2 209.7 210.2 210.9 211.6 212.4 213.1 213.5 213.3 212.9 212.3 211.3 210.1 208.5 207.6 206.7 205.1 204.2 203.3 202.0 201.6 201.3 201.0 200.7 200.4 200.3 200.7 201.2 201.5 202.3 203.3 204.5 205.1 205.8 207.1 208.1 208.9 209.7 210.7 211.8 212.6 213.5 214.3 214.8 215.2 215.4 215.2 214.9 214.6 214.0 212.9 211.5 210.2 208.5 206.6 205.6 204.4 203.2 202.6 202.5 202.7 203.3 203.8 204.2 205.9 207.6 209.3 210.3 211.3 212.4 214.6 215.4 215.3 215.0 214.5 214.0 211.0 208.0 205.0 203.2 202.5 202.7 202.9 203.2 203.6 203.9 204.3 204.8 205.2 205.6 206.1 206.4 206.7 207.1 207.3 207.5 207.7 207.7 207.7 207.7 207.5 207.3 207.2 206.9 206.5 206.0 205.2 204.1 202.6 200.4 197.9 194.7 190.2 185.4 180.7 175.5 170.9 167.2 164.0 161.5 159.8 158.5 157.6 154.7 154.1 152.5 150.1 147.0 143.4 139.4 135.2 130.9 126.7 122.7 119.2 116.3 113.6 111.3 109.7 108.6 108.2 108.5 109.3 110.6 112.4 114.7 117.4 120.6 124.0 127.7 131.5 135.4 139.3 142.9 146.3 149.2 151.6 153.4 154.5 153.1 153.2 153.5 153.7 154.3 155.1 155.4 155.7 156.1 156.6 156.9 157.3 157.7 158.4 159.3 160.3 159.9 158.7 157.5 156.7 156.5 157.3 159.0 161.1 162.5 163.7 164.8 168.5 171.1 173.1 173.8 174.5 175.0 174.7 174.5 174.2 174.6 174.8 174.8 175.0 175.0 174.7 173.6 172.2 170.4 167.2 163.2 158.9 158.1 158.9 160.6 161.6 163.3 166.1 169.1 172.2 175.2 176.4 178.3 181.2 183.0 185.4 189.0 191.2 192.8 193.5 192.1 191.1 190.5 189.8 189.2 188.6 187.8 187.2 186.7 186.0 185.6 185.5 185.1 184.7 184.4 184.3 184.2 184.1 184.0 184.0 184.1 184.2 184.3 184.4 184.5 184.6 184.8 184.8 184.7 184.6 184.5 184.4 184.4 184.2 184.1 184.1 184.2 184.3 184.3 184.5 184.6 184.8 184.8 184.8 184.9 184.8 184.8 184.7 184.5 184.3 184.2 184.0 183.6 182.7 182.0 181.2 179.7 178.3 176.6 174.0 172.6 171.2 169.1 167.7 166.7 166.0 165.8 166.0 167.2 169.4 172.0 173.2 174.1 174.8 175.0 175.5 175.9 176.0 176.4 176.9 176.6 176.0 175.3 174.9 172.6 169.3 163.9 159.5 155.7 154.4 154.9 156.4 159.0 161.1 162.8 163.8 165.4 167.2 168.3 169.8 171.5 174.0 175.6 176.6 178.5 179.8 180.7 181.5 182.3 183.0 183.8 184.5 184.9 185.1 185.3 185.5 185.6 185.7 185.9 185.9 185.8 185.5 185.3 185.2 185.2 185.2 185.1 185.0 184.9 184.8 184.7 184.5 184.4 184.1 184.1 184.0 183.9 183.9 183.8 183.8 183.9 184.0 184.1 184.3 184.4 184.5 184.6 184.7 184.9 185.4 185.9 186.4 186.8 186.9 186.6 185.8 184.4 182.0 176.9 170.7 163.6 162.3 163.6 169.8 173.5 176.7 180.7 182.8 184.8 188.3 191.2 193.9 196.3 200.3 204.9 210.3 214.2 218.5 226.3 231.3 235.4 238.4 239.3 239.6 239.4 239.5 239.7 240.3 239.0 236.5 233.5 231.2 229.6 228.4 226.3 223.9 222.9 222.3 222.0 222.6 223.3 224.2 226.3 227.9 229.7 233.1 235.4 237.1 238.8 239.8 240.2 239.8 239.3 238.8 237.6 235.7 233.4 230.0 227.7 226.2 223.3 221.2 219.6 218.4 217.9 217.9 219.0 221.1 223.7 225.6 228.2 231.3 233.5 235.6 237.6 240.1 242.1 243.5 243.4 242.9 242.1 241.7 240.6 238.5 220.3 220.1 219.7 219.0 218.1 217.0 215.6 214.0 214.2 213.9 213.2 212.1 210.7 209.1 207.2 205.2 203.3 200.8 198.3 195.7 193.0 190.3 187.6 185.0 182.5 180.1 177.8 175.7 173.8 172.1 170.7 169.4 168.4 167.7 167.2 167.1 167.5 169.0 171.4 174.9 179.3 184.7 190.9 197.6 204.8 212.1 219.4 226.3 232.5 237.8 242.0 245.0 246.4 246.5 246.5 246.5 246.5 246.5 246.5 246.5 246.5 247.2 247.6 248.3 249.5 250.9 252.6 254.9 257.4 260.1 262.9 265.9 268.8 271.4 273.8 276.0 277.8 279.1 279.9 279.3 278.8 278.3 277.8 277.5 277.3 277.1 276.9 276.7 276.4 276.3 276.3 276.4 276.8 276.8 276.5 276.0 275.4 275.0 273.4 271.2 268.7 264.2 260.9 258.5 252.6 247.5 243.1 240.8 238.7 236.7 235.9 235.6 235.7 236.8 236.6 235.5 235.2 234.7 233.9 232.8 232.3 232.7 233.7 234.5 235.0 234.8 234.6 234.4 232.7 230.8 228.5 218.2 210.7 206.8 208.0 209.0 209.7 210.2 210.8 211.9 212.0 212.0 211.7 211.2 210.9 210.7 210.8 210.7 210.2 210.5 210.7 210.4 208.8 206.9 205.1 204.6 204.6 205.2 205.9 206.4 206.7 206.6 206.4 206.2 205.9 205.7 205.5 205.4 205.3 205.2 205.1 205.1 205.1 205.1 205.0 205.0 205.0 205.0 205.1 205.4 205.8 206.3 206.6 206.8 207.0 207.5 208.0 208.8 209.3 209.8 210.8 211.3 211.7 211.8 211.6 210.9 209.6 207.1 203.3 197.2 192.6 189.6 188.1 187.1 186.5 185.8 185.3 184.9 184.7 184.4 184.1 183.7 183.2 182.7 182.2 181.7 181.1 180.6 180.3 179.9 179.2 178.5 177.9 177.5 177.1 176.7 180.4 182.3 183.2 183.3 183.7 184.3 184.5 184.5 184.3 184.3 184.3 184.3 184.1 184.0 183.8 183.8 183.7 183.7 183.7 183.7 183.7 183.8 183.9 184.1 184.1 184.2 184.3 184.3 184.4 184.6 184.7 184.8 184.8 185.2 185.6 186.1 186.1 186.2 186.2 186.1 186.1 186.1 186.0 186.0 186.0 185.9 185.8 185.8 185.7 185.7 185.7 185.6 185.6 185.6 185.4 185.0 184.5 183.9 183.5 183.1 183.1 183.4 183.8 184.5 185.0 185.3 185.5 185.9 186.7 187.2 187.7 188.0 188.1 188.0 187.5 187.0 186.7 186.6 186.5 186.4 186.3 186.2 186.0 185.9 185.7 185.6 185.5 185.2 184.8 184.3 183.9 183.6 183.0 182.3 181.4 179.7 178.0 175.8 170.9 164.0 156.7 152.6 151.8 153.9 158.8 165.4 172.5 175.9 176.9 176.3 175.6 174.9 174.3 174.0 174.1 174.3 174.5 175.2 176.1 176.7 176.9 176.8 176.6 176.4 176.2 176.0 175.7 175.3 175.0 174.8 174.5 174.3 173.8 173.2 173.1 173.2 173.3 173.5 173.7 173.9 174.3 174.7 175.0 175.6 176.2 176.9 177.3 177.5 177.4 177.1 176.6 175.8 174.4 172.9 171.0 167.8 164.5 161.0 160.5 160.9 162.5 164.8 166.9 168.5 170.2 171.6 172.7 173.9 175.5 177.4 179.7 181.7 183.2 184.4 185.9 187.7 189.4 191.1 192.7 192.6 192.0 191.4 190.9 189.8 187.9 186.9 186.3 185.9 185.9 185.9 185.9 185.9 185.7 184.9 183.9 182.0 177.2 170.6 163.7 156.4 154.1 153.5 154.2 155.9 157.6 158.4 159.6 160.9 162.1 162.9 164.1 167.3 170.4 173.4 175.3 176.1 176.5 176.4 176.5 176.6 176.3 176.1 175.9 175.9 175.8 175.7 175.5 175.2 174.8 174.4 174.0 173.7 173.4 173.4 173.5 173.7 173.9 173.9 174.0 174.1 174.2 174.3 174.3 174.3 174.7 175.0 175.4 175.8 176.0 176.0 176.3 176.5 176.5 176.0 175.5 174.9 171.5 168.0 164.4 156.0 150.8 147.4 146.5 146.7 147.6 150.2 152.4 154.1 155.4 157.0 159.3 160.6 161.8 162.9 165.1 166.8 168.1 169.4 170.6 171.7 173.4 175.3 177.6 178.3 179.2 180.5 181.6 182.7 183.7 186.7 189.0 190.3 190.7 190.9 191.1 190.6 190.1 189.8 189.5 189.0 188.3 187.5 186.8 186.2 185.5 184.9 184.7 184.2 183.6 183.2 182.8 182.6 182.6 182.4 182.2 182.1 182.2 182.3 182.4 182.6 182.8 183.0 183.2 183.4 183.9 184.6 185.2 185.7 185.9 186.0 186.1 186.3 186.4 186.3 186.1 185.9 185.6 185.4 185.2 185.0 184.8 184.6 184.0 183.6 183.4 183.2 182.9 182.7 182.7 182.8 182.9 183.0 183.2 183.3 183.4 183.9 184.7 185.5 186.1 186.5 186.8 187.0 187.1 187.1 187.0 186.8 186.5 186.2 186.0 185.9 185.7 185.5 183.5 181.9 180.7 176.4 173.4 171.1 166.8 161.7 156.2 152.1 149.1 146.7 142.5 139.8 138.0 137.1 136.9 137.0 137.2 138.2 140.3 141.2 143.5 147.9 148.2 149.1 151.0 152.1 152.8 152.9 154.4 155.4 155.8 156.2 156.5 156.6 156.1 155.5 155.0 154.7 154.3 153.7 153.0 152.4 152.1 152.0 152.0 152.1 152.1 152.2 152.3 152.6 153.0 153.6 153.9 154.3 154.6 155.0 155.3 155.5 155.7 156.0 156.2 156.2 156.1 156.0 155.8 155.7 155.6 155.3 155.1 154.7 154.4 154.0 153.6 153.3 153.2 153.3 153.5 153.6 153.8 154.0 154.1 154.6 155.3 156.1 156.8 157.1 157.4 158.2 158.6 158.9 158.8 158.7 158.5 158.4 158.1 157.6 157.1 155.9 154.4 153.3 152.3 151.5 150.0 148.8 147.9 147.0 146.4 146.2 146.4 146.7 147.0 147.2 147.8 148.8 149.5 150.4 151.2 151.8 152.5 153.1 153.7 153.9 153.9 153.7 153.5 153.4 153.3 153.1 152.9 153.1 153.3 153.4 153.6 153.8 154.0 154.3 154.5 154.7 154.9 155.1 155.3 155.2 155.0 154.8 154.7 154.4 153.8 152.8 152.0 151.4 150.3 149.4 148.8 148.6 148.6 148.9 149.1 149.3 149.4 150.0 150.8 151.7 153.5 155.1 156.6 157.4 158.3 159.4 160.3 160.8 160.6 160.3 159.9 159.7 159.0 158.0 156.8 154.8 153.1 152.0 150.1 148.7 148.2 147.9 147.9 148.3 148.7 149.3 150.0 151.7 153.3 154.5 155.7 156.9 158.2 159.2 160.0 160.3 159.9 159.5 159.1 158.1 157.1 156.7 156.6 156.6 156.6 156.5 156.4 156.3 156.2 156.2 156.0 156.0 155.9 155.8 155.7 155.7 155.7 155.6 155.6 155.6 155.5 155.4 155.2 155.1 154.8 154.5 154.2 153.9 153.6 153.3 153.0 152.7 152.5 152.2 152.1 151.9 151.7 151.3 149.6 147.2 144.2 142.7 142.2 142.4 142.6 142.7 143.6 144.6 145.7 146.4 147.3 148.4 149.2 149.9 150.6 151.2 151.7 152.1 153.3 154.0 154.4 154.8 155.8 157.0 157.6 158.1 158.4 158.5 158.9 159.6 160.6 161.2 161.0 160.6 159.8 158.6 157.6 156.2 154.2 152.9 151.3 149.1 147.5 146.3 145.6 145.9 146.3 146.8 147.2 147.6 148.0 148.6 149.1 149.6 151.5 153.0 153.4 153.7 153.9 154.0 154.6 155.2 155.5 156.0 156.4 156.5 156.9 157.3 157.6 158.0 158.1 157.6 157.2 156.6 155.7 155.2 154.9 154.6 154.3 154.0 153.9 153.6 153.3 152.9 152.7 152.6 152.6 152.5 152.3 152.3 152.2 152.1 152.1 152.4 152.8 153.0 153.6 154.2 155.2 155.7 156.1 156.3 156.5 156.6 156.6 156.4 156.3 156.1 156.0 155.9 155.8 155.6 155.4 155.1 155.0 154.8 154.1 153.2 152.0 150.6 148.5 145.7 142.3 140.5 139.7 143.2 147.0 151.0 153.2 155.0 156.5 159.5 161.9 163.8 165.4 167.6 170.2 175.4 180.4 185.4 194.0 201.4 208.0 211.2 213.3 214.6 214.0 214.6 216.0 215.1 214.1 212.8 213.3 213.2 212.3 212.3 212.2 211.6 211.2 211.3 212.1 213.2 214.3 215.5 218.1 221.3 225.3 228.0 230.1 231.2 233.0 235.1 237.6 238.4 238.9 238.8 238.5 238.2 237.9 236.4 234.4 232.2 230.4 226.9 221.0 217.6 215.5 214.5 213.9 213.4 212.9 212.3 211.6 210.5 209.0 207.6 206.4 205.7 204.9 203.8 202.5 201.1 199.5 198.1 196.7 195.1 193.6 192.2 190.8 189.5 188.2 186.5 184.8 183.6 184.1 184.1 184.3 186.4 186.3 185.7 185.7 185.5 185.2 184.6 183.9 183.1 182.4 181.7 181.1 180.6 180.0 179.6 179.3 179.3 179.5 180.2 181.0 181.7 182.1 183.2 184.7 185.4 186.1 186.7 187.2 187.7 188.2 188.8 188.8 188.4 188.1 187.6 186.8 184.6 182.5 180.5 176.2 173.3 171.3 172.2 172.9 173.6 174.1 174.5 174.9 175.8 176.3 176.5 176.7 176.8 176.8 176.8 176.8 176.8 176.7 176.7 176.9 177.4 177.8 178.3 178.5 178.5 178.4 178.4 178.4 178.3 179.0 179.0 178.0 176.6 175.6 175.1 174.7 174.2 173.8 173.5 173.2 172.9 172.7 172.3 171.6 170.9 170.5 170.5 170.6 170.7 170.9 171.1 171.5 172.2 172.7 173.2 173.9 174.5 174.9 175.1 175.4 175.7 175.8 175.7 175.5 175.4 175.1 174.9 174.8 174.6 174.5 174.7 175.0 175.3 175.6 176.0 176.5 176.5 176.3 176.0 175.7 174.6 173.0 170.0 164.9 159.8 155.8 153.8 153.0 155.4 157.6 159.6 160.3 159.8 158.9 158.0 156.0 153.6 152.8 151.8 150.7 149.8 147.9 145.5 143.2 141.7 140.9 140.5 140.1 139.8 139.5 139.3 139.1 139.1 139.5 140.2 140.8 141.1 141.3 142.3 143.7 145.5 147.1 148.0 148.5 149.9 151.0 151.9 152.4 153.1 154.0 154.7 155.1 155.3 155.5 155.5 155.3 155.1 154.9 154.8 154.7 154.8 154.9 155.1 155.3 155.4 156.0 156.6 157.3 157.7 157.7 157.3 155.6 152.4 147.0 141.2 137.8 137.7 138.8 140.4 142.9 145.7 147.5 147.9 148.4 149.2 150.5 151.6 152.1 151.8 151.3 150.6 149.8 148.3 146.2 143.3 140.4 138.4 137.4 137.0 136.7 136.3 135.9 135.6 135.5 135.3 135.2 135.1 135.0 135.1 135.5 136.0 136.3 136.5 136.7 137.0 137.5 138.2 138.9 139.4 138.0 136.4 135.4 136.1 137.2 138.0 138.8 139.7 140.3 140.9 141.4 141.2 141.0 140.7 140.6 140.2 139.8 139.4 139.7 140.3 141.7 142.1 141.7 140.7 140.5 140.6 140.4 139.7 138.6 137.6 136.6 135.6 133.7 132.4 131.7 131.7 131.8 132.1 133.7 135.5 137.8 141.5 144.5 146.8 150.1 154.0 158.4 159.6 159.2 157.8 157.5 156.8 154.8 154.8 154.8 154.8 154.8 154.9 154.9 155.0 155.0 155.0 155.1 155.1 155.2 155.2 155.2 155.3 155.3 155.3 155.2 154.9 154.2 153.1 151.6 149.8 147.7 145.5 142.9 140.3 137.6 135.0 132.3 129.7 127.3 125.0 123.0 121.3 119.7 118.4 117.4 116.8 116.4 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.3 109.0 107.3 105.8 104.8 104.0 103.5 103.3 103.5 104.0 104.7 105.6 106.7 108.0 109.4 110.8 112.1 113.4 114.4 115.3 115.8 116.0 116.0 116.0 116.0 116.0 116.0 116.0 116.0 116.0 116.0 116.0 116.1 116.1 116.1 116.1 116.1 116.1 116.1 116.1 116.1 116.2 116.2 116.2 116.2 116.2 116.2 116.3 116.3 116.3 116.3 116.3 116.3 116.3 116.0 115.8 115.2 114.2 113.0 111.5 109.8 107.9 105.8 103.8 101.7 99.7 97.8 96.0 94.4 93.0 91.9 91.0 90.4 90.2 90.2 90.5 91.1 91.9 92.9 93.9 95.1 96.5 97.9 99.3 100.5 101.7 102.6 103.2 103.6 103.3 103.3 103.3 103.3 103.3 103.3 103.3 103.3 103.3 103.3 103.4 103.4 103.4 103.4 103.4 103.5 103.5 103.5 103.5 103.5 103.5 103.5 103.5 103.5 103.5 103.6 103.6 103.6 103.6 103.6 103.6 103.6 103.6 103.6 103.6 103.6 103.6 103.6 105.3 104.3 102.7 101.0 99.7 99.9 100.5 101.3 102.1 102.7 103.3 104.0 104.9 106.0 107.4 108.2 108.7 108.5 107.4 106.3 105.4 104.0 102.5 101.4 100.7 100.0 98.9 98.2 97.5 96.9 96.1 95.2 94.8 94.1 93.3 93.0 92.5 91.9 91.3 90.8 90.5 90.5 90.6 90.7 91.0 91.4 91.9 92.6 93.2 93.7 94.1 94.6 95.2 95.6 95.7 95.8 95.6 95.4 95.3 95.1 94.4 93.5 93.1 92.6 92.2 92.1 92.2 92.4 93.2 93.9 94.5 94.9 95.3 95.6 96.2 96.8 97.3 97.6 97.8 97.7 97.5 97.1 96.3 94.5 93.2 92.3 92.6 93.2 94.6 95.6 96.8 98.0 101.4 104.5 107.1 108.0 108.1 106.9 105.8 105.0 104.3 104.3 104.3 104.1 103.8 103.8 103.6 103.6 103.6 103.5 103.5 103.3 103.2 103.1 103.1 103.1 103.1 103.1 103.1 103.1 103.0 103.0 103.0 103.0 103.0 103.1 103.3 103.5 103.5 103.6 103.6 103.8 103.9 104.1 104.2 104.5 104.5 104.5 104.5 104.5 104.4 104.3 104.1 103.9 103.8 103.8 103.6 103.6 103.6 103.6 103.5 103.5 103.5 103.4 103.3 105.8 104.6 102.6 100.1 98.0 99.1 101.0 103.5 106.3 110.4 114.7 116.5 117.2 117.2 117.4 117.1 116.6 116.7 116.8 117.1 117.5 117.7 117.9 118.1 118.2 118.3 118.4 118.4 118.3 118.1 117.9 117.8 117.6 117.4 117.1 116.1 115.1 114.2 114.0 114.1 114.3 114.7 115.0 115.3 116.2 116.9 117.4 117.6 118.1 118.6 118.9 119.4 120.2 120.3 120.6 121.1 121.3 121.4 121.2 120.8 120.3 119.9 117.4 114.5 111.1 108.8 107.5 107.6 108.4 109.7 111.7 112.7 113.2 113.1 113.0 113.0 113.4 113.8 114.3 115.1 115.7 116.5 117.4 119.5 121.0 121.3 120.7 119.9 119.1 118.6 118.4 118.2 117.9 117.7 117.6 117.5 117.5 117.4 117.3 117.2 117.2 116.9 116.7 116.6 116.7 117.0 117.1 117.2 117.4 117.5 117.5 117.4 117.1 116.9 116.6 116.2 115.8 115.5 115.1 115.0 115.1 115.1 116.5 116.7 117.1 117.5 118.1 118.8 119.5 120.2 120.9 121.6 122.0 121.8 121.6 121.1 120.6 120.0 119.2 118.4 117.6 116.7 115.8 115.1 114.2 113.4 112.8 112.2 111.7 111.3 111.1 111.0 111.0 111.1 111.4 111.9 112.3 113.0 113.7 114.4 115.3 116.3 117.1 118.1 119.0 119.7 120.5 121.3 121.8 122.2 122.5 122.6 122.6 122.4 122.1 121.7 121.1 120.3 119.6 118.7 117.7 116.9 115.8 114.9 114.1 113.2 112.4 111.8 111.2 110.8 110.6 110.4 110.4 110.6 110.9 111.4 111.9 112.5 113.4 114.3 115.1 116.2 117.2 118.2 119.2 120.2 120.9 121.7 122.3 122.8 123.1 123.3 123.3 123.0 122.6 122.2 121.5 120.7 119.9 118.9 117.8 116.8 115.9 114.8 114.3 114.3 114.7 115.3 124.9 124.6 124.1 123.9 123.6 123.2 122.7 122.1 121.6 120.9 120.7 120.7 120.7 120.7 120.7 120.7 120.7 120.7 120.7 120.7 120.7 120.7", + "f0_timestep": "0.005" + }, + { + "offset": 125.856, + "text": "SP 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 SP 啊 啊 啊 SP 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 AP 啊 啊 啊 啊 啊 啊 啊 啊 SP 啊 啊 啊 啊 SP 啊 啊 啊 啊 SP 啊 啊 啊 啊 啊 SP", + "ph_seq": "SP k an ch un f eng l ie h uo j ing h ong y i j ian zh an SP q i s i0 y E AP c i0 sh en d u j ie d ian g uang zh ir j ian g an k ui t ian SP y i sh eng ch ang g e y E sh ir zh en y En SP t ian d i b u r en SP y ao x ie b u m ie SP w o m ing b u g ai j ve SP", + "ph_dur": "0.2001 0.0889 0.2209 0.1401 0.2209 0.1401 0.2972 0.0648 0.2556 0.1054 0.2219 0.1401 0.2767 0.0843 0.2927 0.0693 0.2571 0.1039 0.2415 0.1205 0.542 0.0646 0.1154 0.1033 0.0777 0.4772 0.0648 0.362 0.2556 0.1054 0.1102 0.0708 0.1298 0.0512 0.0974 0.0826 0.1509 0.0301 0.3213 0.0407 0.1198 0.0602 0.2731 0.0889 0.4968 0.0452 0.1358 0.0452 0.2601 0.1009 0.362 0.1213 0.0587 0.2219 0.1401 0.2664 0.0946 0.1464 0.0346 0.3023 0.0587 0.3578 0.1852 0.1092 0.0708 0.2972 0.0648 0.361 0.1223 0.0587 0.3324 0.0286 0.1313 0.0497 0.3023 0.0587 0.362 0.0485 0.1325 0.2209 0.1401 0.1509 0.0301 0.2752 0.0858 0.362 0.1213 0.0587 0.2521 0.1099 0.4968 0.0452 0.4622 0.0798 0.243 0.119 0.361 0.072", + "ph_num": "2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 1 1", + "note_seq": "rest A#2 B2 A#2 B2 C#3 D#3 C#3 D#3 F#3 F3 rest G#3 B3 A#3 rest A#3 G#3 G#3 F#3 D#3 A#3 C#4 A#3 G#3 F#3 G#3 rest F#3 G#3 F#3 G#3 A#3 C#4 G#3 A#3 rest A#3 G#3 F#3 D#3 rest A#3 G#3 F#3 F3 rest A#3 G#3 A#3 B3 A#3 rest", + "note_dur": "0.289 0.361 0.361 0.362 0.361 0.362 0.361 0.362 0.361 0.362 0.542 0.18 0.181 0.542 0.362 0.361 0.181 0.181 0.18 0.181 0.362 0.18 0.362 0.542 0.181 0.361 0.362 0.18 0.362 0.361 0.181 0.361 0.543 0.18 0.362 0.361 0.181 0.361 0.181 0.361 0.362 0.181 0.361 0.181 0.361 0.362 0.18 0.362 0.542 0.542 0.362 0.361 0.072", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "116.8 116.8 116.8 116.6 116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.5 116.0 116.0 115.8 115.2 114.3 113.1 111.6 109.9 107.9 105.9 103.8 101.6 99.5 97.4 95.4 93.6 92.0 90.6 89.4 88.4 87.7 87.3 87.2 87.3 87.7 88.4 89.3 90.6 92.1 93.9 95.8 97.9 100.1 102.4 104.7 106.9 109.0 111.0 112.7 114.1 115.2 115.9 116.3 116.3 116.3 116.2 116.2 116.1 116.1 116.0 116.0 115.9 115.8 115.7 115.7 115.7 115.6 115.6 115.7 115.8 116.2 116.6 117.1 117.7 118.2 118.7 119.1 119.4 119.5 118.5 117.4 116.5 115.5 114.1 112.4 112.4 112.9 113.7 114.4 115.3 116.3 116.8 117.3 118.0 118.5 118.9 119.4 120.6 121.5 122.2 122.6 123.0 123.3 123.4 123.1 122.5 122.7 123.2 123.8 124.5 124.9 124.8 123.3 122.4 122.3 122.4 122.4 122.5 122.4 122.2 121.6 121.2 120.6 119.8 119.7 119.7 119.9 120.1 120.2 120.4 120.6 121.0 121.6 122.1 122.6 123.2 123.5 123.9 124.2 124.5 125.0 125.5 125.7 125.8 125.7 125.7 125.6 125.5 125.4 125.4 125.3 125.3 125.1 124.6 123.8 122.7 121.1 120.0 118.6 115.8 114.0 113.1 114.0 115.3 116.5 117.4 118.1 118.9 120.1 120.7 121.2 121.9 122.8 123.8 124.5 125.3 126.3 128.1 129.2 130.0 130.2 129.4 127.9 124.6 121.8 119.8 119.4 119.5 119.8 119.2 118.6 118.0 117.6 117.2 116.6 116.0 115.5 115.1 114.7 114.3 114.1 114.1 114.2 114.5 114.8 115.2 115.7 116.0 116.3 116.5 116.9 117.2 117.6 118.4 118.8 119.1 119.2 119.3 119.5 119.7 120.0 120.3 120.1 119.9 119.8 119.5 119.3 119.3 119.3 119.2 119.1 119.1 119.1 119.1 118.9 118.7 118.4 118.3 118.2 118.1 117.1 116.3 115.9 116.4 116.9 117.4 117.3 117.3 117.5 118.0 118.6 119.3 120.2 121.1 122.0 122.3 122.6 122.9 123.3 123.6 123.8 124.1 124.3 124.5 124.7 124.9 125.0 125.1 125.1 125.1 125.0 125.0 124.9 124.9 124.8 124.6 124.5 124.0 123.0 122.6 122.3 122.1 121.9 121.7 121.7 121.9 122.2 122.7 123.4 124.2 125.3 125.8 126.1 126.5 126.6 126.7 126.7 126.5 126.3 126.2 126.1 126.0 125.7 124.7 123.6 123.1 122.5 121.9 121.2 120.9 120.9 120.9 121.0 121.1 121.3 121.4 121.6 121.9 122.5 123.2 123.9 124.7 125.9 127.8 131.6 136.1 138.6 140.4 141.5 141.3 140.4 139.5 139.7 140.0 140.3 140.5 140.6 140.7 140.5 139.9 139.0 138.8 138.5 138.2 137.8 137.6 137.6 137.4 137.0 136.4 136.4 137.3 138.8 139.2 139.3 139.1 139.0 138.9 138.8 138.7 138.6 138.4 138.4 138.3 138.0 137.9 137.8 137.7 137.6 137.5 137.4 137.3 137.1 136.7 138.0 137.6 136.9 135.9 134.4 132.6 130.7 128.5 126.2 123.9 121.8 119.7 117.8 116.3 115.0 114.1 113.5 113.2 113.4 114.1 115.2 116.7 118.6 121.0 123.5 126.1 128.8 131.4 133.7 135.7 137.2 138.2 138.7 138.8 138.7 138.5 138.4 138.3 138.1 138.1 138.0 138.0 138.3 139.2 140.8 142.9 145.1 147.5 149.5 151.0 151.8 153.8 154.4 155.7 156.6 157.3 158.1 158.5 158.7 159.1 159.4 159.5 158.9 159.2 160.3 162.3 162.7 162.1 161.1 160.4 159.9 159.3 157.9 156.2 155.3 155.2 155.4 155.3 155.0 154.7 154.4 154.2 153.9 153.4 152.9 152.5 151.9 151.6 151.4 150.3 149.5 148.9 148.5 148.0 147.4 146.5 145.1 143.3 141.4 140.4 140.0 140.2 140.2 140.1 140.5 140.6 140.6 140.6 140.6 140.7 140.8 141.0 141.3 141.2 140.9 140.5 140.2 139.9 139.6 140.6 141.5 142.2 141.6 140.8 139.8 139.0 138.5 138.1 138.0 137.9 137.6 137.4 137.2 137.0 137.3 137.6 138.0 137.4 136.4 134.9 134.3 134.6 135.6 136.4 137.0 137.6 138.0 138.3 138.4 138.9 139.7 140.5 141.2 141.7 141.9 142.3 142.9 143.7 145.8 148.1 150.0 150.5 150.6 150.5 151.0 151.8 153.2 154.8 156.2 156.8 157.3 157.6 157.2 156.6 155.9 155.6 155.6 155.6 155.1 154.8 154.6 153.8 153.7 153.8 153.8 153.8 153.9 154.3 154.4 154.5 154.7 154.8 155.0 155.1 155.2 155.3 155.3 155.3 155.4 155.5 155.5 155.6 155.6 155.6 155.7 155.7 155.8 155.8 155.9 155.9 155.9 156.1 156.3 156.6 156.6 156.2 155.7 154.4 152.3 149.5 144.6 141.4 139.2 138.6 139.2 140.6 141.7 142.7 143.8 143.8 143.8 143.9 144.4 145.3 146.7 148.2 150.3 153.3 156.0 159.9 166.1 168.3 169.8 170.2 169.1 168.4 168.4 168.3 167.8 166.7 165.6 164.6 163.9 163.7 163.5 163.2 163.7 164.2 164.7 165.3 166.4 168.2 170.6 172.9 174.5 175.7 177.2 179.3 180.3 181.1 182.2 183.7 184.9 185.8 186.1 186.1 186.0 185.8 185.6 185.5 185.4 185.2 184.9 184.7 184.6 184.4 184.3 184.1 184.0 183.8 183.7 183.5 183.0 182.2 180.5 176.8 172.5 167.3 161.7 156.3 152.0 151.2 151.4 151.8 153.0 154.7 157.5 160.3 162.9 165.1 166.4 167.6 170.9 173.1 174.3 175.0 175.7 176.6 177.7 178.8 179.6 179.7 180.0 180.3 180.3 179.9 179.3 178.6 178.2 177.9 177.4 176.5 175.4 174.5 173.7 173.0 172.7 171.7 170.2 169.5 168.9 168.3 167.0 166.0 165.3 164.9 164.9 165.1 165.4 166.1 167.0 167.8 169.3 171.2 172.9 174.3 175.5 178.0 179.5 180.3 181.4 182.2 182.8 182.4 182.0 181.6 179.9 178.4 177.3 175.1 173.2 171.7 169.7 167.3 164.1 162.6 161.4 160.5 160.7 160.9 161.1 162.8 164.5 166.4 168.0 169.7 171.5 173.7 175.4 176.4 177.6 178.8 180.1 180.8 181.2 181.4 180.9 180.4 180.1 178.2 176.4 175.2 172.6 170.4 169.4 168.1 166.8 165.5 165.0 164.6 164.3 164.1 164.0 163.8 163.7 163.5 162.8 162.1 161.8 162.5 163.2 163.9 165.2 165.7 166.0 166.4 167.0 167.7 168.5 169.4 170.4 171.7 173.0 174.5 176.2 178.5 181.2 184.1 187.4 190.9 194.0 196.9 199.5 201.2 202.4 203.2 203.6 203.7 203.6 203.3 202.9 202.5 202.1 201.7 201.3 201.0 200.8 200.8 201.7 204.5 208.5 211.5 212.6 212.3 211.0 209.3 207.3 201.5 194.8 187.8 181.1 175.8 171.4 173.8 176.2 178.5 182.9 185.6 187.1 191.0 193.9 196.1 198.4 201.2 204.3 206.0 208.4 211.6 214.5 217.2 219.6 222.3 222.5 223.1 223.9 224.8 225.6 226.2 226.4 226.3 226.1 225.8 225.4 224.9 224.4 223.7 223.1 222.4 221.8 221.3 220.6 220.0 219.5 219.1 218.7 218.5 218.4 218.3 218.5 218.9 219.7 220.6 221.8 223.1 224.6 226.4 228.3 230.3 232.3 234.3 236.5 238.4 240.4 242.1 243.6 245.1 246.3 247.3 248.0 248.5 250.7 250.7 250.3 249.9 249.7 248.9 248.0 247.3 246.9 246.5 246.5 246.6 246.7 246.9 247.0 247.1 247.2 247.2 247.2 247.3 247.4 247.5 247.7 247.9 248.1 248.1 248.1 248.1 248.0 247.9 247.8 247.7 247.6 247.5 247.3 247.2 247.0 246.8 245.9 244.5 242.7 239.7 236.2 233.6 231.2 229.1 226.4 223.8 221.3 219.9 219.1 218.7 219.3 219.6 219.7 221.5 223.3 225.1 227.0 230.2 234.3 235.7 237.1 238.7 239.2 239.2 238.9 238.6 238.3 238.0 237.4 236.8 236.2 235.4 234.7 233.9 232.6 231.8 231.5 231.2 231.0 230.7 230.5 230.3 229.9 229.5 229.2 229.1 228.9 228.7 228.3 228.4 228.5 228.8 229.0 229.3 230.0 230.7 231.2 231.7 232.7 233.7 234.1 234.6 234.9 234.7 234.4 234.0 233.7 233.1 232.3 231.3 230.4 229.2 227.4 225.5 223.9 223.2 222.2 221.3 221.5 221.9 222.4 222.9 224.6 226.9 229.9 231.9 234.0 237.5 239.2 240.0 239.5 238.0 236.6 236.5 236.4 236.3 236.1 235.9 235.6 235.3 235.0 234.8 234.5 234.3 234.0 233.7 233.5 233.3 233.3 233.2 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 235.7 234.2 231.6 228.1 223.8 218.9 213.7 208.4 203.2 198.3 193.7 190.0 186.9 184.6 183.2 182.5 182.9 184.1 186.3 189.3 193.1 197.5 202.4 207.6 212.8 217.9 222.7 226.6 229.6 231.5 232.6 232.7 232.7 232.7 232.7 232.7 232.7 232.7 232.7 232.7 232.7 232.7 232.7 232.7 232.7 232.7 232.7 232.7 226.7 227.8 229.8 231.2 231.1 228.7 225.4 220.9 217.2 214.0 212.0 210.2 208.3 205.4 204.0 203.1 202.9 202.9 202.9 202.7 203.2 204.1 205.7 207.0 208.1 208.6 209.0 209.3 209.0 208.8 208.6 208.3 207.1 205.1 202.8 200.8 199.5 200.4 202.2 204.5 207.3 208.8 209.4 209.2 208.9 208.5 208.2 207.8 207.5 207.4 207.6 207.8 208.0 208.3 208.8 208.9 208.3 207.3 204.2 199.2 193.1 191.0 192.1 195.3 200.0 202.5 203.6 202.3 199.7 196.3 193.8 191.7 190.0 188.5 187.3 186.3 185.5 184.8 184.0 184.7 185.1 185.2 184.8 184.5 184.5 184.3 184.4 184.9 185.2 185.4 185.7 185.7 185.8 186.1 186.3 186.4 186.3 186.2 185.9 185.3 184.6 183.2 180.8 176.7 172.6 168.5 165.4 162.6 160.1 158.2 156.8 155.9 155.6 155.0 153.8 152.1 150.7 150.0 149.6 149.4 149.0 148.7 148.7 149.1 149.9 150.7 151.4 151.8 152.2 152.6 152.9 153.1 153.2 153.5 153.8 154.1 154.5 154.8 155.0 155.1 155.1 155.1 155.1 155.1 155.3 155.4 155.5 155.6 155.5 155.4 155.2 155.2 155.2 155.3 155.6 155.8 156.3 156.6 156.8 156.9 157.1 157.4 157.6 157.7 157.7 157.8 158.0 158.3 158.6 158.9 159.2 159.7 159.7 159.5 159.4 157.9 155.7 153.9 153.1 153.6 156.3 161.2 167.8 178.4 189.0 199.5 206.6 211.4 214.7 217.9 220.8 223.3 226.2 227.5 227.6 228.5 229.2 229.9 230.2 230.9 231.9 232.6 233.2 233.6 233.8 234.0 234.3 234.6 234.1 229.4 218.0 201.9 184.4 169.0 159.3 154.8 156.0 159.1 164.0 170.6 178.7 188.0 198.0 208.0 217.3 238.0 240.2 241.7 243.4 245.4 247.4 251.7 254.9 258.2 262.8 266.7 270.4 273.2 275.9 276.5 278.5 278.9 279.8 280.2 280.2 280.7 280.7 280.7 273.6 275.6 276.5 278.6 279.0 278.9 278.5 278.1 277.6 277.4 276.7 276.1 276.2 276.3 276.5 276.8 276.9 276.9 276.9 276.7 276.5 276.0 275.3 273.7 269.0 256.3 242.8 231.4 234.2 241.8 272.7 268.7 265.4 260.7 258.6 256.4 254.4 251.3 247.9 243.3 238.7 233.6 220.3 217.5 215.0 213.9 213.0 212.2 211.3 210.6 209.8 209.2 209.0 209.0 208.6 208.6 208.6 208.5 208.4 208.3 208.3 208.3 208.3 208.3 208.3 208.3 208.3 208.3 208.3 208.2 208.1 207.9 207.9 207.9 215.4 217.4 219.2 220.3 223.5 226.1 227.9 229.1 230.3 231.3 231.8 232.5 232.9 233.4 233.8 234.2 234.2 234.2 234.2 234.2 234.2 232.9 232.7 232.5 232.3 232.2 232.0 231.7 230.9 230.4 230.4 230.7 231.1 231.4 232.4 233.5 234.5 235.0 235.5 236.2 237.2 238.0 238.4 238.5 238.4 238.3 238.1 237.9 237.9 237.8 237.5 236.9 236.2 235.6 235.2 235.0 234.9 234.6 234.4 234.1 233.7 233.4 233.1 232.8 232.3 231.8 231.3 230.3 228.5 224.4 216.7 208.8 203.0 198.0 193.7 191.0 191.1 192.4 194.9 200.7 206.7 209.6 210.6 210.8 210.2 209.5 208.8 208.3 208.1 208.1 208.3 208.5 208.6 208.4 208.5 208.6 208.5 208.1 207.5 206.9 206.3 205.1 201.6 197.9 193.2 185.3 178.1 172.0 168.3 165.4 163.0 161.1 161.1 162.4 168.1 172.7 176.4 181.8 184.6 185.5 185.9 186.0 186.0 185.6 185.4 185.3 185.3 185.2 184.9 184.9 184.9 185.0 184.9 184.8 184.7 184.7 184.7 184.7 184.6 184.6 184.6 184.6 184.7 184.7 184.7 184.8 184.7 184.9 185.3 186.2 186.3 186.5 186.7 186.8 186.8 186.6 186.5 186.4 186.3 185.7 184.9 183.8 183.0 181.8 179.9 176.8 172.8 168.1 165.3 164.1 164.5 165.7 168.0 172.0 175.2 177.5 178.7 179.7 181.0 182.7 185.1 187.3 188.7 190.1 191.6 193.3 194.8 196.5 199.0 202.1 205.5 208.9 210.7 211.9 211.9 211.1 210.3 210.3 210.2 210.2 210.1 209.7 209.1 208.1 206.6 205.2 204.7 203.6 202.5 202.0 202.2 202.7 203.4 204.0 204.5 205.6 206.6 207.8 209.9 211.4 212.1 212.1 211.9 211.6 211.4 210.9 209.9 208.0 206.7 205.4 203.1 201.0 199.1 197.8 196.4 194.8 195.2 195.5 195.8 197.6 199.0 200.2 204.1 206.9 209.1 211.3 213.3 215.2 216.3 216.5 216.2 215.9 215.5 215.1 214.2 212.4 210.1 207.5 205.6 204.1 202.5 201.2 200.5 200.7 200.9 201.2 201.5 201.9 202.4 202.7 203.0 203.4 203.4 203.2 202.8 201.9 200.7 199.1 197.1 195.1 192.7 190.9 189.1 187.6 186.1 184.9 183.8 182.9 182.0 181.2 180.4 179.7 179.1 178.5 178.1 177.7 177.5 177.3 177.0 176.3 176.2 177.0 177.9 178.6 178.9 179.0 179.1 179.2 179.3 179.5 179.7 179.9 180.1 180.2 180.3 180.5 181.1 181.7 182.5 183.7 184.1 184.3 184.8 185.1 185.2 185.1 185.1 185.0 184.8 184.7 184.5 184.3 184.2 184.1 184.1 182.6 179.9 175.6 170.0 164.7 163.4 163.4 164.1 165.0 168.1 172.1 174.0 175.9 177.7 178.6 180.2 182.1 184.1 185.9 187.4 188.0 189.2 191.0 193.2 195.4 197.7 199.6 201.2 202.7 204.2 205.8 207.5 209.9 212.4 215.1 216.2 215.9 214.9 211.9 210.6 210.4 209.4 209.1 209.2 208.9 208.8 208.9 207.9 206.9 206.0 205.6 205.3 204.9 204.5 204.4 204.6 204.9 205.2 205.5 205.7 206.0 206.3 206.4 206.7 207.2 207.2 207.4 207.7 207.8 207.9 208.0 208.2 208.5 208.9 209.2 209.2 209.0 208.5 208.0 207.8 206.7 205.2 203.6 202.1 200.8 199.7 197.1 194.7 193.4 192.7 192.2 191.8 191.4 190.9 190.2 188.9 187.6 186.5 185.6 184.6 183.2 182.2 181.2 180.0 178.7 177.4 176.2 175.8 176.1 178.8 181.2 183.2 183.4 183.7 183.9 183.9 184.0 184.1 183.9 184.0 184.3 184.8 185.2 185.6 185.8 185.9 185.8 185.7 185.6 185.5 185.6 185.1 183.8 180.6 176.8 172.7 169.3 167.9 168.8 172.9 179.4 187.5 195.1 201.3 206.0 207.6 208.3 208.2 208.2 207.8 207.2 207.3 207.5 207.7 207.6 207.4 207.1 207.1 207.0 206.8 206.6 206.5 206.5 206.5 206.4 206.3 206.3 206.3 206.2 206.4 206.5 206.7 206.9 207.0 207.1 207.4 207.7 208.0 208.1 208.2 208.5 208.6 208.8 208.9 209.3 209.5 209.5 209.2 208.9 208.6 208.4 207.9 207.2 206.6 205.5 203.8 202.9 201.1 198.0 195.7 193.5 190.8 189.1 188.0 187.6 188.9 190.6 192.0 194.7 198.2 202.5 206.5 211.9 219.8 226.4 231.7 235.2 238.1 240.4 241.8 242.2 242.2 242.2 241.9 241.4 240.6 238.9 236.8 233.8 232.3 231.1 229.9 228.7 227.8 228.2 228.7 229.2 229.5 230.1 230.9 232.2 233.3 234.5 236.4 237.2 237.7 238.5 238.5 238.1 237.4 237.0 236.5 235.3 233.6 231.8 230.6 229.7 229.0 228.6 228.6 228.8 229.0 229.5 230.3 230.9 231.4 231.7 232.4 232.9 233.4 234.5 235.4 235.9 235.5 235.2 235.0 234.2 233.4 232.5 232.3 232.0 231.7 231.5 231.4 231.5 231.9 232.1 232.1 232.8 233.0 232.8 232.2 231.7 231.1 226.8 221.8 216.2 214.6 214.9 216.5 220.5 223.4 224.6 225.4 227.3 231.2 233.5 235.2 236.2 237.1 238.6 241.3 244.6 248.3 252.6 255.8 258.7 261.2 265.4 269.1 272.1 275.9 279.5 283.0 285.1 286.0 285.8 286.2 285.3 282.4 280.7 279.9 280.3 279.6 278.7 278.2 277.2 275.7 273.5 268.4 260.9 250.9 236.9 226.3 221.5 223.9 230.1 239.5 245.3 249.0 247.9 243.9 239.5 235.9 232.8 229.7 226.0 222.6 219.0 214.1 209.9 206.1 203.4 202.7 202.9 204.5 204.0 203.4 204.3 205.1 205.7 205.2 205.6 206.1 206.6 206.7 206.6 206.9 207.5 208.1 208.6 208.8 208.9 208.9 209.0 209.0 208.4 208.0 207.8 207.4 206.9 206.5 206.2 206.0 206.1 206.4 207.0 207.8 208.4 208.7 209.0 208.9 208.9 208.9 208.7 208.6 208.6 208.5 208.4 208.1 207.4 206.9 206.7 205.8 204.6 203.4 202.6 201.8 200.9 200.5 200.7 201.2 202.1 203.3 204.7 206.9 209.7 213.2 217.8 221.8 224.9 228.7 232.2 235.0 238.0 240.3 241.4 242.1 242.8 243.5 242.8 241.6 239.9 238.4 236.9 235.2 232.0 229.0 226.5 224.8 223.3 221.9 221.9 222.3 222.9 224.8 226.5 227.5 230.6 233.2 234.4 236.8 238.8 239.7 241.0 241.7 241.4 241.0 240.0 238.2 235.3 232.9 231.8 229.3 226.1 222.1 219.9 218.3 217.2 217.2 217.6 218.2 219.7 221.5 223.3 226.6 230.5 234.9 237.2 239.0 241.4 242.4 242.9 242.7 242.4 242.0 241.1 238.7 235.8 232.0 228.4 225.1 222.3 220.5 219.5 219.0 219.1 219.5 220.0 220.8 221.7 222.7 223.8 225.0 226.1 227.3 228.5 229.5 230.5 231.5 232.1 232.6 232.9 232.9 232.5 231.7 230.1 228.2 226.2 223.6 221.0 218.5 215.5 212.9 210.4 207.8 205.7 203.8 202.3 201.1 200.3 200.6 201.9 204.0 206.3 207.3 207.4 207.2 207.4 207.9 208.3 208.9 209.5 210.8 211.8 212.3 213.0 213.7 214.2 215.2 216.1 217.2 218.6 220.4 222.9 223.6 224.5 225.8 227.5 229.3 231.3 232.3 233.1 233.9 234.5 234.8 234.7 234.5 234.4 234.3 234.1 234.0 234.0 233.6 233.1 232.6 232.2 231.9 231.9 231.7 231.5 231.3 231.1 230.8 230.6 230.2 229.8 229.4 229.1 228.7 228.2 227.2 225.3 220.0 216.5 212.7 205.8 202.2 200.0 200.2 204.0 208.4 211.4 211.8 211.3 209.7 208.9 208.4 207.9 207.5 207.2 206.7 206.8 207.2 207.8 208.3 208.7 208.6 207.9 206.8 205.4 204.4 202.5 196.9 189.5 182.5 181.5 182.3 184.2 184.8 185.4 186.3 188.4 189.3 189.5 190.6 191.1 191.1 190.7 189.7 188.4 187.0 185.7 184.6 184.6 184.9 185.3 185.5 185.4 185.1 185.2 185.4 185.7 186.1 186.3 186.4 186.5 186.6 186.5 186.2 185.9 185.5 185.2 185.0 184.9 184.5 184.3 184.4 184.4 184.4 184.5 184.5 184.6 184.7 184.7 184.7 184.8 185.1 185.3 185.6 185.9 186.1 186.2 186.0 185.9 185.6 185.4 185.2 184.8 183.7 182.6 181.6 180.7 179.1 176.1 174.0 170.7 165.7 160.7 156.6 153.4 148.4 144.5 142.8 142.5 143.0 143.9 145.0 147.1 150.9 152.4 153.6 155.2 155.4 155.3 155.5 155.7 155.7 155.4 155.5 155.8 156.5 156.4 156.0 155.3 154.6 154.0 153.4 153.4 153.5 153.7 153.6 153.4 153.1 153.1 153.1 153.4 153.7 154.0 154.0 154.4 155.1 155.7 156.1 156.4 156.7 156.5 155.9 155.5 154.9 154.4 154.1 153.3 152.0 150.4 149.6 149.5 149.8 150.6 151.9 153.5 154.7 155.7 157.1 158.5 159.8 160.7 161.2 161.4 161.8 161.0 160.8 160.1 159.1 157.8 156.2 154.3 152.2 149.9 147.4 144.8 142.2 139.6 137.0 134.5 132.1 129.8 127.7 125.8 124.1 122.6 121.4 120.5 119.8 119.4 119.2 119.4 119.8 120.5 121.6 122.9 124.5 126.3 128.5 131.0 133.6 136.6 139.8 143.2 146.8 150.6 154.6 158.6 162.2 166.3 170.7 175.0 179.2 183.4 187.3 191.1 194.6 197.9 200.8 203.4 205.4 207.1 208.3 209.0 209.2 209.1 208.9 208.7 208.4 208.2 208.0 207.9 208.1 208.7 209.6 210.9 212.8 214.9 217.3 219.7 222.3 224.9 227.2 229.2 230.9 232.2 233.0 235.4 235.2 235.1 234.8 234.6 234.5 233.9 233.4 232.9 232.6 231.9 231.1 230.4 228.5 225.2 219.0 211.1 203.6 201.5 201.6 203.4 205.9 210.0 214.4 215.6 216.7 217.7 218.7 219.2 219.6 220.8 222.4 224.0 225.0 225.2 225.2 225.9 225.8 225.3 223.6 221.8 220.0 216.0 213.1 210.8 209.8 209.2 208.9 208.2 208.0 208.1 208.3 208.8 209.6 209.1 208.3 207.3 205.8 200.5 193.1 184.7 180.7 179.3 183.3 188.8 196.8 195.7 194.6 193.3 192.5 191.5 190.2 189.9 189.3 188.1 186.6 185.3 184.5 184.5 184.5 184.3 183.9 183.4 182.9 182.4 182.0 181.8 181.5 181.3 181.5 181.6 181.7 181.8 181.9 182.1 182.1 182.5 182.9 183.3 183.6 183.9 184.3 184.4 184.6 184.9 185.3 185.7 186.0 186.2 186.4 186.6 186.7 186.7 186.5 186.3 186.1 185.9 185.6 185.4 185.2 185.1 184.7 183.7 182.9 182.0 181.1 180.1 178.7 175.9 173.6 171.6 170.6 169.3 168.2 167.7 166.9 166.0 165.1 164.5 164.0 163.5 163.5 163.9 164.0 165.0 166.4 167.1 168.9 171.4 173.1 174.5 175.7 176.7 177.7 178.4 178.4 178.6 178.7 178.4 178.0 177.6 177.4 176.9 176.2 175.4 174.9 174.6 173.4 172.1 170.7 169.2 168.2 167.5 166.4 165.8 165.6 165.7 165.9 166.1 166.7 167.5 168.4 169.7 170.8 171.7 174.0 175.4 176.3 177.2 178.1 178.8 179.2 179.2 178.5 178.1 176.9 174.5 173.3 171.5 169.2 166.8 165.0 164.1 163.2 162.6 162.2 162.6 163.1 163.7 165.0 166.1 166.9 168.1 169.6 171.4 172.3 172.9 173.0 172.6 171.5 169.7 171.4 170.5 169.0 167.0 164.4 161.4 157.9 154.2 150.3 146.3 142.2 138.2 134.3 130.5 127.1 123.9 121.0 118.5 116.4 114.7 113.3 112.4 111.9 111.9 112.4 113.3 114.8 116.9 119.4 122.4 125.9 130.0 134.6 139.6 145.1 151.0 157.2 163.8 170.6 177.6 184.1 190.4 197.4 204.0 210.3 216.0 221.2 225.7 229.3 231.9 233.4 234.0 234.0 234.0 234.0 233.9 233.9 233.8 233.6 233.5 233.4 233.3 233.2 233.1 233.0 232.9 232.8 232.8 232.7 232.7 233.5 233.7 233.7 233.6 233.3 233.2 233.1 233.0 232.8 232.5 232.4 232.1 231.9 231.8 231.6 231.3 231.1 230.1 228.4 227.9 227.4 226.7 226.1 225.3 224.1 222.6 220.5 217.7 215.9 212.9 208.3 204.8 202.0 199.9 198.0 197.0 197.1 197.1 198.5 202.2 203.2 203.8 203.6 203.9 204.4 205.2 206.1 206.7 207.1 207.4 207.7 207.9 208.0 207.9 207.7 207.3 206.8 206.3 205.7 205.2 204.9 204.7 204.6 204.8 205.0 205.3 205.6 205.7 206.1 206.9 207.2 207.5 208.1 208.4 208.5 208.5 208.4 208.4 208.3 208.2 208.1 208.0 208.0 207.9 207.8 207.8 207.7 207.5 207.2 206.9 206.9 206.9 206.8 206.7 206.6 206.5 206.4 206.3 206.2 206.2 206.4 206.8 207.3 207.6 207.8 207.9 208.0 208.2 208.3 208.4 208.5 208.6 208.6 208.5 208.3 208.1 208.0 208.0 208.0 207.8 207.6 207.4 207.1 207.0 206.8 206.7 205.3 203.8 202.4 201.8 200.4 198.5 195.3 189.6 182.2 175.8 170.4 165.7 165.8 166.4 167.4 168.5 170.6 173.3 177.0 182.3 188.9 192.5 197.4 204.2 206.5 209.2 212.6 213.7 214.7 215.6 215.7 215.7 215.7 215.5 215.3 215.3 215.0 214.3 212.9 212.4 212.0 211.6 211.3 211.3 211.5 212.4 213.5 214.4 215.3 216.8 219.4 222.7 225.9 228.4 229.8 231.0 232.6 233.8 234.7 235.3 236.0 236.5 236.5 236.0 235.3 234.6 233.9 233.4 233.1 232.9 232.7 232.4 232.1 232.0 232.1 232.2 232.3 232.4 232.5 232.6 232.7 232.7 232.7 232.9 233.1 233.4 233.7 234.0 234.2 234.5 234.7 234.8 234.8 234.8 234.7 234.5 234.4 234.3 234.2 234.3 234.6 235.3 235.3 234.8 234.6 234.3 234.0 233.8 233.4 232.3 230.0 223.3 213.5 202.7 197.1 195.8 198.4 200.2 201.4 202.1 204.4 207.9 216.5 222.1 225.5 231.0 235.3 238.8 244.9 248.7 251.0 251.0 250.8 250.5 250.3 250.4 250.5 249.8 249.1 248.5 248.6 248.3 247.8 247.2 246.7 246.4 246.5 246.5 246.4 246.2 246.0 245.9 245.8 245.5 245.2 245.1 245.1 245.1 245.2 245.3 245.5 245.9 246.2 246.5 246.7 247.0 247.7 247.7 247.6 247.4 247.2 247.0 247.0 244.8 240.5 234.0 223.9 215.2 209.5 207.5 206.9 207.1 207.2 207.1 206.8 206.2 205.7 205.3 205.2 205.2 205.3 205.3 205.2 205.2 204.9 204.7 205.0 205.5 206.0 206.0 208.1 212.3 223.1 229.8 234.9 237.0 238.9 240.5 241.2 240.7 239.9 238.9 238.0 236.9 234.0 232.5 230.9 227.6 224.7 222.2 220.8 219.6 218.8 219.2 219.7 220.5 222.0 223.8 226.2 229.7 233.2 236.4 238.1 239.9 241.3 241.3 241.0 240.3 239.0 237.7 236.0 233.3 229.7 226.2 224.5 222.6 220.5 218.2 216.8 216.1 217.0 217.8 218.5 220.5 223.9 228.3 230.6 233.3 236.3 238.5 240.7 243.0 244.6 245.5 245.9 245.0 242.9 240.1 237.9 234.0 228.9 225.7 221.1 214.7 213.9 213.6 214.2 215.2 216.3 217.7 219.1 220.7 222.4 222.4 222.4 222.4 222.4 222.4", + "f0_timestep": "0.005" + }, + { + "offset": 142.844, + "text": "SP 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 SP 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 SP", + "ph_seq": "SP t ai sh ang w ang q ing h e ch ou b ai f a zh ang s an q ian SP m ing g e h e x v sh ui j ie zh ir z ai w u x ing zh ir w ai t ian x in w o x in zh ir j ian b u c i0 j i sh eng j i sh ir z uo y i j ie x iao y ao x ian SP", + "ph_dur": "0.18 0.109 0.1107 0.0693 0.1358 0.0452 0.1208 0.0602 0.1198 0.0602 0.237 0.125 0.1358 0.0452 0.2857 0.0753 0.4519 0.0901 0.1102 0.0708 0.2255 0.1355 0.362 0.1057 0.0753 0.3053 0.0557 0.417 0.125 0.2219 0.1401 0.2209 0.1401 0.1117 0.0693 0.6221 0.1009 0.1107 0.0693 0.1208 0.0602 0.1117 0.0693 0.1208 0.0602 0.2767 0.0843 0.2901 0.0709 0.1253 0.0557 0.1313 0.0497 0.1102 0.0708 0.1514 0.0286 0.2777 0.0843 0.3053 0.0557 0.1117 0.0693 0.1102 0.0708 0.1107 0.0693 0.1358 0.0452 0.2415 0.1205 0.1408 0.0392 0.2822 0.0798 0.4531 0.0889 0.3778 0.1642 0.4818 0.0602 0.2219 0.1401 2.891 0.072", + "ph_num": "2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest A#3 G#3 G#3 F#3 D#3 A#3 C#4 A#3 G#3 F#3 G#3 rest F#3 F#4 F4 C#4 C#4 D#4 A#3 G#3 G#3 F#3 F#3 D#3 A#3 G#3 G#3 F#3 F#3 C#3 A#3 G#3 G#3 F#3 F#3 G#3 A#3 C#4 C#4 C#4 D#4 D#4 rest", + "note_dur": "0.289 0.18 0.181 0.181 0.18 0.362 0.181 0.361 0.542 0.181 0.361 0.362 0.181 0.361 0.542 0.362 0.361 0.181 0.723 0.18 0.181 0.181 0.181 0.361 0.361 0.181 0.181 0.181 0.18 0.362 0.361 0.181 0.181 0.18 0.181 0.362 0.18 0.362 0.542 0.542 0.542 0.362 2.891 0.072", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "232.5 232.5 232.5 232.9 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 232.9 232.6 232.2 231.8 231.2 230.7 229.9 229.2 228.5 227.9 227.3 226.7 226.1 225.6 225.2 224.9 225.0 226.3 230.0 233.9 236.2 236.7 236.7 236.1 235.6 235.1 234.7 233.2 231.5 229.7 228.3 226.3 221.5 215.7 209.2 200.8 197.1 195.0 194.5 194.6 195.2 196.9 198.8 200.5 201.3 202.1 203.1 204.4 206.8 209.6 210.3 212.3 214.6 214.8 214.3 213.3 212.5 211.2 209.8 208.9 208.4 208.4 208.6 208.4 208.0 207.9 207.9 208.0 208.1 208.1 208.1 208.0 207.6 207.2 207.2 207.2 207.2 207.3 207.5 207.5 207.6 207.7 207.7 208.0 208.1 208.1 208.0 207.7 207.4 207.3 207.1 207.1 207.2 207.4 207.5 207.6 207.7 207.7 207.7 207.8 207.9 208.0 208.0 207.9 207.4 207.0 206.5 205.6 204.1 201.6 195.6 190.2 185.6 183.1 181.9 182.6 184.1 185.2 185.5 187.1 189.1 191.2 191.7 191.7 191.7 189.9 187.5 185.2 183.9 183.3 183.6 184.0 184.1 183.9 184.3 184.9 185.7 186.1 186.4 186.8 187.1 187.2 186.3 184.9 183.2 180.7 177.3 173.2 166.9 162.6 159.3 158.0 157.4 156.9 156.3 155.8 155.4 155.6 155.2 154.7 154.1 153.5 153.0 152.7 153.2 153.7 154.0 153.7 153.1 152.9 152.7 152.5 152.2 152.0 152.0 152.1 152.3 152.6 152.7 152.7 152.6 152.8 153.0 153.3 153.4 153.5 153.5 153.4 153.3 153.1 153.0 152.9 152.8 153.1 153.4 153.9 154.4 154.9 155.2 155.3 155.5 155.7 155.8 156.1 156.6 157.2 157.6 157.9 159.0 160.1 161.2 161.1 160.5 159.5 155.9 152.2 148.3 147.9 148.7 151.3 153.3 156.5 161.2 167.0 173.4 180.7 185.4 190.6 196.5 202.9 209.2 215.1 221.1 225.9 228.9 231.0 232.7 233.8 232.3 231.5 231.5 230.9 230.5 230.6 231.1 231.3 230.9 231.1 231.6 232.3 232.6 233.0 233.4 232.9 230.0 223.8 232.9 228.4 221.4 213.0 204.6 197.8 193.5 191.5 192.3 194.1 197.0 200.7 205.3 210.3 215.5 220.6 225.0 228.7 231.3 232.5 232.7 232.6 232.5 232.4 232.3 232.1 231.9 231.8 231.6 231.5 231.4 231.2 231.2 231.7 232.9 235.2 238.5 242.8 247.8 253.0 258.3 263.5 268.2 272.0 274.7 276.2 279.7 280.2 280.7 281.2 281.7 281.9 282.0 281.7 281.3 280.9 280.0 277.7 274.1 268.2 260.9 252.7 249.8 251.7 256.8 262.0 267.7 273.8 276.8 277.2 275.9 273.5 269.1 263.3 257.5 253.9 251.8 247.6 243.9 240.5 237.9 234.5 235.1 234.0 232.0 229.1 225.6 222.0 218.4 215.0 212.2 210.1 209.0 208.5 208.5 208.5 208.5 208.4 208.4 208.4 208.3 208.2 208.1 208.0 208.0 207.9 207.8 207.7 207.6 207.5 207.5 207.4 207.4 207.3 207.3 207.3 207.4 207.7 208.6 209.9 211.6 213.7 216.0 218.5 221.0 223.6 225.9 228.0 229.7 231.1 231.7 231.6 233.0 234.9 236.1 237.2 237.8 237.8 237.5 237.0 236.7 236.4 236.1 235.0 233.7 232.3 231.5 230.8 229.4 228.9 228.8 228.5 228.3 228.2 228.6 229.1 229.7 229.9 230.7 231.6 232.9 234.4 235.7 236.4 236.9 237.1 237.6 238.0 238.2 237.7 237.2 236.0 232.1 225.6 218.7 215.8 216.9 220.4 223.5 225.0 225.4 225.1 224.3 222.8 220.4 218.4 216.5 214.9 213.4 212.1 210.6 208.9 207.3 207.2 208.7 211.4 212.0 212.4 212.8 212.1 211.6 211.0 210.2 209.5 208.9 208.2 207.6 207.2 206.4 204.7 201.7 195.4 188.6 181.1 179.7 181.2 187.5 198.9 209.3 217.5 218.1 218.0 217.0 215.9 214.7 213.5 211.6 209.2 205.9 201.4 195.6 188.0 184.3 181.5 180.0 179.3 178.9 178.6 178.7 179.2 179.8 179.9 180.3 181.2 181.9 182.3 182.5 183.2 183.9 184.5 184.6 184.8 185.0 185.0 184.9 184.8 184.5 184.3 184.2 184.0 184.0 184.2 184.6 185.0 185.6 186.0 186.3 186.7 186.8 186.9 186.5 186.1 185.7 185.5 183.5 181.0 178.1 177.6 177.9 179.2 181.7 184.3 185.8 187.1 188.5 190.4 191.9 193.2 194.2 195.7 197.3 198.1 199.1 200.2 201.0 202.1 203.3 204.9 206.5 208.0 209.3 210.8 212.1 212.5 212.5 212.4 212.6 212.7 212.9 212.8 212.9 213.2 212.1 211.1 210.3 207.3 205.5 204.4 202.6 200.5 198.3 197.1 196.6 196.6 197.2 197.7 198.0 200.0 201.7 203.1 206.7 209.0 210.4 212.2 213.6 214.6 214.8 214.8 214.5 213.6 212.0 209.1 208.0 205.8 202.2 198.8 196.1 194.5 193.2 192.6 193.1 193.4 194.6 197.1 199.3 201.5 203.7 207.3 210.1 211.6 213.7 215.4 216.1 215.9 215.6 215.2 214.9 213.9 211.9 208.3 205.2 203.4 200.8 199.0 198.6 198.4 198.5 198.7 199.1 199.5 199.9 200.5 201.1 201.6 202.1 202.5 202.7 192.2 178.4 159.8 141.3 126.6 119.8 117.5 116.3 116.1 115.5 114.7 113.7 112.5 111.3 110.0 108.8 107.9 107.1 106.5 106.2 106.8 108.8 112.4 117.7 124.9 133.2 142.4 152.2 161.8 170.6 177.2 181.5 183.6 183.8 184.0 184.3 184.6 184.8 185.0 185.1 185.2 185.3 185.4 185.5 185.6 185.7 185.9 185.9 186.0 186.1 186.0 185.8 185.5 185.3 185.1 184.9 184.4 184.0 183.8 183.4 183.3 183.2 183.3 183.5 183.6 183.8 184.1 184.5 185.6 186.6 187.4 188.6 190.0 191.7 192.6 193.4 194.3 194.4 194.6 195.0 193.9 192.9 192.1 188.9 187.0 186.9 191.6 198.3 208.3 216.1 226.4 240.6 251.1 262.9 276.7 290.5 303.4 314.3 323.1 329.6 333.3 339.4 344.9 348.7 349.4 348.9 347.7 347.3 347.7 348.8 347.0 345.5 345.8 344.0 342.2 341.1 340.7 340.2 339.1 338.7 338.8 339.7 340.4 341.3 343.4 345.9 348.3 349.6 352.2 354.9 356.8 360.2 363.7 365.9 368.3 370.9 374.1 375.6 376.6 377.6 377.2 376.5 375.4 374.6 373.7 371.9 370.5 369.3 368.1 367.4 366.9 366.4 366.1 366.0 366.3 366.7 367.2 367.2 367.9 368.8 369.2 369.9 370.7 371.3 371.6 371.9 372.8 372.9 372.5 372.2 371.1 369.0 365.0 359.9 354.1 352.6 352.8 354.1 356.0 357.2 357.8 359.1 359.6 359.5 358.3 357.8 357.8 357.8 357.9 358.0 357.9 357.7 357.6 357.9 358.1 358.2 358.7 359.2 359.5 359.2 359.4 360.3 361.1 361.6 361.8 362.3 362.9 363.8 365.3 366.2 366.2 364.5 361.9 358.0 356.5 354.8 353.1 351.4 349.9 348.6 347.4 346.3 345.6 344.8 344.7 345.5 346.1 346.8 347.6 348.4 349.2 350.2 351.5 352.8 354.1 355.0 355.7 356.3 356.4 355.3 352.6 348.2 342.2 334.4 325.5 320.0 319.9 324.8 330.8 335.7 337.7 339.2 341.9 343.2 344.1 344.7 344.3 343.6 342.5 341.5 340.2 336.7 332.9 329.2 326.1 324.3 322.7 320.2 317.7 315.0 311.8 308.7 305.7 302.8 298.9 294.8 291.9 289.1 286.4 284.2 283.3 283.2 282.5 281.4 280.1 279.2 277.7 276.0 274.8 273.6 272.4 271.3 270.5 270.1 270.0 269.8 269.7 269.6 269.8 270.2 271.6 272.6 273.4 273.5 274.0 274.8 275.8 276.7 277.5 278.0 278.5 279.1 279.2 279.2 279.1 278.9 278.7 278.5 278.2 278.1 278.0 277.9 277.1 275.3 272.4 268.2 261.9 254.4 248.5 244.8 245.2 247.0 251.3 253.7 257.2 262.1 264.6 266.7 268.1 269.0 269.9 270.7 272.8 275.1 277.8 278.7 280.2 282.4 284.0 284.5 283.7 283.3 283.0 282.7 282.5 282.1 281.6 280.7 279.8 279.1 278.7 278.1 278.9 277.8 275.4 271.9 267.3 262.0 256.2 250.2 244.1 238.2 232.7 227.7 223.4 219.9 217.2 215.7 215.0 215.3 216.3 218.1 220.5 223.6 227.3 231.6 236.3 241.3 246.4 251.7 257.0 261.8 266.4 270.4 273.7 276.2 277.7 278.2 278.3 278.3 278.3 278.3 278.3 278.3 278.3 278.3 278.3 278.3 278.3 278.3 278.3 278.3 278.3 278.3 278.3 278.3 278.3 278.3 278.3 278.3 278.3 278.3 278.3 278.5 279.2 280.2 281.9 283.9 286.3 288.8 291.4 293.9 296.2 298.2 299.8 300.8 301.2 300.1 302.0 304.5 305.8 308.3 311.7 314.1 317.3 321.0 322.6 324.0 325.1 325.7 325.7 324.9 324.4 323.5 321.7 320.8 318.8 315.3 313.7 311.3 307.7 306.2 305.0 304.2 304.4 304.7 305.1 305.3 305.6 306.1 308.4 310.6 313.0 314.3 315.9 318.3 321.4 323.8 324.7 324.8 324.4 323.6 323.1 321.7 318.8 315.2 312.4 311.0 308.1 305.6 304.4 304.7 305.3 305.8 306.9 308.4 310.5 312.3 313.8 314.7 316.0 317.2 317.7 318.1 318.3 317.8 316.9 316.0 315.3 314.3 312.2 305.7 299.3 293.2 287.4 289.0 292.0 293.7 294.4 294.4 292.4 289.5 285.4 277.5 271.0 265.1 259.1 253.3 247.9 243.0 240.1 239.1 239.8 239.8 239.0 237.5 236.2 235.3 235.1 234.5 233.8 233.4 233.8 234.6 234.9 234.7 234.0 232.3 227.5 220.8 208.7 200.4 194.4 195.9 199.8 205.3 207.9 209.5 210.4 213.1 215.0 216.2 216.3 216.8 217.6 217.2 217.2 217.6 217.0 215.6 213.9 211.4 209.0 206.6 206.0 205.7 206.0 205.8 206.0 206.6 206.7 206.7 206.7 207.4 208.2 209.0 209.2 209.3 209.3 209.2 209.0 208.9 208.7 208.6 208.5 208.0 207.2 206.0 205.3 205.2 205.7 206.0 206.8 208.3 208.4 208.2 208.1 208.3 208.5 208.7 209.0 209.2 209.2 208.9 208.4 208.0 206.5 203.7 199.2 194.1 189.6 186.4 186.2 186.7 187.4 189.1 190.8 191.6 191.5 191.1 190.6 190.2 189.7 189.1 189.3 189.5 189.3 189.3 189.4 190.1 189.8 189.0 187.3 186.2 185.5 185.3 185.1 185.0 185.3 185.3 185.2 185.4 185.5 185.5 185.4 185.1 184.7 184.4 183.8 182.9 181.1 177.7 173.5 170.3 167.1 164.6 165.1 166.5 168.7 172.5 177.8 183.7 188.0 191.9 195.5 195.2 193.6 191.1 189.7 188.8 188.1 187.7 187.0 186.1 185.1 184.5 184.1 183.8 183.3 182.9 182.6 182.4 182.1 182.1 182.2 182.3 182.5 182.6 182.8 182.9 183.0 183.0 183.2 183.4 183.8 184.1 184.4 184.7 184.7 184.8 184.9 185.0 185.1 185.2 185.3 185.5 185.6 185.7 185.7 185.7 185.7 185.0 184.5 183.5 182.1 180.2 178.0 175.5 172.8 170.0 167.1 164.2 161.4 158.8 156.4 154.2 152.4 150.8 149.7 148.9 148.5 148.5 149.0 149.8 150.9 152.1 153.2 156.0 156.9 157.8 159.0 160.2 161.1 162.2 162.4 162.1 161.5 160.8 160.0 159.0 157.9 156.9 155.7 154.6 153.5 152.4 151.4 150.5 149.7 149.1 148.6 148.3 148.2 148.2 148.4 148.8 149.3 150.0 150.8 151.8 152.8 154.0 155.3 156.5 157.7 159.0 160.0 161.1 162.0 162.6 163.3 163.7 163.9 163.8 163.5 163.1 162.4 161.7 160.7 159.7 158.4 157.1 155.9 154.5 153.2 152.0 150.8 149.7 149.0 148.2 147.6 147.3 147.1 147.2 147.3 148.2 150.8 152.9 154.8 215.5 218.4 218.7 219.3 220.5 220.0 219.6 219.1 220.2 221.6 223.3 225.8 228.7 232.5 234.1 235.7 237.4 237.3 236.4 234.3 228.9 220.7 208.6 205.1 203.6 205.0 207.1 210.8 216.9 220.4 223.1 225.3 226.8 228.6 231.4 232.1 230.8 227.6 222.4 217.6 214.3 211.6 209.9 209.3 208.7 208.1 207.7 207.4 207.1 207.0 206.9 206.8 206.7 206.6 206.6 206.5 206.5 206.5 206.7 206.9 207.1 207.3 207.4 207.5 208.1 208.2 208.1 208.2 208.3 208.4 208.6 208.7 208.7 208.7 208.7 208.6 208.3 208.1 207.9 207.8 207.7 207.5 207.3 207.1 207.0 206.8 206.0 204.2 200.2 196.3 193.2 193.4 195.1 197.2 197.6 197.9 198.3 198.8 199.1 199.2 198.9 198.6 198.3 197.7 197.2 196.8 198.0 198.6 198.7 196.9 194.2 190.7 188.9 187.8 187.1 186.7 186.3 186.0 185.7 185.3 185.0 185.0 185.1 185.3 185.6 185.9 186.1 186.0 185.6 184.7 183.3 181.5 178.8 174.7 169.5 162.5 159.3 156.7 154.8 155.7 157.4 160.3 166.7 172.0 175.2 180.6 184.7 187.0 187.7 188.2 188.2 188.4 188.6 188.7 188.5 188.3 187.8 187.3 186.8 186.6 186.4 186.1 185.8 185.5 185.3 185.2 185.1 184.9 184.8 184.7 184.5 184.3 184.2 184.1 184.1 184.0 184.1 184.1 184.3 184.4 184.4 184.6 184.7 184.8 184.8 184.9 185.6 186.3 187.0 187.5 187.4 187.2 186.8 186.4 185.7 184.1 179.4 173.3 164.2 160.2 158.3 160.0 164.3 168.9 171.4 172.5 171.8 168.4 165.6 163.2 160.8 158.5 156.4 154.1 151.8 149.2 146.0 142.5 139.0 136.5 134.8 133.6 138.8 139.4 140.4 141.5 142.5 143.7 144.6 145.0 144.8 144.4 143.7 143.1 142.3 141.3 140.4 139.4 138.3 137.3 136.3 135.3 134.5 133.7 132.9 132.5 132.1 131.8 131.8 131.9 132.2 132.6 133.1 133.8 134.6 135.5 136.5 137.7 138.8 139.9 141.1 142.1 143.1 144.1 144.8 145.5 145.9 146.2 146.2 146.2 145.9 145.3 144.6 143.9 142.9 141.7 140.7 139.4 138.4 137.1 136.0 134.8 133.7 132.9 132.1 131.5 132.9 135.0 137.2 185.2 193.2 199.3 204.5 209.2 214.8 220.3 225.1 228.5 231.3 233.5 235.5 237.1 237.9 238.7 238.4 234.1 226.1 217.8 210.9 207.9 206.3 206.5 208.1 209.6 209.6 209.7 209.8 209.4 209.9 210.7 212.3 212.6 212.3 211.5 210.7 209.9 208.9 208.3 207.9 208.2 208.7 209.3 209.6 209.4 209.1 209.1 209.1 209.1 208.9 208.9 208.9 208.7 208.3 207.8 207.5 206.6 205.0 201.8 195.1 186.5 179.2 174.9 173.5 176.3 180.0 184.3 188.2 190.7 192.1 197.9 203.0 207.7 210.6 212.2 213.0 212.0 211.1 210.3 210.0 209.7 209.3 208.9 208.4 207.8 205.6 201.5 196.3 189.6 183.4 178.0 178.5 180.6 185.3 192.0 199.0 206.6 209.5 211.4 211.5 209.4 207.3 205.3 202.9 200.8 199.1 197.6 196.2 194.6 193.2 191.6 189.8 186.9 184.5 182.6 182.2 182.5 183.0 183.5 184.3 185.3 185.8 186.2 186.7 186.6 186.2 185.8 185.4 184.9 184.0 182.2 178.9 173.9 166.5 159.7 154.6 151.2 149.2 148.7 150.8 153.7 157.0 160.6 165.0 172.6 177.6 181.7 184.1 184.1 183.6 183.1 182.9 182.8 182.5 182.2 182.0 181.8 181.8 181.7 181.9 182.0 182.2 182.4 182.6 182.7 182.7 183.1 183.7 184.3 185.1 185.9 186.3 186.6 186.8 186.8 186.7 186.6 186.3 186.0 185.7 185.6 185.4 185.2 184.8 184.8 185.1 185.4 185.6 185.6 185.2 183.9 182.0 178.8 175.7 172.9 171.6 171.0 170.8 172.1 173.9 176.0 178.6 180.3 181.3 183.7 186.0 188.1 189.4 191.0 193.0 195.6 197.5 198.8 200.7 202.9 205.4 206.9 208.1 209.0 209.7 210.5 211.2 210.5 209.8 209.0 209.3 209.4 209.1 208.9 208.6 208.3 206.8 204.8 202.3 196.8 189.6 180.0 175.4 171.6 169.1 167.0 166.1 166.6 168.1 171.2 176.6 181.0 186.0 192.2 197.4 202.8 208.8 216.2 223.2 229.1 232.6 234.1 233.3 233.1 233.1 233.1 232.9 232.9 233.2 232.9 232.5 231.9 231.7 231.5 231.3 230.9 230.7 230.7 230.8 231.0 231.2 231.4 231.6 231.7 231.9 232.0 232.1 232.4 232.8 233.3 233.6 233.8 233.8 233.6 233.5 233.3 233.2 233.1 233.0 232.9 232.8 232.8 232.7 232.5 232.3 232.3 232.3 232.3 232.3 232.3 232.2 232.1 232.0 232.2 232.3 232.4 232.1 231.9 231.9 232.0 232.5 233.2 234.3 235.3 236.3 237.8 239.3 240.9 243.8 247.7 252.4 259.4 265.1 270.1 273.2 275.4 276.9 278.0 278.9 279.8 280.7 280.1 278.6 275.6 273.0 271.0 269.8 268.1 265.4 264.8 264.6 265.3 265.9 266.4 267.0 267.6 268.8 270.7 272.8 274.6 276.1 276.8 278.0 280.1 281.6 282.7 283.2 284.0 284.5 284.5 284.2 283.8 283.4 281.9 280.4 279.3 278.5 277.3 275.5 274.5 274.0 273.9 273.8 273.6 273.4 273.3 273.2 273.3 273.5 273.8 274.2 274.7 275.1 275.4 275.5 275.8 276.8 277.8 278.7 278.8 278.6 278.4 278.1 277.8 277.6 277.5 275.0 275.0 275.0 275.0 274.9 274.8 274.8 274.6 274.5 274.5 274.4 274.3 274.3 274.2 274.2 274.2 273.4 271.4 268.1 263.8 258.8 253.2 247.9 242.9 238.6 235.2 232.9 232.2 232.1 232.5 233.2 234.1 235.4 237.0 238.8 240.7 242.9 245.2 247.4 249.9 252.6 255.3 257.9 260.6 263.1 265.4 267.6 269.6 271.3 272.7 273.8 274.5 274.9 276.9 276.9 276.9 277.0 277.1 277.2 277.3 277.4 277.5 277.6 277.7 277.7 277.9 278.2 278.6 278.4 278.2 277.8 277.6 277.5 277.5 277.4 277.3 277.2 277.1 277.0 276.9 276.8 276.7 276.5 276.5 276.8 277.5 278.1 278.5 278.6 278.4 278.2 278.0 277.9 277.9 278.1 278.5 278.7 278.6 278.5 278.4 278.3 276.7 276.7 276.7 276.5 276.5 276.4 276.4 276.3 276.2 276.1 276.1 276.0 275.9 275.7 275.6 275.5 275.4 275.3 275.3 275.2 275.1 275.1 275.0 275.0 275.0 274.4 273.0 270.5 267.3 263.3 258.8 254.0 249.4 244.9 240.7 237.2 234.4 232.5 231.5 231.3 231.8 232.5 234.0 235.7 237.9 240.4 243.2 246.2 249.6 253.0 256.4 259.8 263.2 266.4 269.2 271.7 273.8 275.5 276.7 277.3 276.9 277.1 277.3 277.5 277.7 277.8 277.8 277.8 278.2 278.5 278.8 278.8 278.7 278.6 278.5 278.3 278.1 277.9 277.8 277.7 277.4 277.2 277.0 276.9 276.9 276.9 276.9 276.9 276.9 277.0 277.0 277.0 277.1 277.2 277.2 277.3 277.4 277.5 277.6 277.7 277.7 277.8 277.9 278.0 278.0 278.0 278.1 278.1 278.1 278.1 278.3 278.7 279.2 279.3 279.2 279.1 279.0 278.9 278.7 278.6 278.5 278.3 278.3 278.3 278.3 278.3 278.0 277.7 277.2 276.7 276.2 275.6 275.0 274.4 273.8 273.2 272.7 272.3 271.9 271.8 271.7 271.6 272.3 273.9 276.3 279.5 283.6 288.1 293.2 298.3 303.3 308.1 312.4 315.8 318.3 319.6 320.1 319.5 318.3 316.6 314.6 312.6 311.1 309.9 308.8 308.4 307.4 306.9 306.6 306.5 306.8 307.3 308.0 308.6 309.2 309.6 310.5 311.9 313.2 313.9 314.3 314.7 314.8 314.5 314.0 313.6 312.9 310.6 310.6 310.6 310.6 310.7 310.8 310.9 310.9 311.1 311.2 311.4 311.5 311.5 311.7 311.8 314.0 310.5 304.7 296.9 287.5 276.6 265.3 254.0 243.1 233.1 225.0 217.2 210.5 205.3 201.6 199.5 199.6 200.9 203.5 207.9 213.4 220.1 227.5 235.5 244.0 252.2 259.8 266.5 271.9 275.6 277.5 277.5 277.5 277.5 277.5 277.4 277.3 277.3 277.2 277.2 277.0 276.9 276.9 276.8 276.6 276.5 276.4 276.4 276.3 276.1 276.1 276.0 275.9 275.9 275.9 275.9 275.9 275.8 275.4 274.5 273.3 272.0 271.0 270.2 270.1 270.5 272.0 274.2 276.9 280.2 284.0 288.0 292.0 296.1 299.9 303.3 306.0 308.1 309.3 309.7 309.7 309.7 309.6 309.5 309.5 309.5 309.5 309.4 309.3 309.3 309.3 309.2 309.2 309.2 309.0 309.0 309.0 308.9 308.8 308.8 308.8 308.8 308.8 308.8 308.6 308.6 308.6 310.4 310.3 310.2 310.2 310.3 310.4 310.5 310.7 310.9 311.1 311.2 311.3 311.3 311.3 311.3 311.4 311.5 311.5 311.6 311.7 311.8 312.0 312.1 312.2 312.3 312.4 312.4 312.4 312.3 312.2 312.1 311.9 311.7 311.6 311.4 311.3 311.3 311.3 311.3 311.3 311.3 311.1 311.1 311.1 310.9 310.9 310.9 310.8 310.8 310.7 310.6 310.6 310.6 310.6 310.5 310.4 310.4 310.4 310.5 310.6 310.8 311.0 311.3 311.4 311.5 311.5 311.5 311.5 311.5 311.5 311.4 311.3 311.3 311.3 311.3 311.3 311.3 311.1 311.1 311.1 311.0 310.9 310.9 310.9 310.9 310.8 310.8 310.8 310.7 310.6 310.6 310.6 310.6 310.6 310.6 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.1 309.7 310.0 310.2 310.5 310.7 311.0 311.3 311.4 311.5 311.5 311.5 311.6 311.7 311.7 311.7 311.8 311.8 311.9 312.0 312.2 312.2 312.2 312.3 312.4 312.4 312.5 312.6 312.6 312.7 312.7 312.7 312.7 312.7 312.7 312.6 312.5 312.4 312.3 312.1 312.0 311.9 311.8 311.7 311.7 311.6 311.5 311.5 311.5 311.5 311.5 311.5 311.5 311.6 311.7 311.7 311.7 311.7 311.8 311.8 311.9 312.0 312.0 312.1 312.2 312.2 312.3 312.4 312.5 312.6 312.6 312.6 312.6 312.7 312.7 312.8 312.9 312.9 312.9 312.9 312.9 312.9 312.9 312.9 312.9 312.8 312.6 312.6 312.6 312.5 312.3 311.1 311.1 311.5 311.9 312.4 313.1 313.7 314.4 315.1 315.7 316.1 316.6 316.7 316.7 316.4 316.0 315.4 314.4 313.3 311.8 310.2 308.8 306.9 305.1 303.5 301.8 300.2 299.0 297.9 297.1 297.1 297.3 298.1 299.0 300.3 301.7 303.5 305.3 307.5 309.9 311.8 314.2 316.6 318.4 320.5 322.3 323.6 324.8 325.7 326.0 326.0 325.7 325.1 324.0 322.5 321.0 318.9 316.7 314.7 312.2 310.1 307.7 305.8 303.6 301.6 300.2 298.6 297.6 296.9 296.6 296.4 296.7 297.4 298.5 299.7 301.3 303.3 305.1 307.5 309.9 312.0 314.6 316.9 319.0 321.1 322.6 324.2 325.3 326.1 326.6 326.6 326.3 325.5 324.5 323.0 321.2 319.3 317.1 314.7 312.6 309.9 307.4 305.4 303.1 301.2 299.7 298.1 297.1 296.4 296.0 295.9 296.2 296.9 297.9 299.3 300.9 302.8 305.1 307.2 309.7 312.2 314.4 316.9 319.3 321.2 323.1 324.7 325.8 326.7 327.2 327.2 326.9 326.0 324.9 323.3 321.7 319.5 317.5 315.0 312.4 310.1 307.6 305.1 303.1 301.0 299.1 297.8 296.6 295.9 295.4 295.4 295.7 296.4 297.6 299.0 300.5 302.6 304.9 307.2 309.7 312.0 314.7 316.9 319.4 321.7 323.4 325.1 326.4 327.4 327.7 327.7 327.5 326.6 325.3 324.0 322.0 319.7 317.7 315.0 312.2 309.9 307.2 304.7 302.6 300.4 298.9 297.2 296.2 295.3 294.9 294.9 295.2 296.0 296.9 298.5 300.4 302.1 304.5 307.2 309.5 312.2 314.9 317.3 319.9 322.3 324.0 325.7 327.2 327.9 328.4 328.4 327.9 327.4 326.0 324.3 322.7 320.2 317.7 315.3 312.6 309.7 307.4 304.7 302.3 300.4 298.4 296.7 295.7 294.8 294.3 294.3 294.8 295.5 296.6 298.2 299.7 301.9 304.0 306.8 309.5 312.0 314.9 317.7 319.9 322.4 324.5 326.0 327.5 328.5 328.9 329.1 328.5 327.7 326.4 324.7 322.8 320.4 317.8 315.3 312.5 310.0 307.0 304.7 302.1 299.8 298.1 296.4 295.0 294.3 293.8 293.8 294.2 294.9 296.2 297.6 299.6 301.9 304.0 306.8 309.7 312.2 315.2 317.8 319.7 321.1 321.8 322.3 322.1 321.4 320.4 319.3 317.9 316.4 315.1 313.7 312.4 311.7 312.5 310.5 309.7 309.7 309.8 309.9 310.1 310.2 310.3 310.4 310.4 310.4 310.4 310.4 310.4", + "f0_timestep": "0.005" + }, + { + "offset": 180.123, + "text": "AP 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 SP 啊 啊 啊 啊 啊 啊 啊 啊 SP 啊 啊 啊 啊 SP 啊 啊 啊 啊 SP 啊 啊 啊 啊 啊 SP", + "ph_seq": "AP p i ch en w o y van er b u t ing w en m u b u j ian SP w u w ai sh ir j ie h ua w ei y vn y En SP b ai b o l iu zh ao SP c ang sh an j i d ian SP y i y E y i r u x ve SP", + "ph_dur": "0.4732 0.1268 0.1102 0.0708 0.1213 0.0587 0.1057 0.0753 0.1373 0.3339 0.0708 0.1117 0.0693 0.3023 0.0587 0.4481 0.0949 0.1363 0.0437 0.2219 0.1401 0.361 0.1373 0.0437 0.2917 0.0693 0.2174 0.1446 0.1081 0.0729 0.2616 0.0994 0.4577 0.0843 0.1253 0.0557 0.2902 0.0708 0.362 0.1213 0.0587 0.3213 0.0407 0.1358 0.0452 0.2767 0.0843 0.362 0.0595 0.1205 0.2716 0.0904 0.1393 0.0407 0.3018 0.0602 0.361 0.1208 0.0602 0.3053 0.0557 0.4767 0.0663 0.4667 0.0753 0.2209 0.1401 0.362 0.4", + "ph_num": "2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 1 1", + "note_seq": "rest A#3 G#3 G#3 F#3 D#3 A#3 C#4 A#3 G#3 F#3 G#3 rest F#3 G#3 F#3 G#3 A#3 C#4 G#3 A#3 rest A#3 G#3 F#3 D#3 rest A#3 G#3 F#3 F3 rest A#3 G#3 A#3 B3 A#3 rest", + "note_dur": "0.6 0.181 0.18 0.181 0.181 0.361 0.181 0.361 0.543 0.18 0.362 0.361 0.181 0.361 0.362 0.181 0.361 0.542 0.181 0.361 0.362 0.18 0.362 0.181 0.361 0.362 0.18 0.362 0.18 0.362 0.361 0.181 0.361 0.543 0.542 0.361 0.362 0.4", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.9 207.8 207.5 206.4 204.9 202.9 200.4 197.5 194.3 190.7 186.9 182.9 179.0 175.0 171.0 167.2 163.5 160.0 156.8 153.8 151.0 149.1 147.2 145.5 144.2 143.2 142.7 142.7 142.9 143.6 144.7 146.1 147.9 150.1 152.6 155.6 158.9 162.5 166.3 170.4 174.8 179.4 184.1 188.9 193.8 198.7 203.5 208.2 212.6 216.8 220.6 224.1 227.1 229.4 231.3 232.5 233.2 233.4 233.4 233.4 233.2 233.1 233.0 232.9 232.8 232.5 232.4 232.3 232.2 232.1 232.0 232.0 232.0 206.2 205.5 204.7 204.0 204.2 205.6 208.4 209.9 210.6 210.5 209.9 209.2 208.6 208.2 207.9 207.5 207.2 207.0 206.8 206.7 206.8 206.9 207.0 207.1 207.1 207.2 207.4 207.5 208.1 208.8 209.6 209.9 209.9 209.6 209.5 209.3 209.2 209.0 208.7 207.8 207.5 207.2 206.7 206.3 206.0 206.1 206.3 206.7 207.0 207.4 207.7 208.0 208.0 207.8 207.6 207.3 207.0 206.7 206.2 205.5 204.5 202.6 199.6 194.8 190.8 187.4 184.5 182.0 180.3 180.5 181.1 182.0 183.7 186.3 189.6 189.3 188.8 188.2 187.3 186.6 186.0 185.2 184.9 184.9 185.3 185.7 186.3 186.5 186.5 186.3 186.4 186.5 186.7 186.7 186.5 186.1 185.1 184.2 183.4 181.6 179.5 176.9 175.2 173.4 171.3 168.1 165.1 162.3 157.8 153.7 150.3 147.7 145.9 145.0 144.6 144.5 144.9 145.6 147.0 149.5 150.2 151.5 153.6 154.0 154.6 155.5 156.0 156.2 156.0 155.8 155.5 155.2 154.9 154.7 154.6 154.2 153.8 153.3 152.9 152.6 152.6 152.7 152.9 153.0 153.2 153.4 153.5 154.1 154.7 154.9 155.2 155.4 155.7 155.7 155.7 155.7 155.7 155.8 156.0 156.3 156.6 156.9 157.2 157.6 158.5 159.9 161.4 162.5 162.8 162.7 161.8 160.3 158.8 157.6 155.5 153.8 156.3 161.1 168.2 177.7 185.9 193.0 200.2 208.3 216.4 221.3 224.5 226.1 225.6 226.9 229.0 230.0 230.5 230.6 230.9 232.0 233.3 233.9 234.6 235.4 233.1 226.6 217.7 207.0 204.5 207.3 217.8 225.3 230.7 232.0 233.6 235.2 236.9 239.5 242.7 246.8 250.8 254.8 260.6 267.2 274.5 277.4 277.6 275.9 276.0 276.1 276.1 276.9 277.3 277.2 276.7 276.2 275.9 276.3 276.5 276.5 276.1 275.7 275.3 275.4 275.5 275.6 275.6 275.6 275.6 275.6 275.5 275.3 275.3 275.3 275.4 274.9 274.6 274.9 275.5 276.0 276.3 276.5 276.6 276.8 277.0 277.2 277.3 277.9 278.2 278.0 277.8 277.5 276.4 275.5 273.5 270.4 266.4 261.6 256.3 250.6 244.4 238.1 231.7 225.5 219.6 214.1 209.0 204.5 200.7 197.4 194.8 193.0 191.9 191.5 192.8 195.8 199.5 203.2 206.0 206.7 206.7 206.7 206.7 206.8 206.9 206.9 206.9 207.0 207.1 207.2 207.2 207.3 207.3 207.3 207.5 208.0 208.8 210.0 211.4 213.1 215.1 217.3 219.5 221.7 224.0 226.0 227.9 229.5 230.8 231.9 232.5 237.6 238.6 239.0 238.8 238.4 238.2 238.0 237.7 236.8 235.7 234.3 233.1 232.1 231.1 230.2 229.3 229.2 229.3 229.6 230.1 230.5 230.8 231.1 231.3 231.6 231.9 232.0 232.1 232.7 233.2 233.6 234.0 234.5 235.0 235.2 235.4 235.4 235.5 235.6 235.7 235.7 235.8 235.9 236.0 236.0 235.9 236.2 236.4 236.6 236.5 236.2 235.7 235.3 234.8 234.2 233.1 231.8 230.3 227.0 224.1 222.5 220.1 217.6 215.2 211.6 208.5 206.8 204.4 202.3 201.1 200.0 199.2 199.2 199.1 199.8 203.2 204.2 204.7 205.7 206.3 206.7 206.3 206.3 206.6 207.4 208.2 209.0 209.7 210.0 210.1 209.6 209.0 208.4 207.6 204.6 200.8 195.5 187.9 180.0 176.4 173.4 171.0 169.3 167.5 165.7 164.5 163.8 163.8 165.2 166.7 168.6 171.7 173.6 174.9 177.0 177.8 177.7 178.0 178.6 179.4 180.4 181.1 181.7 181.8 182.1 182.5 183.2 183.7 184.0 184.0 184.1 184.1 184.2 184.2 184.1 184.2 184.3 184.4 184.5 184.6 184.6 184.7 184.8 184.8 184.9 185.1 185.3 185.5 185.8 186.3 186.2 186.1 185.9 185.8 185.7 185.6 185.4 185.1 184.8 182.7 179.8 175.6 172.3 166.8 158.4 154.9 153.3 154.3 158.0 162.0 166.4 167.9 170.0 173.0 177.0 180.7 183.6 185.7 188.2 191.7 194.7 198.6 204.1 208.4 211.3 212.5 213.3 214.0 214.5 214.9 214.5 213.2 211.6 210.5 209.9 207.9 205.5 202.9 201.7 200.7 199.1 198.4 198.2 198.7 199.4 200.1 201.2 203.1 205.5 208.6 210.1 211.2 212.7 213.2 213.3 213.1 212.9 212.5 211.3 209.5 207.7 206.5 204.1 201.0 198.6 196.9 195.6 194.2 193.6 193.8 194.4 196.0 198.1 199.8 202.7 206.3 209.0 211.1 212.8 214.6 216.3 217.4 217.3 217.0 216.7 216.5 215.5 214.0 211.7 208.7 205.4 200.9 198.4 197.0 196.5 196.3 196.3 196.7 197.0 197.5 198.1 198.8 199.5 200.2 193.4 192.2 190.2 187.4 184.0 179.9 175.6 171.0 166.4 162.0 157.6 153.7 150.2 147.3 144.8 143.0 141.8 141.4 141.8 143.0 145.0 147.8 151.3 155.4 159.8 164.3 168.7 172.7 176.1 178.4 179.7 182.0 182.4 182.9 183.8 184.8 185.6 185.9 186.3 186.6 186.5 186.4 186.2 186.1 186.0 185.9 185.7 185.5 185.5 185.8 186.1 186.3 186.2 186.0 185.8 185.7 185.4 185.2 185.0 184.8 184.6 184.4 184.3 184.3 184.4 184.6 184.8 185.1 185.2 185.3 185.5 185.6 185.8 186.0 186.0 185.8 185.6 185.2 184.7 184.1 182.9 181.6 180.3 177.8 174.6 171.5 170.2 170.0 170.2 170.4 171.1 172.7 174.7 176.8 179.3 183.8 189.4 194.1 199.5 204.9 207.5 209.8 211.5 212.1 212.7 213.2 213.6 213.4 212.8 212.2 210.9 209.0 206.0 203.7 202.0 201.2 200.3 199.2 199.1 199.4 200.0 200.9 202.0 203.1 204.3 205.2 206.0 207.6 208.6 209.2 210.3 211.0 211.4 211.2 210.9 210.7 210.5 210.1 209.3 208.7 207.8 206.2 204.9 202.8 199.5 194.6 189.5 184.1 182.2 181.2 181.5 182.2 182.9 183.7 183.9 184.1 184.1 184.7 185.3 186.0 186.8 187.5 188.1 188.4 188.5 188.3 188.2 188.5 189.6 189.9 190.3 191.2 192.2 192.5 191.8 189.9 188.2 187.1 186.5 186.1 186.0 185.7 185.3 184.4 183.6 182.5 180.4 176.2 171.7 167.6 167.7 169.7 174.9 177.9 180.4 182.7 184.4 185.9 186.9 187.9 189.0 190.5 191.9 193.3 194.7 195.9 197.2 198.8 200.7 202.7 204.4 205.7 206.8 207.3 207.6 207.8 207.9 207.4 206.7 207.0 207.0 206.8 206.6 206.6 206.7 206.4 206.3 206.2 206.4 206.6 206.7 207.0 207.1 207.3 207.5 207.7 207.7 208.0 208.3 208.5 208.5 208.4 208.3 208.1 207.9 207.8 207.5 207.4 207.3 206.6 205.7 204.6 200.9 197.2 193.5 191.8 191.7 192.9 194.7 196.2 197.1 198.0 198.9 199.8 201.7 203.3 204.3 205.4 206.3 206.9 207.6 208.5 209.7 210.4 211.1 211.9 212.7 213.6 214.5 215.7 219.2 226.1 232.4 237.1 238.9 239.8 240.2 240.1 239.5 239.0 239.0 237.8 236.7 236.3 234.3 232.3 230.6 229.7 229.1 228.4 227.2 226.4 226.7 227.1 227.5 227.9 229.1 230.6 232.0 232.9 233.9 235.7 236.8 237.9 239.6 239.8 239.7 239.3 238.9 238.6 238.2 236.7 234.9 233.2 231.7 230.5 229.4 228.5 227.7 227.3 227.5 227.8 228.3 228.6 229.1 230.3 231.3 232.2 233.1 233.9 234.6 235.1 235.8 236.5 236.5 236.3 236.0 235.8 235.6 235.5 235.3 235.1 235.0 234.9 234.6 234.2 233.9 233.7 233.6 233.6 233.5 233.4 233.3 233.2 233.2 232.4 231.7 230.9 230.4 229.2 227.6 226.2 223.5 220.0 218.6 217.3 216.1 216.6 218.0 219.9 224.1 230.2 237.7 243.8 250.7 258.8 268.5 276.7 282.5 284.4 285.9 287.0 286.6 285.6 283.5 281.4 279.7 278.6 279.0 278.9 278.0 277.5 277.4 277.8 277.8 277.7 277.5 277.1 276.5 275.6 274.0 272.3 270.7 268.6 265.9 262.5 259.1 255.4 251.0 244.1 237.5 232.2 227.8 223.1 217.9 212.3 207.6 204.2 201.6 199.5 197.9 197.6 197.6 197.7 197.4 197.4 198.9 200.2 201.3 201.3 201.9 202.8 204.2 204.6 204.8 205.0 205.3 205.7 205.9 206.0 206.1 206.4 206.6 206.9 207.2 207.6 208.0 208.4 208.7 208.9 209.1 209.5 209.9 209.9 209.7 209.6 209.5 209.5 209.4 209.3 209.2 209.1 208.8 208.7 208.6 208.5 208.2 207.8 207.5 206.8 206.0 205.2 203.5 201.2 199.2 198.1 197.6 198.5 199.4 200.3 203.6 206.2 208.5 213.7 217.9 221.3 226.2 230.1 233.4 237.5 239.7 240.6 241.5 242.2 242.7 243.4 242.8 241.3 239.8 238.3 236.7 233.4 229.8 226.1 224.6 222.9 220.9 221.0 221.3 221.9 223.8 225.4 226.6 229.8 232.4 233.9 236.5 238.5 239.6 241.1 242.1 242.4 241.8 240.7 239.0 236.2 233.9 232.8 229.3 225.8 222.9 220.5 218.8 217.7 217.9 218.4 218.8 220.3 222.5 225.2 227.3 229.9 233.8 236.7 239.2 241.4 242.5 243.0 242.6 242.0 241.3 240.7 239.1 236.5 231.4 228.6 226.2 222.8 221.3 220.3 219.7 219.9 220.3 220.9 221.6 222.4 223.4 224.4 225.5 226.7 227.8 228.7 229.7 230.7 231.6 232.2 232.6 233.0 233.0 232.9 232.6 232.1 231.4 230.6 229.8 228.9 228.0 227.1 226.1 225.1 224.3 223.5 222.8 222.3 221.9 221.6 221.3 220.6 219.7 218.3 217.4 217.0 216.3 215.6 215.1 213.3 212.4 212.0 211.4 211.0 210.7 211.1 211.6 212.3 212.8 214.1 216.0 217.1 219.3 222.2 225.1 227.2 228.5 229.6 230.7 231.7 231.5 231.1 230.5 230.2 230.1 230.4 231.1 231.6 231.9 232.5 233.4 234.6 235.4 236.1 236.5 236.9 236.9 236.3 235.3 234.1 232.5 230.3 226.9 221.9 211.3 201.8 195.6 195.8 197.4 199.1 202.0 204.1 204.3 204.9 205.4 205.3 205.9 207.1 208.8 209.6 209.5 208.1 206.1 205.0 205.5 206.0 206.8 209.2 210.0 210.4 210.7 210.7 210.6 210.8 210.9 211.0 210.8 210.1 209.3 208.3 207.8 207.4 206.9 206.5 206.0 205.4 204.9 204.3 203.4 202.4 201.4 200.5 199.3 197.6 195.1 192.1 188.6 188.4 188.2 187.8 187.4 186.9 186.4 185.9 185.5 185.0 184.6 184.3 184.2 184.1 184.1 184.1 184.1 184.1 184.1 184.1 184.1 184.1 184.1 184.1 184.1 184.1 184.1 184.1 184.1 184.0 183.4 181.7 179.4 176.4 173.1 169.5 165.9 162.5 159.7 157.3 155.6 154.6 154.3 154.3 154.4 154.4 154.4 154.5 154.6 154.7 154.7 154.7 154.8 154.8 154.8 154.8 154.8 154.8 154.8 154.9 154.9 155.0 155.0 155.0 155.1 155.1 155.2 155.2 155.2 155.3 155.3 155.3 167.7 164.7 161.0 156.2 152.5 149.7 148.2 148.0 148.6 149.7 151.0 151.9 152.4 152.9 153.5 154.2 154.3 154.4 154.8 154.6 154.4 154.0 153.7 153.3 152.4 151.6 150.7 150.0 149.7 149.5 148.9 148.4 147.9 147.7 147.9 148.3 148.6 149.7 150.9 151.7 152.7 153.8 155.7 157.3 158.7 159.3 160.2 160.9 160.6 160.3 159.6 158.1 156.6 154.9 151.8 149.3 147.3 145.5 144.0 143.0 143.8 144.0 144.8 145.8 146.9 148.7 150.6 152.5 155.2 157.8 160.4 163.7 166.8 169.7 172.7 175.8 179.2 182.0 184.8 187.7 189.8 191.8 193.6 194.7 195.5 196.0 195.7 194.7 193.0 190.4 187.3 184.0 180.1 176.1 172.5 168.8 165.3 162.6 160.3 158.4 157.2 156.6 156.7 157.1 157.9 159.2 160.9 162.8 165.2 167.9 170.7 173.9 177.4 180.7 184.3 188.1 191.4 194.9 198.4 201.1 203.8 206.3 208.0 209.2 210.2 210.6 210.8 210.7 209.9 208.8 208.0 208.2 209.2 210.7 212.8 215.2 218.1 221.1 224.0 226.6 228.9 230.7 231.7 234.9 235.2 235.3 235.0 234.6 234.3 234.2 234.0 233.8 233.5 233.3 233.0 232.7 230.7 227.9 224.0 217.1 210.4 206.6 206.6 207.7 209.4 210.4 211.1 211.1 211.1 211.2 211.3 211.8 212.5 213.0 213.0 213.0 214.0 215.1 216.2 216.8 216.4 215.6 215.1 214.5 213.8 213.1 212.8 212.7 212.2 211.6 211.1 210.5 210.0 209.6 209.3 209.1 208.8 208.5 208.6 209.1 209.2 208.8 208.0 207.2 205.2 202.6 197.9 191.0 183.0 174.1 168.8 165.6 166.8 170.1 174.9 181.5 185.5 187.6 190.7 193.7 196.6 194.3 192.1 190.0 188.1 186.5 185.3 184.4 183.6 183.2 183.1 182.9 182.8 182.8 183.0 183.4 183.9 184.4 184.9 184.9 185.0 185.3 185.6 185.8 186.1 185.6 185.3 185.2 185.1 185.0 184.9 184.8 184.7 184.6 184.5 184.5 184.5 184.5 184.5 184.7 184.7 184.8 184.9 184.9 184.9 185.0 185.2 185.4 185.5 185.7 185.7 185.5 184.9 183.9 181.6 177.9 173.4 167.3 162.9 159.4 158.2 158.5 159.2 160.1 161.5 162.8 163.0 163.8 164.9 166.2 166.8 167.3 167.8 169.3 171.2 173.1 173.8 174.2 175.4 176.5 177.5 177.8 177.6 177.2 176.9 176.6 176.3 175.9 174.6 172.9 171.1 170.1 169.4 168.5 167.6 166.9 167.1 167.4 167.8 167.9 168.9 170.3 171.8 172.9 173.7 175.8 177.3 178.3 178.1 178.0 177.8 177.5 177.2 176.6 174.9 173.6 172.7 170.4 169.0 168.4 167.8 167.8 168.2 168.6 169.5 170.8 172.5 174.5 176.9 178.0 179.0 180.0 180.0 179.8 179.6 179.4 178.9 177.9 176.8 175.1 172.5 170.3 168.9 168.9 169.1 169.3 169.4 169.8 170.2 170.7 171.3 172.0 172.9 174.0 175.3 176.8 179.2 182.1 185.4 190.1 195.3 200.7 206.6 212.0 216.2 219.7 222.1 223.3 223.7 223.6 223.1 222.1 221.0 219.8 218.5 217.3 216.4 215.5 214.7 214.2 214.8 215.9 217.9 217.7 216.8 215.8 215.2 214.7 213.8 213.2 212.7 211.7 211.0 210.4 209.6 209.2 208.9 209.3 209.8 210.5 211.7 213.4 215.1 216.3 219.0 222.3 224.0 226.1 228.0 228.8 230.2 231.8 232.7 233.5 234.1 234.5 234.8 234.8 234.4 234.0 233.6 233.4 233.4 233.4 233.5 233.5 233.5 233.7 233.8 233.8 233.8 233.7 233.6 233.8 233.9 234.0 233.5 232.9 232.3 232.6 232.9 233.4 235.0 235.8 236.1 236.9 237.4 237.7 238.3 238.2 237.6 236.5 235.7 235.0 233.5 231.7 229.6 228.1 226.2 223.6 220.5 217.7 215.5 214.5 213.2 211.4 209.8 208.5 207.5 206.6 205.9 205.5 205.2 205.0 205.0 205.1 205.2 205.4 205.4 205.6 206.1 206.2 206.3 206.4 206.7 206.9 207.1 207.4 207.6 207.6 207.7 207.7 207.7 207.6 207.5 207.3 207.2 207.0 206.8 206.7 206.7 206.7 206.7 206.7 206.8 206.8 206.8 206.9 207.0 207.1 207.2 207.2 207.3 207.3 207.4 207.4 207.4 207.5 207.6 208.1 208.6 209.0 209.5 209.6 209.6 209.5 209.3 209.2 209.1 209.0 209.0 209.0 209.0 209.0 208.9 208.7 208.5 208.5 208.3 208.0 207.6 207.2 206.8 206.3 205.8 205.3 204.1 203.1 202.3 202.1 202.0 202.0 202.9 204.0 205.3 206.9 208.8 210.9 215.8 220.5 224.9 228.6 232.0 235.2 236.6 237.6 238.4 239.0 239.6 240.2 239.9 238.8 237.2 235.5 234.3 233.5 232.1 231.2 230.4 230.1 229.8 229.7 230.1 230.4 230.8 231.0 231.2 231.6 232.5 233.5 234.4 234.4 234.4 234.3 234.2 234.1 234.0 233.9 233.9 233.8 233.7 233.4 232.7 232.3 232.1 232.0 232.1 232.2 232.3 232.4 232.6 232.7 232.7 232.8 233.1 233.4 233.5 233.4 233.3 233.2 233.1 232.9 232.8 232.7 232.8 232.9 233.3 233.4 233.5 233.6 233.7 233.8 233.9 234.0 234.2 234.2 234.2 234.1 234.0 233.9 233.8 233.8 233.7 233.6 233.4 233.3 233.2 233.3 233.2 233.0 232.9 232.7 232.5 232.4 231.8 230.9 230.2 229.1 227.8 226.6 225.6 224.9 225.7 227.0 228.6 231.0 235.7 241.5 245.2 248.0 249.9 250.4 250.8 251.2 251.5 251.9 252.3 252.4 252.4 252.4 251.9 251.0 250.0 248.6 247.5 246.5 246.2 245.7 245.1 245.1 245.3 245.5 245.7 245.9 246.1 246.2 246.6 247.2 247.9 248.2 248.2 248.0 247.8 247.5 247.2 246.6 245.4 242.9 238.5 231.2 224.1 218.8 215.8 216.5 217.9 220.3 221.1 222.0 222.7 222.9 223.1 223.3 223.6 223.9 224.4 224.8 225.2 225.5 225.9 226.1 226.1 225.9 225.9 226.1 226.6 227.1 227.5 227.5 227.6 228.2 229.0 230.1 231.4 233.4 235.8 238.4 239.9 241.1 242.2 242.6 242.3 241.5 240.5 239.6 238.9 237.3 235.2 232.5 230.3 228.5 227.4 225.9 224.2 222.8 222.7 222.9 223.0 223.3 223.8 225.2 227.2 229.4 231.9 233.4 234.4 235.1 236.1 237.1 237.7 238.2 238.3 238.0 237.5 236.9 235.7 233.0 229.9 228.5 225.9 223.0 221.4 220.2 219.6 219.9 220.7 222.1 224.5 226.8 229.1 231.1 233.5 236.0 237.3 238.3 238.9 238.5 238.2 237.8 237.5 236.3 234.3 231.1 226.3 220.5 219.3 219.1 219.6 220.3 221.2 222.0 223.2 224.3 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4 225.4", + "f0_timestep": "0.005" + }, + { + "offset": 192.001, + "text": "SP 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 SP 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 SP", + "ph_seq": "SP t ai sh ang w ang q ing h e ch ou b ai f a zh ang s an q ian SP m ing g e h e x v sh ui j ie zh ir z ai w u x ing zh ir w ai t ian x in w o x in zh ir j ian b u c i0 j i sh eng j i sh ir z uo y i j ie x iao y ao x ian SP", + "ph_dur": "0.2278 0.0602 0.1117 0.0693 0.1358 0.0452 0.1198 0.0602 0.1253 0.0557 0.2405 0.1205 0.1358 0.0452 0.2716 0.0904 0.4276 0.1144 0.0943 0.0867 0.2465 0.1145 0.361 0.1057 0.0753 0.3018 0.0602 0.423 0.119 0.2209 0.1401 0.2174 0.1446 0.1107 0.0693 0.6236 0.0994 0.1358 0.0452 0.1253 0.0557 0.1107 0.0693 0.1358 0.0452 0.2762 0.0858 0.2764 0.0846 0.1253 0.0557 0.1358 0.0452 0.1092 0.0708 0.1509 0.0301 0.2767 0.0843 0.3123 0.0497 0.1117 0.0693 0.1092 0.0708 0.1117 0.0693 0.1253 0.0557 0.227 0.134 0.1403 0.0407 0.2752 0.0858 0.4421 0.1009 0.3824 0.1596 0.4818 0.0602 0.2164 0.1446 2.892 0.5", + "ph_num": "2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest A#3 G#3 G#3 F#3 D#3 A#3 C#4 A#3 G#3 F#3 G#3 rest F#3 F#4 F4 C#4 C#4 D#4 A#3 G#3 G#3 F#3 F#3 D#3 A#3 G#3 G#3 F#3 F#3 C#3 A#3 G#3 G#3 F#3 F#3 G#3 A#3 C#4 C#4 C#4 D#4 D#4 rest", + "note_dur": "0.288 0.181 0.181 0.18 0.181 0.361 0.181 0.362 0.542 0.181 0.361 0.361 0.181 0.362 0.542 0.361 0.362 0.18 0.723 0.181 0.181 0.18 0.181 0.362 0.361 0.181 0.181 0.18 0.181 0.361 0.362 0.181 0.18 0.181 0.181 0.361 0.181 0.361 0.543 0.542 0.542 0.361 2.892 0.5", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "232.7 232.7 232.7 233.0 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 233.1 232.9 232.6 232.1 231.7 231.2 230.5 229.9 229.2 228.5 227.9 227.3 226.7 226.1 225.6 225.2 224.9 225.2 226.3 230.5 234.3 236.2 236.8 236.6 236.0 235.5 235.1 234.7 233.0 231.2 229.7 228.1 225.5 221.3 215.7 209.2 200.8 197.1 195.0 194.5 194.6 195.3 197.2 199.0 200.5 201.4 202.2 203.1 204.6 207.2 209.6 210.4 212.6 214.6 214.8 214.2 213.3 212.3 211.0 209.8 208.9 208.4 208.4 208.6 208.4 208.0 207.9 207.9 208.0 208.1 208.1 208.1 208.0 207.6 207.2 207.2 207.2 207.2 207.4 207.5 207.5 207.6 207.7 207.7 208.0 208.1 208.1 208.0 207.7 207.4 207.2 207.1 207.1 207.2 207.4 207.5 207.6 207.7 207.7 207.7 207.8 207.9 208.0 208.0 207.9 207.4 206.9 206.5 205.4 203.7 201.6 195.6 190.2 185.6 183.1 181.9 182.8 184.2 185.2 185.5 187.3 189.3 191.6 191.7 191.7 191.7 189.7 187.4 184.8 183.9 183.4 183.6 184.0 184.1 183.9 184.3 184.9 185.7 186.1 186.4 186.8 187.1 187.1 186.3 184.8 182.8 180.6 176.9 172.3 166.8 162.2 159.1 158.0 157.3 156.8 156.3 155.7 155.5 155.6 155.2 154.7 154.1 153.5 153.0 152.7 153.2 153.7 154.0 153.6 153.1 152.9 152.7 152.5 152.2 152.0 152.0 152.1 152.4 152.6 152.7 152.7 152.7 152.8 153.0 153.3 153.4 153.5 153.5 153.4 153.3 153.1 153.0 152.9 152.8 153.1 153.5 154.0 154.5 154.9 155.2 155.3 155.5 155.7 155.8 156.2 156.7 157.3 157.7 158.1 159.0 160.1 161.2 161.1 160.5 159.6 155.5 151.7 148.3 147.9 149.0 151.3 153.6 157.0 161.2 167.9 174.3 180.7 186.1 191.3 196.5 203.9 210.0 215.1 222.0 226.3 228.9 231.0 232.7 233.8 232.3 231.5 231.5 230.8 230.5 230.8 231.2 231.3 230.8 231.1 231.6 232.4 232.7 233.0 233.5 232.9 229.6 222.6 219.3 217.9 219.3 221.0 221.9 221.4 220.3 219.4 218.7 221.7 228.5 240.1 251.3 259.5 262.9 263.3 262.6 261.4 261.3 261.4 261.2 260.0 259.0 258.8 259.2 259.6 259.9 260.1 260.3 260.5 260.5 260.6 261.6 262.5 263.5 264.7 266.2 267.6 268.4 269.6 271.1 273.3 274.5 275.5 276.6 278.2 279.7 280.3 280.7 281.2 281.7 281.9 282.0 281.7 281.3 280.9 280.0 277.7 274.1 268.2 260.2 252.2 249.7 252.1 257.7 262.2 268.2 274.4 276.9 277.1 275.5 273.4 268.6 262.3 257.2 253.8 251.1 247.4 243.9 240.5 237.9 234.5 230.5 225.7 222.2 219.5 217.2 215.8 215.1 214.9 214.6 214.1 213.1 212.4 211.9 212.0 212.2 212.6 213.2 213.7 214.2 214.8 215.1 215.2 215.3 215.6 216.2 216.9 217.5 217.7 217.6 217.4 217.3 217.2 217.0 216.8 216.8 216.7 216.7 216.9 217.1 217.3 217.5 218.0 219.1 221.0 222.8 224.3 225.6 227.5 230.4 231.7 233.0 234.9 236.3 237.3 237.9 237.7 237.4 237.0 236.6 236.4 236.1 234.9 233.5 232.3 231.5 230.6 229.3 228.9 228.7 228.5 228.3 228.2 228.6 229.1 229.7 229.9 230.7 231.6 233.2 234.5 235.7 236.6 236.9 237.1 237.7 238.0 238.2 237.7 237.2 235.8 231.4 224.8 218.6 215.4 217.2 220.4 223.5 225.0 225.4 225.1 224.3 222.8 220.4 218.2 216.2 214.8 213.3 211.8 210.5 208.8 207.3 207.2 209.0 211.5 212.0 212.4 212.5 212.1 211.5 210.9 210.1 209.5 208.9 208.2 207.6 207.2 206.2 204.3 201.7 194.5 187.7 181.1 179.4 182.0 187.5 200.6 210.3 217.5 218.2 217.9 217.0 215.7 214.5 213.4 211.4 208.8 205.9 201.4 195.6 188.0 184.3 181.4 179.6 179.2 178.9 178.5 178.7 179.2 179.9 179.9 180.4 181.4 181.9 182.3 182.6 183.2 183.9 184.6 184.6 184.8 185.0 185.0 184.9 184.8 184.5 184.3 184.2 184.0 184.0 184.2 184.6 185.1 185.6 186.1 186.4 186.7 186.8 186.8 186.5 186.0 185.7 185.5 183.2 180.6 178.1 177.6 177.9 179.2 181.7 184.3 185.8 187.1 188.6 190.7 192.1 193.2 194.4 195.9 197.3 198.2 199.2 200.2 201.2 202.2 203.4 205.1 206.6 208.1 209.5 210.9 212.1 212.5 212.5 212.4 212.5 212.7 212.9 212.8 213.0 213.0 212.0 211.1 209.8 207.1 205.4 204.1 202.5 200.3 198.1 197.0 196.6 196.7 197.2 197.7 198.4 200.1 201.7 203.1 206.7 209.0 210.4 212.4 213.8 214.6 214.9 214.8 214.5 213.5 211.6 209.1 207.8 205.4 202.2 198.3 195.9 194.5 193.0 192.7 193.1 193.5 194.9 197.1 199.3 201.5 203.7 207.3 210.2 211.9 213.9 215.4 216.2 215.9 215.5 215.1 214.9 213.8 211.5 208.0 205.1 203.0 200.6 199.0 198.5 198.4 198.5 198.7 199.1 197.8 197.1 195.5 193.0 189.9 186.2 182.2 178.0 173.5 169.1 164.9 161.0 157.4 154.3 151.7 149.7 148.4 147.7 147.6 148.1 149.1 150.7 152.8 155.1 157.5 160.6 163.9 167.1 170.4 173.5 176.3 178.8 180.5 181.7 182.4 183.6 183.4 183.2 183.3 183.4 183.7 183.8 184.0 184.4 184.6 184.8 185.1 185.2 185.2 185.3 185.4 185.5 185.6 185.7 185.9 185.9 186.0 186.1 186.0 185.8 185.5 185.3 185.1 184.8 184.3 184.0 183.8 183.4 183.2 183.2 184.2 184.6 185.7 187.4 189.6 192.4 195.7 199.5 203.7 208.2 212.9 217.8 222.6 227.5 231.9 236.1 239.8 242.9 245.3 247.1 247.8 247.5 246.5 244.4 241.8 238.5 235.8 233.4 231.6 230.8 231.6 233.9 238.5 245.4 254.1 263.6 274.7 286.9 297.7 308.4 318.2 324.4 328.5 329.2 333.1 332.8 332.0 331.0 329.6 328.3 327.2 326.4 326.1 326.3 326.8 327.6 328.8 330.4 332.3 334.5 336.9 339.6 342.4 345.2 348.2 351.3 354.2 357.0 359.8 362.4 364.7 366.5 368.1 369.3 370.1 370.4 376.8 377.6 377.2 376.5 375.4 374.6 373.7 371.9 370.5 369.3 367.9 367.3 366.9 366.3 366.1 366.0 366.3 366.8 367.2 367.2 368.0 368.8 369.3 370.0 370.8 371.4 371.6 371.9 372.8 372.9 372.5 372.2 371.1 369.0 365.0 359.4 353.8 352.6 352.9 354.4 356.1 357.2 358.0 359.2 359.6 359.3 358.2 357.8 357.8 357.8 357.9 358.0 357.9 357.7 357.6 357.9 358.1 358.2 358.8 359.2 359.5 359.2 359.5 360.3 361.2 361.6 361.8 362.4 363.1 363.8 365.5 366.2 366.2 364.2 361.4 358.0 356.2 354.6 353.1 351.4 349.9 348.6 347.4 346.3 345.4 344.8 344.8 345.6 346.1 346.8 347.8 348.4 349.3 350.4 351.6 352.8 354.3 355.1 355.8 356.4 356.4 355.3 352.6 348.2 342.2 334.4 325.5 320.0 319.9 325.5 331.5 335.9 337.9 339.6 342.0 343.3 344.2 344.7 344.2 343.4 342.4 341.4 339.6 336.6 332.4 328.7 326.0 324.3 322.7 320.2 317.7 315.0 311.8 308.7 305.6 302.2 298.5 294.7 291.4 288.8 286.3 283.8 283.3 283.2 282.4 281.2 280.0 279.0 277.5 276.0 274.6 273.4 272.4 271.3 270.5 270.1 270.0 269.8 269.7 269.6 269.9 270.5 271.6 272.6 273.4 273.5 274.1 275.0 275.9 276.8 277.6 278.0 278.6 279.1 279.2 279.2 279.1 278.9 278.7 278.5 278.2 278.1 278.0 277.9 276.9 275.3 272.0 267.4 261.9 253.3 248.0 244.8 245.2 247.6 251.3 254.1 257.8 262.1 265.0 266.9 268.1 269.2 270.0 270.7 272.8 275.1 277.8 278.7 280.3 282.8 284.1 284.4 283.5 283.3 283.0 282.7 282.5 282.1 281.5 280.6 279.8 278.9 278.6 278.0 276.9 275.9 274.5 272.6 268.6 262.1 252.9 242.9 234.9 230.2 230.5 229.8 227.8 224.9 221.4 217.8 214.4 211.7 209.9 209.2 210.8 215.0 221.5 229.8 239.5 250.0 259.8 267.9 273.2 276.3 276.7 276.7 276.7 276.7 276.7 276.7 276.7 276.7 276.7 276.7 276.7 276.7 276.7 276.7 276.7 276.7 276.7 276.7 276.7 276.7 276.7 276.6 276.1 275.6 274.9 274.0 273.1 272.2 271.4 270.8 270.3 270.1 270.3 271.0 272.3 274.0 276.2 278.8 281.6 284.7 287.8 290.9 293.8 296.5 298.9 300.8 302.1 302.9 305.8 308.3 311.7 314.1 317.3 321.0 322.8 324.2 325.1 325.8 325.6 324.9 324.4 323.2 321.7 320.7 318.4 315.3 313.5 310.9 307.7 306.0 304.9 304.2 304.4 304.7 305.1 305.3 305.6 306.1 308.4 310.8 313.5 314.4 316.0 318.8 321.7 323.8 324.9 324.8 324.3 323.4 323.1 321.5 318.2 314.9 312.3 310.8 307.9 305.6 304.4 304.7 305.3 305.8 306.9 308.4 310.5 312.5 314.0 314.8 316.2 317.3 317.8 318.2 318.2 317.8 316.8 315.9 315.2 314.2 311.2 305.5 298.6 292.3 287.3 289.0 292.0 293.7 294.4 294.4 292.4 289.5 285.1 276.2 270.4 264.9 258.0 252.8 247.8 242.1 240.0 239.1 239.9 239.7 239.0 237.2 236.1 235.3 235.0 234.4 233.8 233.4 233.8 234.6 234.9 234.7 234.0 232.3 226.9 218.6 208.1 199.9 194.7 196.0 200.2 205.7 208.0 209.6 210.9 213.3 215.0 216.1 216.3 216.9 217.5 217.1 217.2 217.6 217.0 215.6 213.7 211.0 208.7 206.6 205.9 205.8 206.0 205.8 206.1 206.6 206.7 206.7 206.7 207.5 208.3 209.0 209.2 209.3 209.3 209.2 209.0 208.9 208.7 208.6 208.5 208.0 207.1 205.7 205.3 205.2 205.7 206.0 206.9 208.6 208.4 208.2 208.1 208.3 208.5 208.7 209.0 209.2 209.2 208.8 208.4 208.0 206.5 203.7 199.2 194.1 189.6 186.4 186.2 186.8 187.5 189.3 190.9 191.6 191.4 191.0 190.6 190.2 189.6 189.1 189.3 189.5 189.3 189.3 189.5 190.1 189.8 189.0 187.3 186.2 185.5 185.3 185.1 185.0 185.3 185.3 185.2 185.4 185.5 185.5 185.3 185.1 184.7 184.3 183.8 182.9 180.8 177.2 173.4 169.8 166.7 164.6 165.1 166.5 168.7 172.5 177.8 183.7 188.0 192.2 195.5 195.2 193.4 190.8 189.7 188.7 188.1 187.7 186.9 185.9 185.0 184.4 184.1 183.7 183.3 182.8 182.6 182.4 182.1 182.1 182.2 182.3 182.5 182.6 182.8 182.9 183.0 183.0 183.2 183.5 183.8 184.1 183.0 182.6 181.6 180.1 178.2 175.9 173.3 170.5 167.7 165.3 163.0 160.8 159.0 157.6 156.7 156.2 156.2 156.2 156.2 156.2 156.2 156.2 156.2 156.2 156.2 156.1 156.1 156.1 156.1 156.1 156.0 156.0 156.0 155.9 155.9 155.9 155.8 155.8 155.7 155.7 155.7 155.7 155.7 155.6 155.6 155.6 155.5 155.5 155.4 155.4 155.4 155.3 155.3 155.2 155.2 155.2 155.1 155.1 155.1 155.1 155.0 155.0 155.0 155.0 154.9 154.9 154.9 154.8 154.8 154.8 154.8 154.8 154.8 154.8 154.8 154.8 155.1 155.4 155.6 155.7 155.8 156.0 156.2 156.6 156.9 157.4 158.1 158.7 159.1 159.3 159.2 158.9 158.8 158.6 157.3 154.1 150.3 148.5 147.1 146.6 148.0 152.0 157.6 162.0 166.7 171.6 176.5 182.6 189.0 193.5 198.9 205.0 211.2 215.5 218.4 218.7 219.5 220.5 220.0 219.5 219.1 220.4 221.8 223.3 226.1 229.2 232.5 234.3 235.9 237.4 237.3 236.2 234.3 228.2 219.2 208.6 205.1 203.6 205.0 207.1 211.1 218.1 220.6 223.2 225.7 226.8 228.8 232.0 232.1 230.7 227.0 221.9 217.4 213.5 211.4 209.9 209.2 208.6 208.1 207.7 207.4 207.1 207.0 206.9 206.8 206.7 206.6 206.5 206.5 206.5 206.5 206.7 206.9 207.1 207.3 207.4 207.6 208.1 208.2 208.2 208.2 208.3 208.4 208.6 208.7 208.7 208.7 208.7 208.6 208.3 208.1 207.9 207.8 207.7 207.5 207.2 207.1 207.0 206.7 205.9 204.1 199.5 195.9 193.2 193.5 195.3 197.2 197.6 197.9 198.3 198.8 199.1 199.2 198.9 198.6 198.3 197.8 197.2 197.0 198.1 198.6 198.4 196.8 193.9 190.4 188.9 187.8 187.1 186.7 186.3 185.9 185.6 185.3 185.0 185.0 185.1 185.3 185.6 185.9 186.1 186.0 185.5 184.7 183.2 181.1 178.8 174.1 168.6 162.5 158.9 156.4 154.8 155.8 157.7 160.3 167.7 172.4 175.2 181.3 185.0 187.0 187.7 188.2 188.2 188.4 188.6 188.7 188.5 188.2 187.7 187.2 186.8 186.5 186.4 186.1 185.7 185.5 185.3 185.2 185.1 184.9 184.8 184.7 184.5 184.3 184.2 184.1 184.1 184.0 184.0 182.7 181.9 180.5 178.6 176.3 173.5 170.4 167.1 163.7 160.2 156.8 153.5 150.4 147.6 145.2 143.0 141.3 140.0 139.2 138.8 138.8 138.8 138.7 138.7 138.7 138.6 138.6 138.6 138.5 138.4 138.4 138.4 138.4 138.4 138.4 138.4 138.4 138.4 138.4 138.4 138.4 138.4 136.2 134.7 133.6 132.6 131.8 131.2 130.8 130.2 129.9 130.4 130.9 131.3 131.2 131.4 131.8 132.4 132.7 133.0 133.4 134.1 134.9 135.2 136.0 136.8 137.1 137.3 137.3 137.4 137.6 137.8 138.0 138.2 138.3 138.6 139.1 139.7 140.4 140.8 140.9 140.8 140.7 140.8 140.8 140.6 140.4 139.9 139.7 139.7 139.6 139.4 139.2 139.2 139.4 139.8 140.2 140.7 141.4 142.0 142.5 143.0 143.0 142.1 139.8 136.6 134.5 134.1 139.8 149.1 164.4 175.2 185.6 194.9 199.7 204.8 210.2 215.3 220.3 225.1 228.5 231.3 233.5 235.5 237.1 237.9 238.7 237.7 234.0 225.1 216.8 210.8 207.7 206.3 206.5 208.3 209.6 209.6 209.7 209.7 209.4 210.0 211.0 212.4 212.6 212.3 211.5 210.7 209.9 208.9 208.3 207.9 208.2 208.7 209.3 209.6 209.4 209.1 209.1 209.1 209.1 208.9 208.9 208.9 208.7 208.3 207.8 207.5 206.5 205.0 201.8 195.1 186.5 179.2 174.9 173.5 176.3 180.3 184.9 188.4 190.8 193.1 198.2 203.4 208.2 210.7 212.3 212.8 212.0 211.1 210.3 210.0 209.7 209.3 208.9 208.4 207.8 205.6 201.5 196.3 188.6 182.7 178.0 178.6 181.2 185.3 193.0 200.0 206.6 209.9 211.4 211.5 209.1 207.1 205.3 202.7 200.7 199.1 197.4 196.0 194.6 193.2 191.6 189.8 187.0 184.4 182.2 182.2 182.5 183.1 183.5 184.3 185.5 185.8 186.2 186.8 186.6 186.2 185.7 185.4 184.8 183.8 182.0 178.9 173.9 166.5 159.7 154.6 151.2 149.2 148.7 151.1 154.2 157.1 161.0 166.2 172.8 178.1 182.0 184.1 184.1 183.5 183.1 182.9 182.8 182.5 182.2 182.0 181.8 181.8 181.7 181.9 182.0 182.2 182.4 182.6 182.7 182.8 183.2 183.7 184.3 185.2 185.9 186.3 186.6 186.8 186.8 186.7 186.5 186.2 186.0 185.7 185.6 185.4 185.2 184.8 184.8 185.1 185.4 185.6 185.6 185.2 183.7 181.5 178.6 175.5 172.7 171.6 171.0 171.0 172.2 174.1 176.5 178.7 180.3 181.7 183.8 186.1 188.3 189.4 191.0 193.0 195.6 197.5 199.0 201.0 203.2 205.4 207.1 208.2 209.0 209.8 210.6 211.3 210.4 209.7 209.0 209.3 209.3 209.1 208.8 208.6 208.3 206.5 204.5 202.3 196.8 189.6 180.0 175.4 171.4 168.6 166.9 166.1 166.7 168.2 171.5 177.7 181.4 186.4 193.5 197.8 203.2 210.1 216.8 223.5 230.3 232.9 234.1 233.4 233.1 233.1 233.1 232.9 232.9 233.2 232.9 232.4 231.9 231.7 231.5 231.3 230.9 230.7 230.7 230.8 231.0 231.2 231.4 231.6 231.7 231.9 232.0 232.1 232.4 232.8 233.3 233.6 233.8 233.8 233.6 233.4 233.3 233.1 233.1 233.0 232.9 232.8 232.8 232.7 232.5 232.3 232.3 232.3 232.3 232.3 232.3 232.2 232.1 232.0 232.2 232.3 232.4 232.1 231.9 231.9 232.0 232.5 228.5 228.8 229.8 231.2 233.1 235.2 237.7 240.2 242.7 245.1 247.2 248.9 250.2 251.0 250.9 250.5 249.7 248.5 247.2 246.1 245.3 245.0 245.2 245.7 246.6 247.8 249.1 250.8 252.8 254.9 257.1 259.4 261.8 264.1 266.4 268.4 270.2 271.8 273.1 274.2 274.7 274.9 280.1 281.6 282.7 283.2 284.0 284.5 284.5 284.2 283.8 283.3 281.8 280.4 279.1 278.4 277.2 275.1 274.4 274.0 273.8 273.7 273.6 273.4 273.3 273.2 273.3 273.5 273.8 274.2 274.7 275.1 275.4 275.5 275.9 276.8 277.9 278.7 278.8 278.6 278.3 278.0 277.8 277.6 277.5 275.0 275.0 275.0 275.1 275.1 275.1 275.1 275.1 275.1 275.1 275.2 275.3 275.3 275.3 275.4 275.4 275.4 275.5 275.6 275.6 275.6 275.6 275.7 275.7 275.7 275.7 275.7 275.7 275.8 275.9 275.9 275.9 275.9 275.9 275.7 275.7 275.7 275.7 275.7 275.6 275.6 275.4 275.4 275.3 275.3 275.2 275.1 275.1 275.1 275.0 275.0 275.0 277.1 276.9 276.9 276.9 277.0 277.1 277.2 277.3 277.4 277.5 277.6 277.7 277.7 277.9 278.2 278.6 278.4 278.1 277.8 277.6 277.5 277.5 277.4 277.3 277.2 277.1 277.0 276.9 276.7 276.6 276.5 276.5 276.8 277.5 278.1 278.5 278.6 278.4 278.2 278.0 277.9 277.9 278.1 278.5 278.7 278.6 278.5 278.4 278.3 278.2 278.1 278.0 277.9 277.3 276.0 273.5 269.0 262.1 257.1 253.7 251.8 253.1 255.1 256.9 257.6 258.3 259.3 260.5 261.7 262.5 262.9 263.4 264.1 265.1 266.1 266.9 267.4 267.9 268.8 270.0 271.3 272.5 273.1 273.6 274.7 275.3 275.7 276.3 277.7 279.8 283.0 284.5 285.3 285.4 285.1 284.5 283.8 283.3 282.7 281.7 280.7 279.7 278.4 277.8 277.4 276.8 276.5 276.6 276.8 276.9 277.1 277.3 277.5 277.7 277.8 277.8 277.9 278.2 278.5 278.8 278.8 278.7 278.6 278.5 278.3 278.1 277.9 277.8 277.6 277.4 277.2 277.0 276.9 276.9 276.9 276.9 276.9 276.9 277.0 277.0 277.0 277.1 277.2 277.2 277.3 277.4 277.5 277.6 277.7 277.7 277.8 277.9 278.0 278.0 278.0 278.1 278.1 278.1 278.1 278.3 278.7 279.3 279.3 279.2 279.1 279.0 278.9 278.6 278.6 278.5 278.3 278.3 278.3 278.3 276.7 275.2 272.6 267.4 259.4 250.1 239.8 229.5 219.7 210.8 203.5 198.1 194.6 192.9 193.1 194.3 196.4 199.2 202.9 207.5 212.7 218.5 224.9 231.7 238.7 245.8 252.7 259.4 265.5 270.9 274.9 278.4 280.9 282.4 282.4 281.5 280.2 278.3 276.6 275.3 274.5 274.6 276.3 279.8 284.8 290.2 295.5 299.7 302.4 309.2 309.6 310.7 311.9 313.4 313.9 314.3 314.7 314.8 314.5 314.0 313.6 312.9 308.6 308.6 308.6 308.6 308.6 308.6 308.6 308.6 308.6 308.6 308.6 308.6 308.6 308.6 308.6 308.6 308.6 308.6 307.6 304.5 299.3 292.5 284.3 275.2 265.7 256.5 247.8 239.9 233.2 228.2 224.8 222.9 222.8 224.6 228.2 233.8 240.7 248.4 256.2 263.8 270.4 274.8 276.9 277.5 277.5 277.5 277.5 277.5 277.5 277.5 277.5 277.3 277.3 277.3 277.3 277.2 277.2 277.2 277.0 277.0 277.0 277.0 276.9 276.9 276.7 276.7 276.7 276.6 276.5 276.5 276.4 276.4 275.0 274.7 273.8 272.7 271.5 270.6 270.1 270.4 271.4 273.3 276.1 279.7 283.7 288.0 292.5 296.8 300.9 304.1 306.5 308.0 308.6 308.6 308.7 308.8 308.8 308.8 308.8 308.9 309.0 309.1 309.2 309.3 309.3 309.5 309.6 309.7 309.8 309.9 310.1 310.1 310.2 310.3 310.4 310.4 310.4 310.6 310.6 310.6 310.6 310.6 310.5 310.3 310.2 310.2 310.3 310.4 310.5 310.7 311.0 311.1 311.2 311.3 311.3 311.3 311.3 311.4 311.5 311.5 311.6 311.7 311.9 312.0 312.1 312.2 312.3 312.4 312.4 312.4 312.3 312.2 312.1 311.9 311.7 311.5 311.4 311.3 311.3 311.3 311.3 311.3 311.2 311.1 311.1 311.1 310.9 310.9 310.9 310.8 310.8 310.7 310.6 310.6 310.6 310.6 310.5 310.4 310.4 310.4 310.5 310.6 310.8 311.0 311.3 311.4 311.5 311.5 311.5 311.5 311.5 311.5 311.4 311.3 311.3 311.3 311.3 311.3 311.3 311.1 311.1 311.1 311.0 310.9 310.9 310.9 310.8 310.8 310.8 310.8 310.7 310.6 310.6 310.6 310.6 310.6 310.5 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.1 309.7 310.0 310.2 310.5 310.7 311.0 311.3 311.5 311.5 311.5 311.5 311.6 311.7 311.7 311.8 311.8 311.8 311.9 312.0 312.2 312.2 312.2 312.3 312.4 312.4 312.5 312.6 312.6 312.7 312.7 312.7 312.7 312.7 312.7 312.6 312.5 312.4 312.3 312.1 312.0 311.9 311.8 311.7 311.7 311.6 311.5 311.5 311.5 311.5 311.5 311.5 311.5 311.6 311.7 311.7 311.7 311.7 311.8 311.8 311.9 312.0 312.0 312.1 312.2 312.2 312.3 312.4 312.5 312.6 312.6 312.6 312.6 312.7 312.7 312.8 312.9 312.9 312.9 311.1 311.1 311.5 312.0 312.4 313.0 313.7 314.4 315.0 315.7 316.0 316.4 316.6 316.4 316.2 315.7 315.1 314.2 313.1 311.7 310.2 308.6 306.8 305.4 303.6 301.9 300.7 299.3 298.3 297.6 297.1 297.4 298.1 299.1 300.5 301.9 303.8 305.8 307.7 310.1 312.2 314.6 316.6 318.8 320.8 322.3 323.8 324.9 325.7 326.0 326.0 325.7 324.8 323.6 322.5 320.5 318.6 316.7 314.3 311.8 309.9 307.4 305.1 303.3 301.3 299.9 298.6 297.6 296.8 296.6 296.6 296.8 297.6 298.5 299.9 301.6 303.3 305.4 307.7 309.9 312.4 314.9 316.9 319.2 321.2 322.8 324.3 325.5 326.2 326.6 326.6 326.2 325.5 324.3 322.7 321.2 319.0 316.7 314.6 312.2 309.5 307.4 305.1 302.8 301.2 299.4 297.9 297.1 296.3 296.0 296.0 296.5 297.2 298.1 299.6 301.1 303.1 305.1 307.6 310.1 312.2 314.7 317.3 319.3 321.4 323.4 324.7 325.9 326.8 327.2 327.2 326.6 325.8 324.7 323.0 321.4 319.2 316.7 314.6 312.0 309.7 307.2 305.1 302.8 300.7 299.1 297.7 296.6 295.9 295.5 295.5 295.9 296.6 297.8 299.1 301.0 303.0 305.1 307.6 310.1 312.4 315.1 317.7 319.7 322.0 323.7 325.3 326.4 327.3 327.7 327.7 327.3 326.4 325.3 323.7 321.5 319.7 317.3 314.6 312.2 309.5 306.8 304.7 302.4 300.2 298.6 297.2 296.0 295.4 294.9 295.0 295.4 296.0 297.2 298.8 300.4 302.5 304.9 307.2 309.9 312.6 314.9 317.7 320.2 322.1 324.2 325.8 327.0 327.8 328.3 328.3 327.8 326.8 325.7 323.9 322.2 319.9 317.7 314.9 312.2 309.7 307.0 304.4 302.3 300.1 298.1 296.9 295.6 294.9 294.5 294.5 294.9 295.7 296.9 298.5 300.2 302.4 304.9 307.2 310.0 312.4 315.3 317.7 320.2 322.7 324.5 326.2 327.5 328.3 328.9 328.9 328.5 327.5 326.0 324.5 322.4 320.1 317.7 314.9 312.0 309.5 306.8 304.0 301.9 299.6 297.9 296.2 295.2 294.4 294.0 294.0 294.4 295.2 296.2 298.0 300.0 301.9 304.5 307.2 309.7 312.7 315.7 318.0 320.6 323.2 324.9 326.8 328.1 329.1 329.4 329.4 328.9 328.1 326.7 324.0 321.5 318.8 316.0 314.0 311.8 310.1 309.0 308.0 307.6 307.4 307.7 308.4 309.2 310.2 312.5 310.2 309.7 309.7 309.8 310.0 310.1 310.2 310.3 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4", + "f0_timestep": "0.005" + } +] \ No newline at end of file diff --git a/samples/02_一半一半.ds b/samples/02_一半一半.ds new file mode 100644 index 0000000..2bf1f3d --- /dev/null +++ b/samples/02_一半一半.ds @@ -0,0 +1,698 @@ +[ + { + "offset": 32.503, + "text": "AP 时 SP", + "ph_seq": "AP sh ir SP", + "ph_dur": "0.3874 0.2126 0.69 0.4", + "ph_num": "2 1 1", + "note_seq": "rest D#4 rest", + "note_dur": "0.6 0.69 0.4", + "note_slur": "0 0 0", + "f0_seq": "336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 336.6 309.5 309.5 309.5 309.5 309.5 309.7 309.8 309.9 310.0 310.1 310.2 310.3 310.4 310.6 310.6 310.7 310.9 310.9 310.9 310.9 310.9 311.1 309.2 309.7 310.0 310.1 310.4 310.5 310.3 310.2 310.1 310.2 310.3 310.4 310.3 310.2 310.2 310.1 310.1 310.1 310.1 310.1 310.2 310.5 310.8 310.9 311.5 311.8 311.8 312.4 312.4 312.6 312.7 312.6 312.4 312.1 311.9 311.6 311.5 311.3 310.8 310.4 310.0 309.6 309.1 308.8 308.8 308.7 308.4 308.6 308.7 308.9 309.2 309.4 309.7 310.0 310.4 310.6 310.9 311.2 311.3 311.5 311.6 311.7 311.8 311.8 311.8 311.8 311.7 311.7 311.6 311.3 311.0 310.8 310.6 310.4 310.2 310.6 310.4 310.4 310.4 310.4 310.3 310.1 310.0 309.7 309.4 309.3 309.0 308.7 308.5 308.2 308.1 307.8 307.6 307.7 307.7 308.2 308.6 309.5 310.5 311.5 312.2 312.9 313.5 313.7 313.9 314.0 313.8 313.7 313.5 312.9 312.6 312.1 310.9 310.2 309.5 308.7 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3", + "f0_timestep": "0.005" + }, + { + "offset": 33.862, + "text": "AP 间 的 微 风 吹 过 缓 缓 拂 过 了 耳 畔 AP 你 的 容 颜 SP", + "ph_seq": "AP j ian d e w ei f eng ch ui g uo h uan h uan f u g uo l e er p an AP n i d e r ong y En SP", + "ph_dur": "0.156 0.12 0.127 0.045 0.128 0.045 0.112 0.06 0.0879 0.0851 0.284 0.06 0.255 0.09 0.113 0.06 0.0945 0.0775 0.285 0.06 0.112 0.06 0.32 0.1383 0.0597 0.948 0.213 0.045 0.128 0.045 0.127 0.045 0.148 0.025 0.689 0.069", + "ph_num": "2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 1", + "note_seq": "rest D4 D#4 D4 C4 A#3 A#3 A#3 C4 A#3 C4 A#3 G#3 G3 rest A#3 C4 D4 D#4 rest", + "note_dur": "0.276 0.172 0.173 0.172 0.173 0.344 0.345 0.173 0.172 0.345 0.172 0.345 0.173 0.948 0.258 0.173 0.172 0.173 0.689 0.069", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 317.1 296.8 296.7 296.5 296.2 295.9 295.6 295.2 294.7 294.3 293.9 293.6 293.3 293.2 293.2 292.8 292.5 293.0 293.8 294.1 295.3 296.5 297.6 298.0 297.9 297.4 296.6 295.7 294.4 292.6 291.3 289.5 288.0 288.0 288.5 289.6 295.4 304.9 308.9 310.8 311.8 311.8 311.9 312.4 312.7 313.0 313.5 313.7 313.6 313.1 312.4 311.3 310.4 309.8 309.0 308.3 307.7 306.8 305.4 303.9 302.6 301.2 299.4 297.9 297.8 297.8 297.5 297.3 297.1 296.8 296.5 296.0 295.7 295.3 295.0 294.7 294.4 294.2 294.0 294.0 294.0 294.0 294.0 294.1 294.2 294.2 294.3 294.3 294.5 293.2 290.3 286.0 280.6 274.7 269.9 266.0 264.0 263.3 263.1 263.1 263.0 262.9 262.7 262.6 262.4 262.2 262.1 261.9 261.9 261.9 261.9 261.8 261.6 261.5 261.2 261.0 260.7 260.5 260.4 260.3 260.1 259.2 257.7 255.3 252.4 248.9 245.4 242.2 239.2 236.6 235.0 234.3 234.2 234.3 234.5 234.8 235.2 235.7 236.2 236.7 237.2 237.6 237.9 238.1 238.2 238.0 237.6 237.0 236.2 235.4 234.6 234.0 233.8 233.7 233.0 232.5 232.3 232.3 232.4 232.9 233.1 233.5 233.8 233.9 233.9 234.0 234.1 234.0 233.8 233.6 233.5 233.4 233.3 233.1 232.9 232.7 232.9 233.0 233.4 233.6 233.9 234.1 234.3 234.4 234.5 234.6 234.4 233.7 232.7 231.5 230.8 231.7 234.4 238.5 240.0 241.5 243.0 244.5 246.0 247.5 249.0 250.6 252.1 253.7 255.3 256.8 258.4 260.0 261.6 263.2 264.9 266.5 253.9 247.6 244.2 242.3 240.6 238.8 237.2 236.1 235.0 233.9 233.3 233.0 232.7 232.3 232.4 232.4 232.5 232.7 232.9 232.9 232.9 232.9 233.1 233.2 233.2 233.0 232.9 232.5 232.4 232.4 232.4 232.6 232.8 233.0 233.4 233.9 234.3 234.6 234.8 234.5 234.0 233.1 231.9 230.4 228.3 226.3 224.8 222.8 219.7 218.4 219.4 221.7 224.0 226.3 228.6 230.9 233.3 235.7 238.1 240.6 243.0 245.5 248.0 250.6 253.1 255.7 258.4 261.0 253.9 246.2 243.9 242.2 240.1 238.7 237.9 236.7 235.2 234.3 233.7 233.3 232.5 232.0 231.4 230.8 230.1 229.5 228.8 228.1 227.5 227.0 226.9 227.2 226.4 226.1 217.4 234.8 235.1 235.7 236.5 237.3 238.0 238.8 241.3 247.9 256.2 261.3 263.2 263.1 263.1 263.0 263.0 262.9 262.8 262.6 262.5 262.4 262.4 262.4 261.9 260.5 258.1 254.6 250.0 245.8 242.0 238.7 236.2 234.8 247.2 247.6 247.9 248.2 248.6 248.9 249.2 249.6 249.9 250.3 249.9 246.7 244.0 241.9 240.5 238.5 237.5 236.0 234.8 234.1 233.6 232.8 232.2 231.9 231.7 231.6 231.6 231.6 231.7 231.9 232.1 232.5 232.7 232.9 233.0 233.2 233.1 232.8 232.7 232.7 232.7 232.9 233.0 233.2 233.4 233.6 233.9 234.1 234.0 233.7 233.4 232.5 231.6 230.9 230.3 229.7 228.4 226.7 224.8 222.8 221.8 221.8 223.0 226.0 229.5 233.0 236.6 240.3 244.0 247.8 251.6 262.8 262.8 262.9 263.0 263.1 263.1 263.2 263.4 263.5 263.6 263.7 263.8 263.9 263.9 264.0 263.8 263.5 262.8 262.0 261.0 259.8 258.6 257.6 256.7 256.0 255.6 255.4 254.5 253.3 251.8 250.2 249.5 249.6 249.0 248.1 245.8 242.7 240.1 238.3 237.5 237.4 237.4 237.3 237.1 237.0 236.8 236.6 236.3 236.1 235.8 235.6 235.4 235.1 234.9 234.8 234.7 234.6 234.6 234.5 234.4 234.1 233.9 233.6 233.2 232.8 232.4 232.2 232.0 231.9 231.9 231.9 232.0 232.1 232.4 232.5 232.7 232.9 232.9 233.0 232.8 232.1 230.7 228.8 226.8 224.4 221.9 219.0 216.5 214.4 212.5 210.9 209.6 209.0 209.0 209.0 209.3 209.8 210.3 210.8 211.3 211.8 212.1 212.3 212.2 212.0 211.7 211.3 210.9 210.4 209.9 209.5 209.1 208.7 208.4 208.3 208.3 208.1 207.5 206.7 205.7 204.5 203.1 201.7 199.9 198.4 197.1 195.8 194.6 193.7 193.2 192.9 193.0 197.0 198.0 199.0 200.0 201.0 202.0 203.0 204.0 205.0 206.1 207.1 208.1 209.2 210.2 210.8 209.7 208.4 206.2 203.6 201.6 199.8 198.8 198.2 197.2 196.7 196.3 195.9 195.8 195.6 195.6 195.7 195.8 195.9 195.9 195.5 195.3 195.1 194.6 194.6 194.6 194.4 194.4 194.4 194.5 194.6 194.9 195.3 195.5 195.8 196.1 196.3 196.6 196.8 197.1 197.2 197.2 197.4 197.4 197.4 197.4 197.4 197.4 197.3 197.1 197.0 196.9 196.7 196.7 196.5 196.2 196.0 195.5 195.3 195.2 194.9 194.8 194.8 194.9 195.5 195.6 195.9 196.1 196.4 196.7 197.1 197.5 198.1 198.3 198.5 198.7 198.7 198.8 198.8 198.7 198.7 198.5 198.3 198.0 197.2 197.0 196.5 196.1 195.7 195.4 194.8 194.3 193.8 193.2 192.9 192.8 192.9 193.2 193.4 193.7 194.1 194.5 195.5 196.1 196.7 197.6 198.2 198.7 199.3 199.8 200.3 200.6 200.6 200.5 200.2 200.0 199.7 199.2 198.9 198.5 198.0 197.5 196.9 196.1 195.4 194.9 194.5 194.2 193.8 193.4 193.1 192.9 192.7 192.8 193.1 193.5 194.2 194.7 195.3 196.0 196.5 197.1 197.7 198.4 198.9 199.5 200.0 200.4 200.5 200.6 200.5 200.2 200.0 199.8 199.5 199.1 198.6 198.0 197.5 197.0 196.5 196.1 195.9 195.7 195.4 195.3 194.9 194.7 194.5 194.6 194.8 195.6 197.0 197.8 198.2 198.7 199.3 199.6 199.8 199.4 199.0 197.7 196.5 194.6 192.5 191.0 190.2 189.7 189.5 189.4 189.7 191.3 192.8 194.4 196.0 197.6 199.2 200.8 202.4 204.1 205.7 207.4 209.1 210.8 212.5 214.2 216.0 217.7 219.5 221.3 223.1 224.9 226.7 228.6 230.4 232.3 234.2 236.1 238.0 240.0 241.9 243.9 245.9 247.9 249.9 251.9 230.3 230.3 230.3 230.3 230.3 230.3 230.2 230.1 230.1 230.1 230.0 230.0 230.0 230.0 230.0 230.0 230.0 230.2 230.6 231.0 231.5 232.1 232.5 232.8 232.9 233.1 233.1 233.1 233.1 233.2 233.2 233.2 233.3 233.1 232.2 230.4 227.9 224.5 221.6 219.2 217.5 216.6 214.5 215.1 221.2 227.5 234.0 240.7 247.5 254.5 261.8 260.6 261.3 261.2 261.4 261.6 261.3 260.5 259.4 258.3 257.2 256.4 255.5 254.3 253.7 253.7 255.1 256.9 259.8 262.2 264.3 265.7 269.4 273.3 276.9 280.1 282.4 284.2 285.6 287.1 287.9 288.5 288.7 289.1 289.3 290.0 290.4 291.1 291.7 292.3 293.0 293.6 294.0 294.4 294.7 295.0 295.1 295.4 295.4 295.7 295.6 295.0 294.5 293.7 293.2 293.1 293.5 294.4 295.8 297.2 298.9 300.3 301.9 304.0 305.4 306.8 308.8 310.1 311.1 312.2 313.3 314.1 314.8 315.6 315.9 316.0 316.0 315.7 315.4 314.9 314.4 313.8 313.1 312.5 312.1 311.6 311.2 310.9 310.3 309.7 309.2 308.7 308.4 308.3 308.5 308.6 308.9 309.2 309.6 310.1 310.3 310.8 311.1 311.5 311.8 312.2 312.5 312.6 312.6 312.8 313.1 313.3 313.5 313.5 313.1 312.8 312.6 312.4 311.8 311.2 310.7 310.3 310.3 310.4 310.4 310.2 310.2 310.1 310.2 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.5 310.7 310.9 311.2 311.3 311.3 311.1 310.8 310.3 310.1 309.6 309.3 309.0 308.9 308.8 308.8 308.8 308.9 309.1 309.5 309.8 310.0 310.4 310.9 311.5 311.9 312.4 312.7 312.9 312.8 312.9 312.8 312.7 312.7 312.6 312.4 312.5 312.4 312.5 312.4 312.4 312.4 312.2 311.9 311.6 311.1 310.6 310.1 309.7 309.3 309.2 309.2 309.4 310.1 311.3 312.0 313.4 314.0 314.3 314.1 312.9 311.4 309.4 307.3 305.3 304.2 304.0 303.9 302.2 300.1 297.2 290.9 287.8 287.8 287.8 287.8 287.8 287.8 287.8 287.8 287.8 287.8 287.8 287.8", + "f0_timestep": "0.005" + }, + { + "offset": 39.379, + "text": "AP 一 直 悄 悄 改 变 离 去 太 久 才 发 觉 AP 回 忆 里 面 SP", + "ph_seq": "AP y i zh ir q iao q iao g ai b ian l i q v t ai j iu c ai f a j ve AP h ui y i l i m ian SP", + "ph_dur": "0.231 0.045 0.113 0.06 0.0837 0.0883 0.0778 0.0942 0.128 0.045 0.0989 0.0731 0.427 0.09 0.0839 0.0891 0.1042 0.0678 0.285 0.06 0.0821 0.0909 0.427 0.09 0.1026 0.0694 0.776 0.184 0.075 0.127 0.045 0.113 0.06 0.1009 0.0711 0.69 0.069", + "ph_num": "2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1", + "note_seq": "rest D4 D#4 G4 D#4 D#4 D#4 D#4 F4 D#4 A#3 D#4 D4 D#4 rest A#3 C4 D4 D#4 rest", + "note_dur": "0.276 0.173 0.172 0.172 0.173 0.172 0.517 0.173 0.172 0.345 0.173 0.517 0.172 0.776 0.259 0.172 0.173 0.172 0.69 0.069", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "295.5 295.5 295.5 295.5 295.5 295.5 295.5 295.5 295.5 295.5 295.5 295.5 295.5 295.5 295.5 295.5 295.5 295.5 295.5 295.5 295.5 295.5 295.5 295.5 295.5 295.5 295.5 295.5 295.5 295.5 295.5 295.5 295.5 295.5 295.5 295.5 295.5 295.5 295.5 295.5 295.5 295.5 295.5 295.5 295.5 295.5 295.5 295.5 295.5 295.5 292.8 291.4 292.0 292.3 292.3 293.1 293.8 294.3 295.3 296.0 296.6 298.1 298.5 299.6 299.8 299.2 298.3 297.2 295.4 293.7 292.6 290.9 288.1 285.2 283.8 280.6 283.3 285.9 288.6 291.2 293.9 296.6 299.3 302.1 304.8 307.6 310.5 313.3 316.2 319.1 316.4 316.3 316.0 315.7 315.4 315.0 314.7 314.4 314.1 314.0 314.0 313.7 312.9 311.8 310.3 308.4 306.7 304.9 303.1 301.3 300.0 299.0 298.4 298.9 302.9 310.2 321.3 333.6 346.8 356.7 362.3 363.7 364.7 366.5 369.1 373.0 376.8 380.8 384.7 388.7 392.1 394.3 395.9 396.2 395.9 395.5 394.7 394.2 393.9 393.1 390.7 385.3 379.1 371.5 364.1 356.5 350.8 347.4 324.7 325.0 325.2 325.4 325.7 325.9 326.2 326.4 326.6 326.9 327.1 321.5 318.0 315.7 314.0 312.7 311.8 311.2 310.6 310.3 310.0 309.8 309.7 309.9 310.0 310.1 309.8 309.1 307.5 305.8 304.6 303.5 303.8 307.8 309.2 303.9 298.8 296.7 301.6 291.7 289.1 315.4 315.2 314.9 314.6 314.1 313.7 313.1 312.7 312.5 312.4 312.3 312.2 312.2 312.2 312.0 312.0 311.9 311.8 311.8 311.8 311.8 311.8 311.8 311.9 312.1 312.2 312.2 312.2 311.1 308.1 304.4 299.7 295.4 292.2 290.2 313.4 317.6 322.0 326.4 326.2 321.5 320.8 320.6 319.9 319.5 318.8 318.0 316.9 316.0 315.0 313.9 313.1 312.3 311.7 310.9 310.1 309.7 309.3 309.2 309.3 309.3 309.3 309.5 309.7 309.8 310.1 310.2 310.2 310.3 310.7 311.0 311.3 311.6 311.8 311.9 312.3 312.6 312.6 312.7 312.7 312.9 313.1 313.2 313.3 313.3 313.1 312.8 312.6 312.3 312.1 312.0 311.8 311.7 311.7 311.7 311.7 311.7 311.5 311.6 311.7 311.7 311.7 311.8 311.8 311.8 311.8 311.8 311.8 311.8 311.8 311.8 312.0 312.0 312.0 312.0 312.0 312.0 311.9 311.8 311.8 311.5 311.1 310.6 310.1 312.6 312.4 312.2 312.1 311.8 311.5 311.2 310.9 310.6 310.3 310.1 310.1 310.1 310.1 310.4 310.9 311.7 312.5 313.2 313.8 314.4 314.9 315.1 313.1 313.4 313.7 314.0 314.5 315.2 315.7 316.1 316.6 316.9 317.0 315.8 312.2 307.2 301.7 296.9 294.0 294.3 295.5 297.9 301.0 304.9 309.5 315.5 321.0 326.6 332.0 337.3 342.3 345.8 348.3 349.6 350.2 350.0 349.8 349.4 348.9 348.6 348.1 347.5 347.1 346.7 346.4 346.4 348.3 347.4 345.6 343.5 340.9 337.8 333.9 330.4 327.1 323.9 320.9 318.2 316.4 315.2 314.7 312.4 311.8 311.1 310.5 309.9 309.3 308.7 309.2 309.2 309.3 311.0 312.1 312.4 312.5 312.0 311.4 310.9 310.6 310.2 310.1 309.9 309.8 309.6 309.4 309.3 309.4 309.6 309.8 310.1 310.1 310.0 309.9 309.9 309.9 309.9 309.7 309.9 310.5 311.1 311.7 312.2 312.4 312.3 312.0 311.1 309.7 307.9 306.0 303.0 300.5 297.4 294.2 288.0 282.1 277.4 274.8 273.7 271.9 269.9 267.8 265.7 263.7 261.7 259.7 257.7 255.7 253.7 251.8 249.9 247.9 246.0 244.2 242.3 240.8 240.2 238.8 237.2 235.2 233.6 232.1 231.4 231.2 231.3 231.6 232.1 232.7 233.2 233.6 233.9 234.1 233.7 232.5 230.7 228.1 224.8 221.9 219.2 216.8 214.9 214.0 280.6 283.2 285.8 288.4 291.1 293.8 296.5 299.2 303.8 310.1 311.5 314.5 314.9 315.8 315.9 315.5 314.9 314.3 313.7 313.4 312.8 312.1 311.4 310.5 309.8 309.2 308.6 308.4 308.3 308.3 308.6 309.1 309.6 310.3 310.6 310.9 311.0 311.3 311.6 311.8 312.1 312.3 312.4 312.4 312.2 312.4 312.5 312.7 312.9 312.8 312.9 312.7 312.5 312.3 312.1 312.1 312.2 312.2 312.0 312.2 312.2 312.0 312.2 312.1 311.7 311.7 311.5 311.5 311.5 311.4 311.4 311.5 311.5 311.8 312.3 312.8 313.1 313.6 313.5 313.3 312.9 312.1 311.2 310.2 308.7 306.2 302.9 299.7 296.0 291.5 287.4 283.8 285.3 286.7 288.1 289.6 291.1 292.5 294.0 295.5 297.0 298.5 300.0 301.5 305.0 304.7 304.3 303.7 303.1 302.3 301.5 300.8 300.2 299.6 299.0 298.8 298.8 298.7 298.5 298.1 297.8 297.4 297.0 296.5 296.2 295.9 295.9 295.7 294.9 293.5 290.8 288.0 285.0 281.9 278.8 276.0 274.1 272.7 272.3 297.0 300.7 304.5 308.4 312.2 316.2 320.2 324.2 325.2 320.8 316.8 316.2 315.4 314.9 314.3 313.8 313.5 313.1 312.7 312.4 311.7 311.1 310.5 309.9 309.1 308.2 307.4 306.6 306.0 305.7 305.1 304.7 304.3 304.0 303.9 303.8 304.0 304.4 305.1 305.6 306.3 307.1 308.1 309.2 310.2 311.2 312.1 312.6 312.9 313.2 313.8 313.8 313.8 313.7 313.2 312.9 312.4 311.8 311.1 310.5 309.9 309.2 308.5 307.7 306.8 305.8 304.9 304.3 303.8 303.4 303.4 303.6 303.8 304.1 304.6 305.1 305.6 306.2 306.8 307.4 308.4 309.2 309.8 310.6 311.2 311.7 312.4 312.9 312.8 312.7 312.7 312.4 312.1 311.9 311.4 311.0 310.6 310.1 309.5 309.1 308.4 307.7 307.0 306.5 306.1 305.7 305.3 305.1 304.9 304.7 304.5 304.6 304.9 305.3 305.6 306.0 306.7 307.3 308.0 308.6 309.2 309.8 310.2 310.7 311.3 311.8 312.3 312.6 313.0 313.1 313.3 312.9 312.8 312.6 312.4 312.1 311.9 311.6 311.1 310.5 309.8 309.2 308.3 307.6 306.8 306.1 305.3 304.5 304.0 303.4 303.1 303.3 303.6 303.8 303.3 301.7 298.6 293.9 288.9 284.0 280.7 280.4 280.1 279.7 279.4 279.0 278.7 278.4 278.0 277.7 277.4 277.0 276.7 276.4 276.1 275.7 275.4 275.1 274.7 274.4 274.1 273.7 273.4 273.1 272.8 272.4 272.1 271.8 271.5 271.1 270.8 270.5 270.2 269.8 269.5 269.2 268.9 268.5 268.2 267.9 267.6 267.3 266.9 266.6 266.3 266.0 265.7 265.3 265.0 264.7 264.4 264.1 263.7 263.4 263.1 254.1 244.0 239.5 237.0 234.5 231.8 230.4 229.6 228.9 229.0 229.2 229.4 229.7 230.3 231.0 231.5 231.8 232.1 232.3 232.7 233.3 233.9 234.6 235.2 236.8 237.8 239.9 242.4 244.4 246.5 248.6 250.9 252.7 254.3 255.9 257.4 258.7 260.3 261.3 262.0 262.6 263.0 263.3 263.6 263.6 263.5 263.4 263.2 263.2 263.2 263.0 263.1 263.2 263.3 263.5 263.8 263.9 264.6 265.3 265.9 266.7 267.9 269.6 271.5 274.9 277.7 280.1 282.4 284.9 287.4 288.7 290.7 291.8 292.5 293.7 294.1 294.7 295.0 295.0 295.0 294.9 294.9 294.7 294.6 294.7 294.5 294.0 293.3 292.8 293.0 293.0 293.4 293.8 294.4 295.2 296.2 297.5 298.6 299.8 301.1 302.6 304.1 305.4 306.5 307.7 309.2 310.1 310.8 311.4 311.9 312.3 312.4 312.2 312.2 312.2 312.2 312.1 312.0 312.0 311.8 311.8 311.7 311.7 311.6 311.5 311.5 311.5 311.5 311.5 311.5 311.5 311.5 311.7 311.8 312.0 312.2 312.3 312.5 312.7 313.0 313.1 313.1 313.3 313.3 313.4 313.4 313.3 313.3 313.3 313.3 313.3 313.3 313.1 313.1 313.1 313.0 312.9 312.9 312.9 312.9 312.9 312.9 312.9 312.9 312.9 313.0 313.2 313.4 313.5 313.7 314.0 314.0 314.1 314.2 314.4 314.2 314.2 314.2 314.1 314.0 313.8 313.7 313.5 313.3 313.2 313.1 313.0 312.9 312.9 312.9 312.8 312.7 312.7 312.7 312.7 312.6 312.6 312.4 312.4 312.4 312.4 312.4 313.3 313.1 313.0 312.7 312.6 312.4 312.3 312.1 311.9 311.7 311.4 311.2 311.1 310.9 310.9 310.9 310.9 311.5 312.4 313.1 314.1 315.2 316.1 316.6 316.8 316.7 316.2 315.6 314.9 314.1 313.3 312.6 311.8 310.4 310.3 310.7 310.9 309.4 306.4 305.1 305.1 305.1 305.1 305.1 305.1 305.1 305.1 305.1 305.1 305.1 305.1 305.1 305.1", + "f0_timestep": "0.005" + }, + { + "offset": 44.897, + "text": "AP 多 少 片 段 还 能 一 一 浮 现 在 脑 海 SP", + "ph_seq": "AP d uo sh ao p ian d uan h ai n eng y i y i f u x ian z ai n ao h ai SP", + "ph_dur": "0.215 0.06 0.113 0.06 0.0976 0.0744 0.1214 0.0516 0.1084 0.0636 0.255 0.09 0.3 0.045 0.127 0.045 0.0847 0.0883 0.224 0.12 0.1111 0.0619 0.27 0.075 0.0924 0.0796 0.69 0.068", + "ph_num": "2 2 2 2 2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest D4 D#4 D4 C4 A#3 A#3 A#3 C4 A#3 D#4 F4 G#4 G4 rest", + "note_dur": "0.275 0.173 0.172 0.173 0.172 0.345 0.345 0.172 0.173 0.344 0.173 0.345 0.172 0.69 0.068", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 301.2 298.1 295.8 294.3 293.4 292.9 292.6 292.5 292.5 292.9 292.9 292.3 291.6 288.3 286.8 283.6 282.0 281.7 285.3 288.8 291.7 294.5 297.5 300.4 303.4 306.3 309.4 312.4 315.5 318.6 321.8 313.0 312.8 312.5 312.1 311.8 311.4 311.1 310.7 310.6 310.5 310.4 310.2 309.9 309.4 309.2 309.0 309.0 308.1 306.3 303.4 299.5 295.1 291.1 287.5 284.6 282.3 281.6 290.4 292.7 295.0 297.3 299.7 302.0 304.4 306.8 309.2 311.7 314.1 313.0 310.3 308.1 305.9 303.3 301.2 299.5 297.6 296.7 296.2 295.6 295.1 295.0 294.9 295.0 294.7 294.1 293.4 292.9 292.5 291.8 290.0 287.4 284.4 280.7 277.5 272.4 269.4 265.9 261.8 259.1 259.4 267.0 272.7 270.6 268.1 266.7 264.8 264.0 263.1 261.8 261.0 259.9 258.9 257.2 255.2 252.9 250.7 248.4 246.0 243.7 241.8 237.1 229.9 230.1 230.3 230.5 230.6 230.8 231.0 231.2 231.4 231.6 231.7 231.9 232.1 232.3 232.5 232.7 233.2 235.0 235.2 235.0 234.9 234.2 233.0 232.5 232.0 231.6 231.4 231.3 231.2 231.2 231.5 231.8 232.3 232.6 232.9 233.3 233.5 233.6 233.6 233.5 233.5 233.3 233.3 233.4 233.5 233.4 233.4 233.4 233.3 233.5 233.8 233.9 234.0 234.4 234.6 234.6 234.8 235.2 235.3 235.4 235.2 234.8 234.3 233.8 233.2 232.7 232.2 231.2 230.8 230.5 230.5 231.0 231.1 230.6 230.4 230.8 231.4 232.2 233.0 233.6 234.5 235.1 235.8 238.1 240.5 240.4 240.0 238.5 237.5 237.2 237.1 236.9 236.5 236.1 235.7 235.0 234.5 234.2 233.5 232.9 232.3 232.1 231.7 231.5 231.6 231.7 232.0 232.2 232.4 232.5 232.6 232.8 233.5 233.9 234.3 234.6 234.7 234.4 234.4 234.4 234.5 234.6 234.4 234.2 233.8 233.4 233.1 233.1 233.0 232.9 232.5 232.3 232.0 231.9 231.7 231.8 231.7 231.2 230.7 229.8 228.9 228.1 227.3 226.2 225.3 225.0 225.1 224.9 225.3 226.1 227.4 228.5 229.3 230.1 231.1 231.8 232.4 233.0 233.3 233.5 233.5 233.6 233.3 232.9 232.7 232.8 232.7 232.6 235.6 235.5 235.4 235.3 235.1 234.8 234.6 234.4 234.2 233.8 233.5 233.3 233.1 232.9 232.8 232.7 232.7 233.2 235.1 237.9 241.2 245.0 249.2 253.7 257.3 259.9 261.5 260.7 260.7 260.7 260.8 261.0 261.2 261.4 261.5 261.8 262.1 262.2 262.3 262.5 262.6 262.7 262.7 262.5 261.4 259.5 256.3 253.2 249.8 246.3 242.8 239.8 237.8 236.5 236.1 236.1 236.1 236.1 236.1 236.1 236.1 236.1 236.1 236.1 236.1 236.1 236.1 236.0 235.9 235.7 235.5 235.2 234.7 234.2 233.8 233.4 233.0 232.5 232.1 231.8 231.7 231.5 232.7 232.6 232.5 232.4 232.4 232.3 232.5 232.7 233.2 233.8 233.9 233.9 233.4 232.9 232.5 231.8 230.9 229.7 227.7 225.1 222.9 220.9 219.5 224.2 228.6 233.0 237.6 242.2 247.0 251.8 256.7 261.7 266.8 272.1 277.4 282.8 288.3 294.0 299.7 305.6 311.5 315.5 311.3 311.3 311.4 311.2 311.2 311.5 311.7 311.7 311.6 311.0 309.7 308.1 306.8 304.9 302.8 301.2 299.5 297.2 293.9 291.7 288.4 283.7 287.1 292.8 298.6 304.5 310.6 316.7 323.0 329.4 335.9 342.5 349.3 356.2 363.3 362.3 360.3 359.1 358.0 356.9 355.7 354.7 353.7 352.6 351.5 350.8 349.8 348.5 347.6 346.8 346.3 346.1 346.1 346.5 347.1 347.8 348.3 348.7 348.9 349.1 349.2 349.2 349.4 349.2 349.2 349.4 349.4 349.6 349.5 349.4 349.6 349.7 349.9 350.0 350.0 350.0 350.1 350.3 350.4 350.2 350.1 349.6 349.1 348.6 347.8 346.9 346.2 345.6 345.2 344.9 344.7 344.2 344.5 347.1 351.9 357.0 361.3 366.8 372.1 380.0 387.4 398.5 407.8 411.3 412.9 414.1 414.8 415.7 416.6 417.2 417.5 417.5 417.5 416.9 416.0 414.8 413.5 411.3 409.0 406.8 404.4 401.7 397.7 393.5 388.4 383.1 383.7 383.9 384.4 385.2 386.2 387.3 388.2 389.3 390.3 391.2 392.0 392.5 392.7 392.8 392.7 392.7 392.7 392.7 392.7 392.7 392.6 392.4 392.4 392.4 392.2 392.2 392.2 392.1 392.0 392.0 392.0 392.0 391.8 391.8 391.8 391.8 391.8 391.8 391.8 391.8 391.8 391.8 392.1 392.4 392.8 393.1 393.5 393.9 394.3 394.7 395.1 395.5 395.8 395.9 396.0 396.0 395.9 395.9 395.9 395.6 395.6 395.5 395.3 395.2 395.1 394.9 394.7 394.5 394.5 394.3 394.3 394.3 394.3 394.3 394.3 394.4 394.6 394.9 395.3 395.6 396.1 396.5 396.7 397.0 397.2 397.3 397.4 397.2 397.0 396.8 396.4 396.1 395.8 395.4 395.1 395.0 395.0 395.0 395.0 395.0 395.0 395.0 395.0 395.0 395.0 395.0 395.0 395.0 395.0 395.0 394.8 394.7 394.7 394.7 394.5 394.3 394.1 393.9 393.8 393.7 393.5 393.3 393.1 392.9 392.9 392.9 392.9 392.9 393.0 393.4 394.0 394.6 395.3 395.9 396.3 396.6 396.7 396.4 395.9 395.2 394.4 393.4 392.5 391.8 391.1 390.6 390.4 390.3 390.2 390.2 390.2 390.0 390.0 389.8 389.7 389.7 389.7 389.7 389.7 389.7 389.7 389.7 389.7", + "f0_timestep": "0.005" + }, + { + "offset": 48.69, + "text": "AP 想 要 再 重 来 SP", + "ph_seq": "AP x iang y ao z ai ch ong l ai SP", + "ph_dur": "0.126 0.15 0.127 0.045 0.1184 0.0536 0.093 0.08 0.112 0.06 0.345 0.069", + "ph_num": "2 2 2 2 2 1 1", + "note_seq": "rest G4 G#4 G4 F4 D#4 rest", + "note_dur": "0.276 0.172 0.172 0.173 0.172 0.345 0.069", + "note_slur": "0 0 0 0 0 0 0", + "f0_seq": "416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 416.7 393.7 393.6 393.6 393.6 393.6 393.4 393.4 393.4 393.2 393.1 393.1 393.1 393.1 393.1 389.4 389.1 389.2 389.7 390.5 391.1 392.4 393.4 394.5 395.4 396.2 397.4 398.8 400.0 401.4 402.8 403.9 405.0 405.8 406.8 407.9 409.1 411.0 412.2 413.4 414.6 416.1 417.0 417.5 417.7 417.4 416.9 416.3 415.5 414.4 413.4 412.2 409.2 407.0 404.3 400.7 396.5 392.9 389.7 386.7 384.2 386.0 389.7 391.8 393.9 398.2 397.8 397.4 396.6 395.5 394.6 393.7 393.1 392.4 392.4 392.4 393.0 393.6 394.3 394.9 395.3 395.2 394.8 394.3 393.6 393.0 392.5 392.3 391.8 390.6 388.9 386.4 383.5 380.3 376.9 373.4 368.9 365.6 362.4 359.4 356.5 354.2 352.7 351.7 351.3 351.0 350.5 350.0 349.5 349.1 349.0 349.0 348.8 348.8 348.7 348.5 348.2 347.9 347.8 347.6 347.4 347.2 347.2 347.0 346.5 345.5 344.0 341.8 339.5 337.0 334.4 331.5 328.4 325.7 323.2 320.9 318.5 316.8 315.6 314.7 314.4 314.4 314.4 314.4 314.4 314.6 314.6 314.6 314.7 314.7 314.7 314.8 314.9 314.7 314.6 314.4 314.1 313.7 313.4 313.0 312.5 312.2 312.1 311.9 311.8 311.8 311.7 311.7 311.7 311.7 311.7 311.5 311.5 311.5 311.5 311.5 311.5 311.3 311.3 311.3 311.2 311.1 311.1 310.9 310.9 310.9 310.9 311.0 311.1 311.3 311.4 311.7 312.0 312.3 312.4 312.6 312.7 312.9 312.8 312.7 312.7 312.7 312.6 312.6 312.4 312.2 312.1 312.0 312.0 311.8 311.8 311.8 311.8 316.7 316.7 316.7 316.7 316.7 316.7 316.7 316.7 316.7 316.7 316.7 316.7", + "f0_timestep": "0.005" + }, + { + "offset": 50.069, + "text": "AP 回 到 年 少 的 姿 态 AP 你 的 白 发 也 不 再 SP", + "ph_seq": "AP h ui d ao n ian sh ao d e z i0 t ai AP n i d e b ai f a y E b u z ai SP", + "ph_dur": "0.201 0.075 0.1154 0.0566 0.1116 0.0614 0.0981 0.0739 0.127 0.045 0.0961 0.0769 0.2103 0.1347 0.345 0.127 0.045 0.127 0.045 0.0945 0.0785 0.225 0.12 0.1127 0.0593 0.457 0.06 0.0853 0.0877 0.517 0.069", + "ph_num": "2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 1", + "note_seq": "rest G4 G#4 G4 F4 A#4 D#4 D#4 rest A#3 C4 D#4 G4 F4 G4 D#4 rest", + "note_dur": "0.276 0.172 0.173 0.172 0.172 0.173 0.345 0.345 0.172 0.172 0.173 0.345 0.172 0.517 0.173 0.517 0.069", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 404.6 401.6 397.9 395.5 393.1 390.1 387.9 386.8 386.9 387.3 388.4 389.5 390.9 392.0 393.1 394.3 394.8 395.1 395.1 394.7 393.3 391.8 389.6 386.8 383.4 379.5 374.4 362.6 372.5 415.8 415.8 415.8 415.8 415.8 415.8 415.8 415.8 415.8 415.8 415.8 415.8 415.8 415.8 415.8 415.8 417.1 416.2 415.4 414.7 414.1 413.6 413.2 412.8 412.3 411.8 411.2 410.1 409.1 407.7 406.5 405.1 404.1 402.6 399.7 397.9 398.5 398.6 399.5 400.4 398.7 396.0 394.4 393.7 393.4 393.2 392.7 392.3 391.9 391.3 390.3 389.0 387.3 384.7 381.5 378.1 373.9 368.5 363.9 363.9 363.9 363.9 363.9 363.9 363.9 363.9 364.0 364.0 364.0 364.0 364.0 364.0 364.0 364.0 364.1 359.0 355.5 353.5 351.8 350.4 350.1 349.6 349.3 349.0 348.6 348.3 348.2 348.2 348.2 347.9 347.4 345.6 343.8 341.5 339.3 337.7 333.2 335.9 337.4 330.6 332.5 345.7 350.5 355.5 375.5 396.6 418.9 442.4 467.2 464.3 464.3 463.9 465.0 466.2 467.7 468.6 469.0 469.7 470.6 469.8 462.4 455.2 448.1 441.0 434.1 427.3 420.6 414.0 407.5 401.1 394.8 388.6 382.5 376.5 370.6 364.8 359.1 353.4 347.9 342.4 337.1 331.8 326.6 321.4 317.5 312.6 310.5 310.6 310.4 310.4 310.6 310.5 310.3 310.1 309.3 309.2 309.0 308.8 308.6 308.5 308.3 308.5 308.5 308.4 308.6 309.1 309.5 310.0 310.5 310.9 311.4 311.7 312.0 312.0 312.2 312.4 312.1 311.7 311.1 310.2 309.3 308.4 307.4 306.0 302.7 298.3 299.2 300.1 301.0 301.9 302.9 303.8 304.7 305.6 306.6 307.5 308.4 309.4 310.3 311.3 312.2 313.1 314.1 315.1 311.8 311.8 311.8 311.8 311.9 312.1 312.2 312.2 312.4 312.5 312.6 312.7 312.7 312.7 312.8 312.8 312.7 312.7 312.4 312.2 311.9 311.6 311.3 310.9 310.5 310.2 309.9 309.7 309.4 309.3 309.3 309.3 309.3 309.4 309.5 309.8 310.0 310.3 310.6 310.8 311.0 311.3 311.5 311.6 311.7 311.8 311.8 311.8 311.8 311.8 311.8 311.8 311.8 311.8 311.8 311.8 311.8 311.8 311.8 311.8 311.8 311.8 311.8 312.0 312.0 312.0 312.1 312.2 312.2 312.2 312.4 312.3 312.0 311.7 311.3 310.8 310.2 309.3 308.7 308.0 307.4 306.8 306.3 305.9 305.6 305.5 306.4 307.4 308.5 309.6 310.7 311.8 312.9 314.0 315.1 316.2 317.3 318.4 319.5 319.0 317.6 314.1 309.4 303.9 293.6 278.6 265.5 255.3 249.0 245.3 243.0 239.6 235.4 233.4 231.0 229.7 229.2 229.3 229.5 230.3 231.3 232.0 232.6 233.2 233.8 233.6 233.1 232.6 231.3 229.2 227.0 224.2 222.0 221.1 222.3 226.1 230.2 234.5 238.8 243.2 247.7 252.2 256.8 261.6 266.4 271.3 262.7 262.1 261.4 260.9 261.2 261.6 261.8 262.0 262.2 262.0 261.8 261.2 260.5 259.5 258.1 256.1 254.6 252.5 249.1 245.7 241.4 241.2 241.0 240.1 241.2 244.7 252.1 259.8 267.7 275.8 284.1 292.7 301.6 310.8 320.2 317.8 315.4 314.7 313.9 313.4 313.2 312.9 313.0 313.1 313.3 313.2 312.6 312.1 311.1 310.4 309.8 309.8 309.7 309.7 309.7 309.5 309.5 309.5 309.4 309.3 309.3 309.3 309.3 309.3 309.3 309.5 309.6 309.8 309.9 309.9 310.1 310.2 310.2 310.3 310.3 310.1 310.0 309.8 309.7 309.3 309.2 308.9 308.7 308.5 308.4 308.4 326.3 330.6 335.0 339.5 344.0 348.6 353.3 358.0 362.8 367.6 372.5 377.5 382.5 387.6 392.8 398.0 403.3 405.0 402.8 401.5 400.0 398.1 396.8 395.6 394.5 393.6 393.0 392.4 391.5 390.4 389.3 388.2 386.9 385.6 384.3 382.9 381.1 379.5 378.2 376.5 374.3 371.3 367.5 362.4 360.8 359.9 359.4 358.8 358.4 358.0 357.3 356.4 355.4 354.5 353.5 352.6 352.3 352.1 352.3 352.3 352.4 352.3 352.3 352.4 352.4 352.2 352.1 352.0 351.8 351.3 350.9 350.4 349.4 348.8 348.2 347.5 346.9 346.5 346.3 346.1 346.0 346.0 346.1 346.3 346.5 346.9 347.3 347.8 348.6 349.2 349.9 350.4 350.9 351.3 351.5 351.7 351.9 351.9 351.8 351.6 351.3 351.0 350.8 350.4 350.0 349.5 348.6 348.0 347.3 346.7 346.2 345.7 345.4 345.3 345.4 345.7 346.1 346.6 347.1 347.4 347.8 347.6 347.8 348.2 348.5 348.9 348.8 348.0 346.4 344.4 343.2 342.6 342.7 344.1 344.8 338.7 337.3 339.1 347.2 347.4 350.6 354.9 359.4 364.1 368.8 373.5 378.3 383.2 388.2 393.2 398.2 403.4 408.6 413.8 419.2 400.0 395.0 394.6 394.4 394.4 394.5 394.3 393.5 392.5 391.5 390.0 386.2 382.8 376.7 369.1 362.8 357.6 351.0 338.8 333.5 332.1 331.7 331.3 331.0 312.4 312.4 312.4 312.4 312.4 312.4 312.4 312.6 312.6 312.6 312.7 312.7 312.7 312.7 312.7 312.7 312.4 312.4 312.4 312.4 312.4 312.4 312.4 312.4 312.3 312.2 312.0 311.7 311.4 311.1 310.7 310.5 310.4 310.4 310.4 310.4 310.4 310.5 310.7 310.9 311.0 311.1 311.1 311.3 311.5 311.6 311.7 311.7 311.7 311.8 311.7 311.7 311.5 311.4 311.2 311.1 310.9 310.7 310.6 310.4 310.4 310.4 310.4 310.4 310.5 310.6 310.6 310.8 310.9 311.1 311.2 311.4 311.6 311.7 311.7 311.7 311.8 311.7 311.7 311.5 311.4 311.1 310.9 310.7 310.4 310.2 310.1 309.9 309.9 309.9 309.9 309.9 309.9 309.9 310.1 310.1 310.1 310.2 310.2 310.2 310.3 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.4 310.3 310.2 310.1 309.9 309.7 309.5 309.3 309.2 309.0 309.0 313.3 313.3 313.3 313.3 313.3 313.3", + "f0_timestep": "0.005" + }, + { + "offset": 54.207, + "text": "AP 生 命 的 短 暂 SP", + "ph_seq": "AP sh eng m ing d e d uan z an SP", + "ph_dur": "0.141 0.135 0.1221 0.0499 0.1247 0.0483 0.124 0.048 0.0668 0.1052 0.345 0.069", + "ph_num": "2 2 2 2 2 1 1", + "note_seq": "rest D#4 F4 G4 G#4 G4 rest", + "note_dur": "0.276 0.172 0.173 0.172 0.172 0.345 0.069", + "note_slur": "0 0 0 0 0 0 0", + "f0_seq": "337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 337.5 335.4 330.8 325.1 320.0 314.1 312.7 311.3 309.7 309.3 309.2 309.5 310.0 310.4 310.8 311.1 311.6 311.9 312.2 312.6 313.0 313.4 314.2 315.1 316.0 317.1 318.6 320.7 322.4 324.6 327.6 331.2 333.7 336.4 340.5 344.2 347.3 348.6 349.7 349.8 350.2 350.6 350.8 350.8 351.2 351.4 351.7 352.2 352.7 353.1 353.3 353.1 352.2 351.5 350.5 349.8 348.3 346.8 344.5 340.7 338.4 336.6 335.2 334.0 333.5 332.5 333.9 343.1 357.1 371.5 386.6 387.7 388.8 390.2 391.8 392.7 393.1 393.0 392.6 392.2 391.7 391.1 390.6 390.3 390.2 390.0 390.0 390.0 389.7 388.8 387.0 385.7 383.4 379.1 379.2 383.5 385.3 389.5 394.6 391.4 390.1 396.2 402.4 408.7 413.6 412.4 413.6 413.6 415.0 415.6 415.9 415.7 415.2 414.6 414.2 413.4 412.1 410.7 409.1 405.9 402.8 398.5 392.9 389.3 385.6 382.7 380.0 378.7 383.3 388.9 391.3 393.6 396.0 398.5 400.9 403.3 405.8 408.3 410.8 406.8 405.9 405.3 405.4 405.6 405.4 405.0 404.7 404.3 403.5 402.2 400.7 399.3 396.7 395.4 393.5 391.5 389.3 387.8 386.9 386.3 386.2 386.2 386.3 386.8 387.5 388.1 389.1 390.3 391.1 392.2 393.2 394.1 395.2 395.9 396.8 397.3 397.6 397.8 397.7 397.2 396.6 395.6 394.5 393.1 391.5 390.2 389.1 388.7 388.9 389.4 390.0 390.6 391.5 392.3 392.9 393.5 393.9 394.0 394.0 393.8 392.3 390.4 387.4 383.7 377.7 371.1 363.6 351.8 343.6 341.8 341.8 341.8 341.8 341.8 341.8 341.8 341.8 341.8 341.8 341.8 341.8", + "f0_timestep": "0.005" + }, + { + "offset": 55.586, + "text": "AP 生 活 的 阻 碍 SP", + "ph_seq": "AP sh eng h uo d e z u ai SP", + "ph_dur": "0.156 0.12 0.112 0.06 0.128 0.045 0.0926 0.0794 0.128 0.39 0.069", + "ph_num": "2 2 2 2 1 1 1", + "note_seq": "rest D#4 F4 G4 G#4 G4 rest", + "note_dur": "0.276 0.172 0.173 0.172 0.173 0.345 0.069", + "note_slur": "0 0 0 0 0 0 0", + "f0_seq": "330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.4 330.5 330.8 328.7 322.5 318.0 315.0 312.7 310.4 309.2 308.6 308.4 308.3 308.4 309.0 310.0 310.7 311.2 311.7 312.0 311.8 311.4 310.3 308.4 306.0 303.0 300.5 298.4 299.0 304.4 309.9 315.5 321.1 326.9 332.8 338.8 344.8 351.0 348.5 348.2 348.8 349.5 350.3 350.9 351.1 350.9 350.8 350.6 350.4 350.6 350.6 350.6 350.6 350.2 350.2 350.1 349.7 349.5 348.9 347.8 346.2 344.3 342.5 341.1 339.6 338.4 337.9 340.8 328.1 342.0 352.3 361.1 369.6 373.6 375.6 377.9 380.2 382.7 385.0 386.4 387.0 386.6 384.4 382.4 380.2 377.1 371.5 355.0 354.1 357.8 361.4 365.2 368.9 372.7 376.5 380.4 384.3 388.3 392.2 396.3 400.3 404.5 408.6 412.8 417.0 421.3 422.3 420.1 418.6 418.3 418.1 418.0 417.8 417.3 416.7 415.9 415.3 414.5 414.0 413.5 413.2 413.0 412.8 412.8 412.8 412.6 412.4 412.0 411.5 410.5 408.8 407.5 405.6 403.6 401.6 399.9 398.8 398.2 398.0 397.9 397.9 397.6 397.1 396.7 396.6 396.8 396.8 397.0 396.6 396.3 395.7 395.2 394.3 393.6 392.9 392.1 391.2 390.0 388.5 387.1 385.3 383.9 382.8 381.5 380.2 379.4 378.8 378.6 378.9 379.5 380.5 382.0 383.5 385.1 387.0 389.1 390.6 391.8 393.1 393.8 394.3 394.1 393.6 392.8 391.9 390.5 389.1 387.6 386.0 384.3 382.3 381.1 380.1 379.8 380.1 380.8 382.1 384.2 385.4 386.4 387.2 386.8 386.0 385.1 383.8 379.9 370.4 359.7 359.7 359.7 359.7 359.7 359.7 359.7 359.7 359.7 359.7 359.7 359.7 359.7 359.7 359.7 359.7", + "f0_timestep": "0.005" + }, + { + "offset": 56.966, + "text": "AP 已 经 逝 去 的 五 分 之 三 SP 还 有 多 少 安 排 SP", + "ph_seq": "AP y i j ing sh ir q v d e w u f en zh ir s an SP h ai y ou d uo sh ao an p ai SP", + "ph_dur": "0.23 0.045 0.113 0.06 0.0729 0.0991 0.107 0.066 0.1077 0.0643 0.3126 0.0324 0.0881 0.0839 0.4161 0.1019 0.1844 0.1596 0.345 0.098 0.075 0.1265 0.0455 0.127 0.045 0.0897 0.0833 0.127 0.1496 0.0684 0.344 0.068", + "ph_num": "2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 1 1", + "note_seq": "rest D#4 F4 G4 G#4 G4 F4 D#4 D4 A#3 rest D#4 D#4 F4 G4 G#4 G4 rest", + "note_dur": "0.275 0.173 0.172 0.173 0.172 0.345 0.172 0.518 0.344 0.345 0.173 0.172 0.172 0.173 0.172 0.173 0.344 0.068", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "309.0 309.0 309.0 309.0 309.0 309.0 309.0 309.0 309.0 309.0 309.0 309.0 309.0 309.0 309.0 309.0 309.0 309.0 309.0 309.0 309.0 309.0 309.0 309.0 309.0 309.0 309.0 309.0 309.0 309.0 309.0 309.0 309.0 309.0 309.0 309.0 309.0 309.0 309.0 309.0 309.0 309.0 309.0 309.0 309.0 309.0 305.2 305.7 306.6 307.8 309.2 310.8 311.8 312.5 313.0 313.1 313.1 313.2 313.4 313.7 314.0 314.2 314.5 314.8 315.0 315.2 315.3 315.5 315.5 315.2 313.9 311.9 309.1 305.3 301.9 298.5 295.5 292.7 290.9 290.0 320.1 322.6 325.0 327.5 330.0 332.6 335.1 337.7 340.3 342.9 346.1 347.8 348.3 348.5 348.8 349.2 349.8 350.3 350.5 350.6 350.4 349.4 348.4 346.0 343.2 340.7 337.5 333.7 329.1 328.1 332.9 337.7 342.6 347.6 352.7 357.8 363.0 368.3 373.6 379.1 384.6 390.2 395.9 399.4 399.1 398.6 398.0 397.2 396.3 395.4 394.4 393.6 392.8 392.0 391.5 391.3 391.1 390.2 387.9 383.9 379.7 375.2 370.7 366.6 362.8 360.7 360.0 360.4 362.2 365.3 369.3 374.1 379.5 386.8 392.8 398.6 403.9 408.9 412.7 414.8 417.0 416.2 416.0 414.5 414.3 414.3 414.3 414.5 414.8 415.0 414.9 414.8 414.7 414.5 414.1 413.6 413.0 412.0 409.8 407.5 404.6 402.8 400.5 397.6 390.9 387.9 393.8 398.5 397.0 400.1 406.4 406.1 405.7 405.4 404.7 402.8 403.0 402.8 403.0 403.2 403.2 403.1 402.7 402.1 401.3 400.0 398.2 396.3 394.1 392.6 391.3 389.8 389.1 388.7 388.8 389.2 390.0 390.6 391.4 392.0 392.4 392.9 393.4 393.7 394.1 394.5 394.8 395.0 394.7 394.7 395.0 395.0 394.8 394.6 394.2 393.8 393.4 392.8 392.1 391.3 390.7 389.8 388.9 387.9 386.0 384.4 382.5 380.8 378.5 376.4 374.2 371.3 368.1 364.7 361.1 357.1 352.8 350.2 348.2 347.0 347.2 347.7 348.9 350.2 351.4 352.5 353.0 352.8 351.8 349.5 345.5 340.2 336.6 330.8 325.2 327.7 327.9 328.0 328.1 328.2 328.4 328.5 328.6 328.7 328.9 329.0 329.1 329.3 329.4 329.5 329.6 329.8 329.9 330.0 330.1 330.3 330.4 330.5 326.5 323.8 323.3 322.7 322.1 321.4 320.3 319.5 318.4 316.9 315.8 314.6 313.5 312.4 311.3 310.6 309.7 309.3 310.0 309.9 309.8 309.7 310.1 310.3 310.5 310.9 311.2 311.3 311.5 311.5 311.5 311.5 311.5 311.5 311.5 311.5 311.5 311.5 311.5 311.5 311.6 311.9 312.2 312.4 312.4 312.5 312.4 312.4 312.3 312.0 311.8 311.8 311.6 311.5 311.5 310.8 311.1 311.5 311.9 312.4 312.7 312.9 312.9 312.8 313.2 313.5 313.7 313.5 313.1 312.3 311.5 310.6 309.4 307.9 306.1 304.2 300.9 298.3 294.8 290.8 287.6 284.9 284.8 287.1 287.6 288.0 288.5 288.9 289.4 289.8 290.2 290.7 291.1 291.6 292.0 292.5 292.9 293.4 293.8 294.3 294.7 295.2 295.7 296.1 296.6 303.5 303.3 301.7 301.2 300.2 299.5 298.7 297.3 295.9 294.9 294.1 293.2 292.6 292.2 291.8 291.6 291.3 291.5 291.6 291.6 292.2 292.8 293.4 293.9 294.5 294.9 295.1 295.3 295.5 295.2 294.2 292.9 291.6 289.7 286.8 282.8 279.0 273.7 273.3 268.0 264.9 264.4 263.8 263.3 262.7 262.2 261.6 261.1 260.6 260.0 259.5 258.9 258.4 257.8 257.3 256.8 256.2 255.7 255.2 254.6 254.1 253.6 253.0 252.5 252.0 251.5 250.9 246.7 244.6 243.6 242.6 241.8 241.4 240.7 239.8 239.1 238.3 237.5 236.7 235.9 235.5 234.8 234.0 233.5 232.6 232.3 231.8 231.7 231.6 231.5 231.5 231.7 232.0 232.5 232.9 233.2 233.8 234.2 234.3 235.0 235.7 236.0 236.5 236.8 237.1 237.4 237.4 237.3 236.7 236.2 235.9 235.5 234.2 233.6 233.1 232.0 231.7 231.5 231.6 232.2 232.8 233.1 233.4 233.6 233.8 233.8 233.5 232.8 232.0 230.9 230.3 230.1 230.1 230.1 229.5 228.9 227.2 224.1 224.1 226.9 229.7 232.6 235.5 238.4 241.4 244.4 247.4 250.5 253.6 256.8 260.0 263.2 266.5 269.8 273.2 276.6 280.0 283.5 287.0 290.6 294.2 297.9 301.6 305.4 309.2 313.0 316.9 320.9 324.8 328.9 326.4 319.3 315.6 312.0 309.2 307.2 306.1 305.8 305.6 306.0 306.7 307.4 308.7 309.5 310.2 311.4 312.3 312.7 313.1 313.2 312.7 312.5 312.0 311.7 311.8 311.8 311.7 311.7 311.5 311.3 311.1 311.0 310.8 310.6 310.6 310.5 310.2 310.2 310.1 310.2 310.4 310.6 310.9 311.4 311.6 311.8 311.6 311.0 310.0 308.4 306.5 304.2 301.7 298.0 294.9 292.3 288.0 285.3 288.6 288.3 284.4 281.2 281.9 288.4 299.9 311.6 352.9 352.7 352.3 351.7 351.1 350.6 350.2 349.7 349.6 349.6 349.8 350.2 350.7 351.3 351.6 351.8 351.7 351.0 349.8 348.5 347.1 345.5 344.4 343.4 343.0 355.5 360.3 365.1 370.0 374.9 379.9 385.0 390.2 395.4 400.7 406.0 411.5 403.2 400.9 399.1 397.0 395.5 393.8 392.4 391.7 391.1 390.6 390.3 390.1 389.9 389.7 389.5 389.5 389.6 389.7 390.1 390.6 391.5 392.4 393.2 394.3 395.4 396.2 396.9 397.9 399.5 400.8 402.6 405.2 406.8 408.6 409.8 410.8 411.8 412.4 413.4 414.1 414.8 415.5 415.8 416.1 416.2 415.9 415.4 414.9 414.3 413.4 412.2 410.6 408.7 406.3 403.9 401.4 398.3 394.4 389.9 386.1 383.3 380.9 382.1 385.3 388.6 391.8 395.1 398.4 401.8 405.2 412.3 414.3 412.2 411.7 411.7 411.8 411.9 411.7 411.7 410.9 410.1 408.2 406.2 403.2 400.7 398.2 395.3 393.4 391.9 390.8 390.0 389.4 389.1 389.2 389.6 390.4 391.3 392.4 394.0 395.4 396.6 398.6 400.2 401.5 402.8 403.9 404.8 405.1 405.0 404.4 403.7 402.6 401.4 400.0 398.7 397.1 395.7 394.7 394.0 393.6 393.1 392.9 393.0 393.2 393.6 394.1 394.3 394.7 395.0 395.0 394.6 393.4 392.0 390.0 386.5 382.2 377.4 374.5 374.5 374.5 374.5 374.5 374.5 374.5 374.5 374.5 374.5 374.5 374.5 374.5 374.5 374.5", + "f0_timestep": "0.005" + }, + { + "offset": 61.103, + "text": "AP 有 多 少 期 待 SP", + "ph_seq": "AP y ou d uo sh ao q i d ai SP", + "ph_dur": "0.231 0.045 0.1196 0.0534 0.0839 0.0881 0.084 0.089 0.127 0.045 0.345 0.069", + "ph_num": "2 2 2 2 2 1 1", + "note_seq": "rest D#4 F4 G4 G#4 G4 rest", + "note_dur": "0.276 0.173 0.172 0.173 0.172 0.345 0.069", + "note_slur": "0 0 0 0 0 0 0", + "f0_seq": "329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 284.0 284.5 285.6 287.3 289.8 292.2 294.9 297.7 300.6 303.7 306.2 308.3 309.8 310.9 311.4 311.5 311.5 311.5 311.5 311.5 311.5 311.5 311.5 311.5 311.5 311.3 310.6 309.6 308.3 306.7 305.2 303.1 300.9 297.9 288.1 295.7 302.1 301.1 301.4 307.3 314.6 322.1 329.8 337.7 345.7 354.0 357.5 348.0 347.7 348.2 347.8 349.2 349.4 349.3 349.2 348.6 347.5 346.1 343.3 339.0 334.4 331.0 329.7 329.4 332.7 336.0 339.4 342.8 346.2 349.7 353.2 356.7 360.3 363.9 367.5 371.2 374.9 378.7 382.5 386.3 388.2 388.2 388.6 389.4 390.2 391.2 392.2 393.4 394.4 395.3 396.1 396.9 397.4 397.6 397.4 396.4 394.7 392.1 389.1 385.7 382.2 378.2 374.5 371.4 368.7 366.8 365.1 364.8 392.4 394.9 397.4 399.9 402.4 404.9 407.5 410.1 410.3 413.2 413.9 414.6 415.4 415.9 416.2 416.3 416.1 415.9 415.5 414.9 414.1 412.4 411.0 409.4 407.0 404.6 402.7 400.2 396.1 398.7 394.0 382.9 381.3 388.7 398.6 402.7 406.3 415.9 415.5 415.0 414.6 403.6 401.9 402.8 404.1 405.4 406.5 407.5 407.7 407.3 406.7 406.0 405.1 403.7 401.3 399.8 397.9 395.6 394.1 392.5 391.5 390.5 389.9 389.5 389.1 388.8 388.9 389.3 390.2 391.3 392.2 393.4 394.5 396.1 397.4 398.8 400.3 401.3 401.7 402.0 402.1 401.9 401.4 400.3 399.3 398.2 397.2 396.2 395.4 394.5 393.7 392.7 391.7 391.0 390.7 390.6 391.0 391.7 392.3 392.8 392.9 392.7 391.8 390.6 389.7 388.4 387.1 384.7 385.0 377.7 372.1 370.6 370.6 370.6 370.6 370.6 370.6 370.6 370.6 370.6 370.6 370.6 370.6 370.6", + "f0_timestep": "0.005" + }, + { + "offset": 62.483, + "text": "AP 过 去 的 梦 何 时 捡 起 来 SP", + "ph_seq": "AP g uo q v d e m eng h e sh ir j ian q i l ai SP", + "ph_dur": "0.216 0.06 0.0926 0.0794 0.127 0.045 0.113 0.06 0.092 0.08 0.225 0.12 0.0904 0.0826 0.3553 0.1617 0.255 0.09 0.344 0.069", + "ph_num": "2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest D#4 F4 G4 G#4 G4 F4 D#4 A#4 G4 rest", + "note_dur": "0.276 0.172 0.172 0.173 0.172 0.345 0.173 0.517 0.345 0.344 0.069", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "324.3 324.3 324.3 324.3 324.3 324.3 324.3 324.3 324.3 324.3 324.3 324.3 324.3 324.3 324.3 324.3 324.3 324.3 324.3 324.3 324.3 324.3 324.3 324.3 324.3 324.3 324.3 324.3 324.3 324.3 324.3 324.3 324.3 324.3 324.3 324.3 324.3 324.3 324.3 324.3 324.3 324.3 324.3 324.3 324.3 324.3 324.3 324.3 324.3 324.3 309.0 309.0 309.0 309.1 309.2 309.4 309.6 309.9 310.2 310.4 310.7 310.9 311.0 311.2 311.3 311.3 311.5 311.0 310.2 308.8 306.9 305.0 302.9 300.9 298.6 297.0 295.9 295.3 295.1 295.7 297.4 300.5 304.4 308.6 313.4 318.7 324.8 329.8 334.5 338.5 342.0 344.0 345.1 345.8 346.0 346.4 346.9 347.3 347.7 348.2 348.5 348.9 349.4 349.7 350.1 350.2 350.2 349.7 349.0 348.2 346.6 344.8 343.0 340.7 336.0 328.3 324.3 323.5 323.0 328.0 337.7 347.6 357.9 368.5 379.4 390.6 391.3 392.4 392.4 392.4 392.4 392.6 392.8 392.9 393.2 393.6 393.8 394.0 394.3 394.6 394.9 395.2 395.4 395.9 396.1 396.2 396.4 396.6 396.8 396.8 396.8 397.0 397.4 398.8 400.9 403.8 407.3 410.4 413.4 415.8 417.6 418.3 418.3 418.0 417.7 417.2 416.6 416.0 415.5 414.9 414.7 414.6 413.8 411.0 406.5 400.5 394.0 387.1 382.6 380.3 386.7 387.4 388.1 388.8 389.5 390.2 391.0 391.7 392.4 393.1 393.8 394.6 395.3 396.0 395.9 396.1 396.7 397.3 397.8 398.0 398.3 398.1 397.7 397.1 396.3 395.4 394.4 393.2 391.8 390.8 390.0 389.3 389.0 388.8 388.6 388.5 388.4 388.4 388.6 388.6 388.6 388.8 389.1 389.6 390.3 391.0 391.8 392.7 393.4 394.0 394.2 394.0 393.9 393.4 392.4 391.1 389.0 385.5 381.8 377.8 371.4 366.0 360.4 355.3 352.6 352.6 352.5 352.4 352.3 352.3 352.2 352.1 352.0 351.9 351.9 351.8 351.7 351.4 351.3 351.2 351.0 350.9 350.7 350.5 350.2 350.0 349.8 349.6 349.4 349.3 349.2 349.2 349.2 349.4 349.7 350.0 350.0 349.6 347.8 344.4 340.3 335.6 330.3 324.4 319.6 315.8 313.0 311.4 311.5 311.2 310.8 310.5 310.1 309.8 309.4 309.1 308.7 308.5 308.8 308.4 309.0 309.7 310.4 311.5 313.0 313.8 314.1 314.3 314.3 314.1 313.6 312.6 311.9 311.1 310.2 309.4 309.0 308.4 308.3 308.3 308.3 308.4 308.6 308.8 309.0 309.4 309.8 310.2 310.5 311.1 311.6 312.0 312.5 312.7 312.7 312.7 312.7 312.7 312.9 313.0 313.0 312.8 312.6 312.3 311.8 311.4 311.1 310.6 310.2 309.9 309.4 309.3 309.5 309.9 310.4 311.2 312.0 312.6 313.3 314.1 314.7 315.1 315.3 315.0 314.2 312.7 310.2 307.4 306.8 306.4 309.5 314.5 318.9 323.4 327.9 332.5 337.2 341.9 346.8 351.6 356.6 361.6 366.7 371.8 377.1 382.4 387.7 393.2 398.7 404.3 410.0 415.8 421.6 427.5 433.6 439.7 445.8 452.1 458.5 464.9 470.2 471.2 472.0 472.9 473.6 473.8 473.3 472.8 471.9 470.9 470.2 468.3 466.7 465.4 464.4 463.4 462.9 462.5 462.4 462.6 462.9 463.4 463.9 464.8 465.4 465.6 466.3 466.7 466.9 467.4 467.5 467.9 468.4 468.8 469.0 469.1 469.1 469.3 469.8 470.0 470.3 470.4 470.2 469.9 469.1 468.1 466.9 465.6 463.3 461.1 458.6 454.7 450.8 447.4 443.8 440.4 436.4 432.6 427.5 420.3 416.5 412.7 409.3 404.4 401.1 399.0 398.1 398.2 399.2 400.9 403.7 406.6 407.2 407.2 406.7 406.3 406.1 405.9 405.3 404.4 403.7 402.8 401.8 400.7 399.5 398.2 396.3 395.1 393.5 392.2 390.9 389.7 388.6 387.7 387.5 387.3 387.8 388.4 389.3 390.8 392.7 394.5 396.2 397.7 399.5 400.5 401.6 402.7 403.2 403.4 403.1 402.3 401.3 400.1 398.7 397.2 395.9 394.8 393.8 392.7 392.1 391.5 391.1 390.9 390.4 390.4 390.2 389.8 389.7 389.4 389.1 388.8 388.4 387.8 387.0 385.8 385.0 383.9 383.9 383.9 383.9 383.9 383.9 383.9 383.9 383.9 383.9 383.9 383.9 383.9 383.9 383.9", + "f0_timestep": "0.005" + }, + { + "offset": 65.241, + "text": "AP 年 轻 的 牵 绊 SP", + "ph_seq": "AP n ian q ing d e q ian b an SP", + "ph_dur": "0.231 0.045 0.0954 0.0776 0.147 0.025 0.0805 0.0915 0.128 0.045 0.345 0.069", + "ph_num": "2 2 2 2 2 1 1", + "note_seq": "rest D#4 F4 G4 G#4 G4 rest", + "note_dur": "0.276 0.173 0.172 0.172 0.173 0.345 0.069", + "note_slur": "0 0 0 0 0 0 0", + "f0_seq": "352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 295.7 296.1 297.2 298.5 300.2 302.2 304.3 306.3 307.9 309.2 310.1 310.6 310.6 310.9 311.4 312.0 312.8 313.4 313.8 314.3 314.5 314.4 314.3 314.1 314.0 313.8 313.7 313.5 313.5 313.3 312.7 311.9 310.7 309.3 307.4 305.6 303.8 302.1 300.4 298.9 297.8 296.9 296.5 330.4 332.9 335.4 337.9 340.4 343.0 344.9 344.2 343.2 345.6 347.4 348.8 350.0 350.0 349.8 349.5 349.3 349.2 349.1 348.9 348.7 348.6 348.6 348.6 349.1 349.4 349.9 350.6 350.8 350.8 350.6 350.1 349.2 348.2 347.2 346.9 346.8 347.6 350.0 353.3 357.6 363.0 369.0 374.4 379.5 384.6 387.6 389.2 389.9 389.7 389.7 389.7 389.7 389.6 389.5 389.4 389.3 389.3 389.3 389.3 389.1 388.6 388.1 387.5 386.8 397.9 399.8 401.8 403.7 405.6 407.6 409.5 411.5 413.5 415.5 417.5 415.5 413.5 414.3 415.2 415.9 416.5 416.7 416.5 416.0 415.3 414.3 412.8 412.2 411.0 409.4 406.5 403.2 401.3 400.7 399.5 402.1 401.5 400.3 398.5 396.2 393.7 391.1 391.1 391.1 391.3 391.5 391.7 391.9 392.1 392.2 392.2 392.2 392.3 392.2 392.1 392.0 391.8 391.5 391.2 390.9 390.6 390.3 390.1 389.9 389.5 389.5 389.3 389.3 389.3 389.3 389.3 389.4 389.7 390.0 390.3 390.6 391.1 391.3 391.5 391.5 391.7 391.7 391.5 391.5 391.5 391.3 391.1 390.9 390.7 390.6 390.6 390.4 390.4 390.4 390.4 390.5 390.7 391.0 391.4 391.8 392.0 392.1 392.4 392.3 392.2 392.2 392.0 391.8 391.6 391.4 391.2 391.1 391.1 390.8 390.0 388.9 388.0 387.3 381.3 368.1 368.1 368.1 368.1 368.1 368.1 368.1 368.1 368.1 368.1 368.1 368.1", + "f0_timestep": "0.005" + }, + { + "offset": 66.621, + "text": "AP 老 去 的 无 奈 SP", + "ph_seq": "AP l ao q v d e w u n ai SP", + "ph_dur": "0.231 0.045 0.0814 0.0906 0.127 0.045 0.128 0.045 0.0924 0.0796 0.345 0.069", + "ph_num": "2 2 2 2 2 1 1", + "note_seq": "rest D#4 F4 G4 G#4 G4 rest", + "note_dur": "0.276 0.172 0.172 0.173 0.172 0.345 0.069", + "note_slur": "0 0 0 0 0 0 0", + "f0_seq": "315.5 315.5 315.5 315.5 315.5 315.5 315.5 315.5 315.5 315.5 315.5 315.5 315.5 315.5 315.5 315.5 315.5 315.5 315.5 315.5 315.5 315.5 315.5 315.5 315.5 315.5 315.5 315.5 315.5 315.5 315.5 315.5 315.5 315.5 315.5 315.5 315.5 315.5 315.5 315.5 315.5 315.5 315.5 311.1 311.1 311.1 311.2 311.5 311.8 312.1 312.2 312.7 313.0 313.4 313.7 314.0 314.3 314.6 314.7 314.9 314.9 315.1 315.0 314.8 314.7 314.5 314.3 314.0 313.7 313.5 313.4 313.2 313.1 312.9 312.0 310.2 307.4 304.7 302.1 300.0 298.6 320.6 323.3 325.9 328.6 331.3 334.1 336.8 339.6 342.4 345.2 348.4 347.8 347.5 347.9 348.2 348.8 349.4 349.8 350.1 350.2 350.0 349.7 349.4 349.0 349.0 348.8 348.7 348.6 345.4 336.9 334.7 334.1 334.5 340.0 347.9 355.9 364.2 372.6 381.2 390.0 399.1 408.3 417.7 396.1 394.0 393.0 392.1 391.7 391.8 391.9 392.1 392.1 391.9 391.6 390.9 390.0 389.3 388.5 387.9 387.8 387.7 387.9 388.3 388.9 389.7 391.2 393.0 394.8 397.0 399.9 402.0 403.9 405.8 407.5 408.6 410.2 411.7 412.9 413.9 414.9 416.1 417.2 417.9 418.3 418.8 419.1 418.9 418.9 418.4 418.0 417.1 415.5 414.5 413.2 412.0 409.7 407.0 405.2 403.3 401.3 399.2 397.0 396.8 396.6 395.4 394.1 392.9 392.7 393.3 394.2 394.0 394.0 394.0 394.0 394.0 394.0 393.9 393.8 393.8 393.8 393.6 393.6 393.6 393.6 393.6 393.6 393.6 393.6 393.4 393.4 393.2 392.9 392.6 392.4 392.0 391.8 391.4 391.2 390.8 390.5 390.4 390.4 390.4 390.4 390.6 390.9 391.3 391.8 392.4 392.8 393.1 393.3 393.5 393.4 393.2 393.1 392.8 392.4 392.0 391.4 391.0 390.7 390.5 390.4 390.4 390.2 390.2 390.2 390.2 390.1 390.0 389.9 389.7 389.7 389.7 389.7 389.7 389.6 389.4 389.2 388.9 388.5 388.1 387.7 387.3 387.1 386.9 386.8 376.9 376.9 376.9 376.9 376.9 376.9 376.9", + "f0_timestep": "0.005" + }, + { + "offset": 68.0, + "text": "AP 生 命 重 复 着 因 果 循 环 SP 还 有 谁 的 身 影 能 永 远 如 此 的 伟 岸 SP", + "ph_seq": "AP sh eng m ing ch ong f u zh e y in g uo x vn h uan SP h ai y ou sh ei d e sh en y ing n eng y ong y van r u c i0 d e w ei an SP", + "ph_dur": "0.141 0.135 0.112 0.06 0.1006 0.0724 0.112 0.06 0.0982 0.0748 0.299 0.045 0.128 0.045 0.352 0.165 0.225 0.12 0.345 0.0959 0.0761 0.127 0.045 0.0965 0.0765 0.127 0.045 0.113 0.06 0.1451 0.0269 0.255 0.09 0.3 0.045 0.3 0.045 0.2877 0.0563 0.1937 0.1513 0.3 0.045 0.2772 0.0678 0.127 1.912 0.069", + "ph_num": "2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1", + "note_seq": "rest D#4 F4 G4 G#4 G4 F4 D#4 D4 A#3 rest D#4 D#4 F4 G4 G#4 G4 F4 D#4 A#4 G4 F4 D#4 F4 F4 G4 rest", + "note_dur": "0.276 0.172 0.173 0.172 0.173 0.344 0.173 0.517 0.345 0.345 0.172 0.172 0.173 0.172 0.173 0.172 0.345 0.345 0.345 0.344 0.345 0.345 0.345 0.172 1.552 0.345 0.069", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0", + "f0_seq": "348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 311.0 310.9 310.9 310.8 310.7 310.6 310.4 310.1 309.9 309.8 309.7 309.6 309.5 309.5 309.5 309.4 309.3 309.3 309.3 309.3 309.3 309.2 309.2 309.2 309.0 309.0 309.0 309.0 309.0 309.0 309.0 309.3 310.5 312.5 315.1 318.4 322.1 327.0 331.4 335.8 340.1 344.4 348.2 351.0 353.1 354.3 354.6 354.5 354.3 354.0 353.6 353.2 352.8 352.3 352.0 351.9 351.9 351.3 349.8 348.4 347.4 347.8 349.0 351.0 353.9 357.7 361.6 366.0 370.4 375.8 380.4 384.5 388.1 391.2 393.8 395.2 395.6 395.4 395.0 394.6 394.1 393.5 392.9 392.3 391.8 391.3 391.3 391.2 391.1 391.1 390.9 390.6 390.5 390.1 389.9 389.6 389.4 389.1 389.1 388.9 388.8 388.9 389.3 390.6 392.5 395.3 398.4 401.5 404.8 408.2 412.0 414.3 416.3 418.3 418.0 417.7 417.3 416.9 416.6 416.5 416.5 416.5 416.5 416.5 416.5 416.5 415.7 413.4 409.3 405.0 399.9 396.1 393.8 391.7 391.3 390.9 390.6 390.3 390.0 390.0 390.0 390.0 390.3 390.7 391.2 391.8 392.5 393.2 393.6 394.0 394.2 394.5 394.3 394.1 393.9 393.7 393.4 393.0 392.6 392.4 392.0 392.0 389.5 389.5 389.7 390.1 390.6 391.2 391.8 392.2 392.6 393.0 393.2 393.4 393.4 393.6 393.6 393.6 393.6 393.6 393.6 393.7 393.7 393.6 393.4 393.2 393.1 392.8 392.1 391.4 390.6 389.6 388.6 387.1 385.0 382.6 379.7 376.9 373.4 370.3 367.4 364.7 362.0 359.2 357.0 355.1 354.1 353.2 352.7 351.7 350.0 349.4 348.4 347.4 346.9 346.9 347.1 347.4 347.8 348.3 349.0 349.2 348.5 347.0 344.2 342.2 340.6 338.7 336.4 334.3 331.6 328.3 324.7 322.2 319.9 315.8 309.4 307.8 315.1 315.2 316.6 317.9 319.3 320.7 322.0 323.4 324.8 319.8 316.7 316.0 315.5 315.0 315.3 315.5 315.7 315.8 315.7 314.0 313.9 313.8 313.6 313.3 312.9 312.6 312.3 312.0 313.1 313.0 312.8 312.7 312.6 312.5 312.3 312.0 311.7 311.5 311.2 310.9 310.7 310.5 310.2 309.9 309.8 309.7 309.6 309.5 309.5 309.5 309.5 309.7 310.0 310.4 310.8 311.2 311.7 312.1 312.6 313.2 313.7 314.2 314.6 314.9 315.1 315.2 315.4 314.5 314.8 315.2 315.4 314.1 313.7 312.7 311.5 310.0 307.8 305.0 301.7 298.0 294.4 293.0 293.5 293.9 294.4 294.9 295.3 295.8 296.3 296.8 297.2 297.7 298.2 298.7 299.1 299.6 300.1 300.6 301.1 301.5 302.0 302.5 303.0 303.5 304.0 304.4 304.9 305.4 305.9 306.4 306.9 307.4 307.9 307.6 304.2 301.6 300.5 300.5 300.5 300.1 299.4 298.6 297.7 296.6 295.6 294.8 294.1 293.2 292.6 292.5 292.3 292.5 292.6 292.8 293.1 293.2 293.2 293.2 293.3 293.7 294.3 295.1 295.9 296.3 296.6 296.7 296.7 296.4 296.0 294.5 293.5 292.3 291.0 289.3 287.1 284.7 281.5 277.8 274.4 271.8 270.9 270.1 271.6 270.7 269.8 268.9 268.0 267.2 266.3 265.4 264.5 263.6 262.8 261.9 261.0 260.1 259.3 258.4 257.6 256.7 255.9 255.0 254.2 253.3 248.5 243.0 239.0 238.0 237.4 236.5 235.5 234.9 234.2 233.9 233.6 233.2 233.1 232.7 232.3 232.2 231.9 231.7 231.6 231.6 231.5 231.7 231.8 231.9 231.9 232.2 232.3 232.5 232.9 232.9 233.2 233.2 233.4 233.6 233.8 234.0 234.2 234.1 233.8 233.6 232.9 232.3 231.9 231.3 231.1 231.0 230.9 231.2 231.6 232.1 232.8 233.5 233.9 234.3 234.4 234.2 233.9 233.2 231.8 230.9 229.9 229.0 227.9 226.8 225.5 223.6 221.7 218.7 214.5 213.4 215.9 218.5 221.0 223.6 226.3 229.0 231.7 234.4 237.2 240.0 242.8 245.7 248.6 251.5 254.5 257.5 260.5 263.6 266.7 269.9 273.1 276.3 279.6 282.9 286.2 289.6 293.0 296.5 300.0 303.5 307.1 310.7 313.1 310.4 308.9 307.4 305.9 304.9 304.8 304.6 304.9 305.9 306.9 308.0 309.3 310.4 311.2 311.7 311.8 311.6 311.1 310.2 309.9 309.6 309.7 310.0 310.3 311.0 311.7 312.1 312.3 312.4 312.5 312.5 311.1 311.1 311.2 311.3 311.5 311.6 311.9 312.1 312.4 312.6 312.8 313.1 313.3 313.4 313.6 313.7 313.8 313.9 313.5 311.8 308.0 304.0 300.7 298.6 298.1 298.8 300.7 303.1 306.4 310.2 315.0 320.0 324.8 329.6 334.2 339.3 342.7 345.4 347.3 348.4 348.4 347.8 346.7 345.3 343.8 342.7 341.8 341.5 341.4 341.6 341.7 342.0 342.3 342.6 343.0 343.4 343.7 343.9 344.0 344.2 344.9 346.7 350.2 355.1 360.5 366.6 373.0 380.4 386.4 391.3 395.2 397.7 398.8 398.6 398.2 397.7 396.9 396.1 395.3 394.6 394.0 393.4 393.2 393.0 392.4 391.3 389.8 388.6 387.8 387.5 387.7 388.3 389.3 390.6 392.1 393.9 395.9 398.4 400.7 402.8 405.1 407.6 409.8 411.7 413.4 414.8 416.0 416.6 417.1 417.2 417.2 417.3 417.5 417.5 417.7 417.9 418.1 418.4 418.8 419.0 419.2 419.4 419.4 419.6 419.6 419.8 419.7 419.2 418.2 416.3 414.1 411.7 409.1 406.2 403.4 401.0 398.8 397.1 395.7 395.1 398.2 397.7 397.1 396.6 396.2 395.7 395.0 394.5 394.3 393.9 393.4 392.8 392.4 392.4 392.2 392.2 392.1 392.0 391.9 391.7 391.5 391.3 391.3 391.3 391.1 390.4 389.2 387.7 385.5 382.6 379.4 376.2 372.9 369.1 365.0 361.3 357.9 354.7 351.4 348.6 346.4 344.6 343.2 342.0 341.9 341.8 342.0 342.5 343.1 343.8 344.4 345.3 346.2 347.1 347.8 348.4 348.9 349.4 349.4 349.6 349.6 349.7 349.8 349.8 350.0 350.2 350.5 350.7 350.9 351.0 351.1 351.3 351.3 351.4 351.3 351.1 351.0 350.8 350.4 350.0 349.5 348.9 348.4 347.9 347.4 346.9 346.3 346.0 345.7 345.5 345.3 345.2 346.2 346.5 346.6 346.8 347.1 347.3 347.7 348.2 348.6 349.1 349.4 350.1 350.2 350.6 350.8 350.8 350.6 350.2 349.7 348.9 348.2 347.2 345.9 344.7 343.3 341.4 338.9 337.1 334.8 332.7 330.6 328.2 324.6 321.5 319.5 317.6 314.9 312.7 311.4 310.5 309.9 309.7 309.5 309.7 310.2 310.8 311.2 311.8 312.6 313.2 313.7 314.1 314.2 314.3 314.2 313.9 313.5 313.2 312.9 312.1 311.8 311.5 311.1 310.8 310.6 310.5 310.4 310.6 311.0 311.5 311.8 312.1 312.4 312.4 312.6 312.6 312.6 312.7 312.6 312.7 313.0 313.2 313.5 313.7 313.7 313.7 313.7 313.7 313.6 313.4 313.0 312.6 311.8 311.3 311.3 311.5 313.7 314.3 315.8 318.8 322.3 326.5 331.3 337.2 344.0 350.6 357.6 364.9 373.4 380.8 387.8 394.6 401.1 407.5 412.2 415.8 418.3 419.9 420.6 420.3 420.1 419.5 418.9 418.2 417.6 416.9 416.1 415.5 415.1 414.7 414.6 414.8 415.6 417.2 420.3 424.6 429.1 434.1 439.5 445.4 451.6 456.8 461.5 465.4 468.9 471.0 472.0 469.4 469.4 469.3 469.1 469.1 469.1 468.9 468.1 466.9 465.1 462.9 459.6 456.1 452.5 448.6 444.1 439.1 434.7 430.3 426.0 421.3 417.1 413.4 409.9 406.8 403.7 401.8 400.2 399.0 398.3 394.9 394.9 396.0 397.5 398.4 399.1 399.5 399.5 399.3 399.0 398.6 398.3 397.9 397.9 397.6 397.0 396.5 395.8 395.0 394.0 393.0 392.1 391.0 390.0 389.4 388.8 388.4 388.6 389.0 389.6 390.3 391.0 391.7 393.0 394.1 395.3 396.6 398.0 399.4 400.0 400.1 399.2 397.3 395.2 393.7 390.9 387.5 391.3 399.6 396.1 396.4 400.2 400.4 398.5 396.6 394.8 392.9 391.0 389.2 387.3 385.5 383.7 381.9 380.1 378.3 376.5 374.7 372.9 371.2 369.4 367.7 366.0 364.2 362.5 360.8 359.1 357.4 356.2 356.3 355.7 355.0 354.6 354.5 354.4 354.2 353.7 353.0 352.3 351.3 350.5 349.7 349.0 348.7 348.0 347.9 347.8 347.8 348.1 348.3 348.5 348.7 348.8 348.9 349.0 348.8 348.6 348.6 348.6 348.8 349.2 349.7 350.2 350.7 351.1 351.3 351.0 350.5 349.9 348.8 346.5 344.4 342.0 338.1 335.4 332.9 330.8 326.2 322.8 325.5 327.0 328.7 333.6 337.2 336.3 335.4 334.5 333.6 332.7 331.8 330.9 330.0 329.1 328.2 327.3 319.1 316.2 315.8 315.1 314.7 314.9 314.7 314.5 314.0 313.5 312.7 312.0 311.1 310.4 309.7 309.1 308.5 308.3 308.3 308.4 308.8 309.0 309.1 309.3 309.2 309.2 309.3 309.3 309.3 309.6 309.9 310.0 310.2 310.2 310.3 310.3 310.3 310.5 310.6 310.8 310.9 310.8 310.5 310.1 309.6 309.0 308.5 308.4 308.4 308.3 308.4 308.6 308.9 309.2 309.8 310.5 311.3 312.2 313.3 314.3 317.5 320.6 324.6 328.9 333.3 336.6 339.0 341.7 344.2 346.0 348.1 349.8 350.6 351.4 351.9 351.9 351.5 350.6 349.6 349.0 348.4 348.0 347.7 347.4 347.1 346.9 346.5 346.1 345.8 345.6 344.7 344.0 343.4 342.2 341.4 340.9 340.7 341.1 342.3 343.6 345.3 347.2 348.9 350.5 351.7 352.8 353.5 354.1 354.3 354.5 354.5 354.3 354.1 354.0 353.7 353.2 352.5 351.7 350.8 350.0 349.2 348.3 347.6 346.5 345.8 345.2 344.4 344.1 343.9 343.8 343.9 344.2 344.7 345.3 345.9 346.5 347.4 348.0 349.6 350.4 351.3 352.3 352.6 353.2 353.4 353.5 353.4 353.2 352.9 352.3 351.6 350.9 350.2 349.3 348.6 347.8 347.0 346.0 345.5 344.9 344.2 343.9 343.8 343.7 343.8 344.2 344.5 345.2 346.2 346.9 347.6 348.6 349.2 349.9 350.4 350.8 351.1 351.4 351.3 351.3 351.1 350.6 350.1 349.6 349.1 348.4 347.7 347.2 346.9 346.4 346.1 345.9 345.5 345.3 345.1 345.1 345.2 345.3 345.5 345.9 346.4 347.4 348.2 349.2 349.8 350.4 350.8 351.1 351.4 351.5 351.4 351.1 350.8 350.5 350.1 349.5 348.7 348.1 347.4 346.3 345.6 345.1 344.6 344.0 343.7 343.5 343.4 343.7 344.0 344.4 344.9 345.4 345.9 346.4 347.1 347.6 348.5 349.1 349.7 350.2 350.6 351.3 351.9 352.3 352.6 352.5 352.1 351.5 350.9 350.1 349.6 348.8 348.2 347.6 347.1 346.9 346.4 345.9 345.6 345.1 344.6 344.2 343.8 343.8 343.9 344.3 344.6 345.1 345.6 346.1 346.7 347.5 347.9 348.4 349.0 349.7 350.3 350.8 351.1 351.6 351.9 352.1 352.0 351.9 351.5 351.1 350.7 350.3 349.8 349.2 348.6 348.0 347.4 346.8 346.0 345.5 344.9 344.6 344.4 344.4 344.4 344.6 344.8 345.1 345.5 345.9 346.3 346.9 347.4 347.9 348.4 348.8 349.4 349.7 350.0 350.4 350.4 350.4 350.1 349.7 349.5 349.1 348.8 348.6 348.3 348.2 348.0 347.7 347.4 347.0 346.8 346.6 346.8 346.8 347.0 347.3 347.4 347.4 347.4 347.4 347.4 347.5 347.8 348.1 348.2 348.3 348.4 348.4 348.4 348.4 348.4 348.4 348.4 348.3 348.2 348.2 348.3 348.5 348.7 348.9 349.3 349.5 349.6 350.0 350.2 350.4 350.4 350.4 350.3 350.4 350.5 350.7 350.9 351.0 350.9 351.3 351.2 351.0 351.2 351.0 350.8 350.8 350.6 350.8 351.0 351.2 351.3 351.4 351.5 351.6 352.0 352.3 352.8 353.1 353.3 353.3 353.1 353.1 352.9 352.6 352.0 351.3 350.7 350.1 349.7 349.5 349.9 350.7 352.1 353.7 355.5 357.8 361.5 365.0 369.5 374.0 379.5 384.7 389.9 395.4 400.1 403.1 405.1 406.8 407.5 407.5 406.5 405.1 403.5 401.7 398.6 396.1 393.8 391.5 389.1 386.7 384.5 382.5 381.5 381.1 381.5 382.4 383.7 385.0 386.7 389.5 391.6 393.8 397.0 399.2 401.4 403.1 404.5 405.4 405.6 405.4 404.5 403.5 402.3 401.0 398.6 396.5 395.0 393.3 392.0 391.5 390.5 389.6 389.3 388.9 388.6 388.6 388.7 388.9 389.1 389.5 390.4 391.5 394.3 396.9 399.8 404.5 409.9 411.7 411.7 411.7 411.7 411.7 411.7 411.7 411.7 411.7 411.7 411.7 411.7 411.7 411.7", + "f0_timestep": "0.005" + }, + { + "offset": 76.276, + "text": "AP 你 的 生 命 给 了 我 一 半 SP", + "ph_seq": "AP n i d e sh eng m ing g ei l e w o y i b an SP", + "ph_dur": "0.231 0.045 0.127 0.045 0.0745 0.0985 0.127 0.045 0.1096 0.0624 0.2927 0.0523 0.1134 0.0596 0.472 0.045 0.1032 0.0688 0.518 0.069", + "ph_num": "2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest C4 D#4 F4 D#4 A#4 D#4 D4 D#4 F4 rest", + "note_dur": "0.276 0.172 0.173 0.172 0.172 0.345 0.173 0.517 0.172 0.518 0.069", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "269.8 269.8 269.8 269.8 269.8 269.8 269.8 269.8 269.8 269.8 269.8 269.8 269.8 269.8 269.8 269.8 269.8 269.8 269.8 269.8 269.8 269.8 269.8 269.8 269.8 269.8 269.8 269.8 269.8 269.8 269.8 269.8 269.8 269.8 269.8 269.8 269.8 286.5 286.4 286.2 286.1 285.9 285.6 285.5 285.2 285.0 284.9 284.8 284.8 284.0 282.0 279.1 275.6 271.7 267.6 263.1 259.7 257.2 255.4 254.5 255.3 256.6 257.6 258.6 260.3 261.3 261.8 262.2 262.5 262.7 262.7 262.7 262.5 262.1 261.5 260.1 258.7 257.1 257.8 258.5 263.1 267.5 271.8 276.2 280.7 285.2 289.8 291.6 292.6 296.8 302.4 307.2 310.8 312.0 312.0 312.0 312.0 311.8 311.8 311.8 311.7 311.7 311.5 311.5 311.5 311.4 311.0 310.5 309.9 309.0 308.5 308.2 325.7 329.0 332.2 335.5 338.8 342.2 345.6 349.0 352.5 356.0 359.5 363.1 365.0 360.3 357.9 355.5 354.2 353.2 352.9 352.4 351.7 351.3 350.7 350.0 349.6 349.4 349.2 349.1 348.6 347.6 346.6 345.0 343.9 342.0 340.2 338.2 335.7 334.0 332.6 330.8 328.6 326.7 325.1 323.2 321.5 321.3 321.2 318.6 316.0 314.8 313.8 312.8 312.0 310.9 309.6 308.1 306.4 305.0 304.1 303.7 304.1 305.6 308.1 311.8 314.0 316.0 317.6 318.3 317.5 315.9 314.4 313.0 311.4 313.1 329.1 345.9 363.5 382.1 401.6 422.0 443.5 466.2 462.1 462.2 463.6 465.5 467.5 469.1 470.4 471.4 472.0 472.4 472.4 471.4 470.2 468.9 466.4 465.1 464.1 463.3 462.8 462.5 462.4 462.5 462.8 463.1 463.7 464.8 465.5 466.4 467.8 468.9 469.8 470.4 470.5 470.1 469.4 468.3 466.2 463.5 460.9 457.7 454.1 450.4 445.8 440.3 432.2 420.6 409.6 397.2 389.3 381.6 373.3 362.9 353.2 345.3 337.7 331.1 325.8 321.9 318.2 315.1 313.1 312.2 311.8 312.7 314.3 315.8 317.6 317.5 316.1 314.7 313.7 312.9 312.5 312.0 311.6 311.5 311.5 311.5 311.3 311.0 310.3 309.4 308.4 307.6 306.5 305.3 304.4 303.3 301.9 300.9 300.0 299.0 298.1 297.2 296.5 295.4 294.7 294.2 293.7 293.5 293.6 293.7 293.9 294.1 294.3 294.5 295.0 295.3 295.7 296.0 296.2 296.5 296.7 296.7 296.6 296.6 296.6 296.6 296.6 296.3 296.0 295.5 295.2 295.0 294.5 294.2 293.8 293.7 293.4 293.2 292.9 292.7 292.6 292.6 292.8 293.0 293.2 293.6 293.9 294.2 294.4 294.7 295.0 295.0 295.0 295.0 295.1 295.3 295.4 295.4 295.3 295.2 295.0 295.0 294.9 294.7 294.7 294.5 294.7 294.7 294.8 294.9 294.7 294.6 294.6 294.6 294.6 294.6 294.5 294.3 294.3 294.0 294.2 294.0 294.0 294.0 293.9 293.8 293.9 293.9 293.7 293.6 293.3 292.9 292.8 292.4 292.3 292.0 291.4 290.8 290.1 289.5 288.4 287.5 286.1 284.5 282.4 281.0 280.9 282.9 288.9 293.2 295.0 297.6 300.2 302.6 305.1 307.4 309.2 310.5 311.6 312.3 312.7 312.6 312.3 311.7 310.6 309.1 307.8 306.7 305.1 303.0 301.4 297.9 292.1 280.0 278.0 281.4 286.1 290.9 295.8 300.7 305.7 310.8 316.0 321.3 326.7 332.1 337.7 343.3 349.1 347.8 347.9 349.7 350.8 351.9 352.9 354.1 354.9 355.2 355.7 355.0 354.3 353.1 351.7 349.8 347.3 345.5 343.5 342.1 341.2 340.4 339.7 339.2 338.9 338.8 339.3 340.2 341.1 342.0 343.2 344.2 345.2 346.5 347.6 348.6 349.7 350.8 351.5 351.9 352.1 352.1 351.8 351.3 350.6 349.6 348.6 347.3 345.9 344.8 343.5 342.2 341.3 340.4 339.7 339.1 338.5 338.5 338.5 339.0 339.5 340.5 341.6 343.0 344.4 345.5 347.1 348.5 349.6 350.4 350.8 350.6 350.1 349.6 349.3 349.0 348.8 348.7 348.6 348.8 349.1 349.1 347.6 345.1 341.9 338.0 338.2 342.2 342.2 342.2 342.2 342.2 342.2 342.2 342.2 342.2 342.2 342.2 342.2 342.2 342.2 342.2 342.2 342.2 342.2 342.2 342.2 342.2 342.2 342.2 342.2 342.2 342.2 342.2 342.2 342.2 342.2 342.2", + "f0_timestep": "0.005" + }, + { + "offset": 79.035, + "text": "AP 你 的 爱 也 给 了 我 一 半 SP", + "ph_seq": "AP n i d e ai y E g ei l e w o y i b an SP", + "ph_dur": "0.23 0.045 0.148 0.025 0.127 0.1853 0.0327 0.1042 0.0678 0.3 0.045 0.1097 0.0623 0.472 0.045 0.1015 0.0715 0.517 0.068", + "ph_num": "2 2 1 2 2 2 2 2 2 1 1", + "note_seq": "rest A#3 D#4 F4 D#4 F4 D#4 D4 D#4 D#4 rest", + "note_dur": "0.275 0.173 0.172 0.173 0.172 0.345 0.172 0.517 0.173 0.517 0.068", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "252.6 252.6 252.6 252.6 252.6 252.6 252.6 252.6 252.6 252.6 252.6 252.6 252.6 252.6 252.6 252.6 252.6 252.6 252.6 252.6 252.6 252.6 252.6 252.6 252.6 252.6 252.6 252.6 252.6 252.6 252.6 252.6 252.6 252.6 252.6 252.6 252.6 252.6 252.6 252.6 252.6 252.6 252.6 252.6 252.2 251.3 250.5 250.9 251.1 250.9 250.3 249.1 247.1 244.4 241.3 238.7 234.9 231.2 228.7 227.1 226.5 226.9 227.9 229.1 230.2 231.2 232.4 233.3 233.6 233.7 233.9 233.4 232.6 231.4 229.8 228.1 226.6 225.1 223.1 219.8 216.8 213.0 208.7 218.6 229.0 239.8 251.2 263.1 275.5 288.6 302.3 307.5 307.4 308.3 309.4 310.5 311.6 312.0 312.4 312.7 312.7 312.7 312.4 312.0 312.0 312.3 312.5 312.9 313.4 313.4 313.2 313.0 312.5 312.3 311.7 311.2 310.6 310.1 310.1 310.3 311.0 312.7 314.7 317.5 321.3 324.6 327.8 331.7 335.1 338.5 342.8 344.8 347.0 348.5 350.0 350.7 350.8 349.9 348.8 347.7 346.4 344.8 342.7 340.8 338.5 336.3 334.1 331.5 328.8 324.7 323.2 321.0 317.8 315.4 313.3 311.8 310.8 310.2 309.8 309.7 309.7 309.7 309.9 310.2 310.8 311.4 311.8 311.3 310.3 309.0 307.6 305.9 304.0 302.4 303.1 307.6 306.7 308.4 311.1 313.8 316.5 319.3 322.0 324.8 327.6 330.5 333.3 336.2 339.2 342.1 345.1 348.0 351.1 354.1 353.6 354.3 355.0 354.6 354.4 354.0 353.5 352.9 352.3 351.3 350.6 349.8 348.8 347.9 347.1 346.3 345.6 345.1 344.5 344.3 344.2 344.2 344.2 344.3 344.6 344.8 345.1 345.5 345.8 346.1 346.5 346.9 347.2 347.6 347.8 347.8 347.9 348.0 348.3 348.9 349.6 350.2 350.9 351.5 351.8 351.7 351.1 350.1 348.5 346.6 344.5 341.5 338.5 335.5 332.3 328.9 325.2 321.9 318.7 315.7 312.6 309.9 307.7 305.8 304.2 302.8 302.1 301.8 302.0 302.8 304.5 307.2 310.3 312.9 314.6 315.5 314.5 314.3 313.8 313.4 312.8 312.0 311.4 310.9 310.6 310.6 309.7 308.1 305.8 303.5 301.2 299.5 298.8 297.6 296.9 296.7 297.3 297.8 297.8 297.4 297.4 297.4 297.3 297.0 296.8 296.7 296.8 297.0 297.1 297.1 297.1 297.1 297.1 297.4 297.1 296.7 296.4 296.0 295.5 294.9 294.3 293.7 293.1 292.6 292.2 292.0 291.9 291.6 291.6 291.6 291.6 291.8 291.8 292.1 292.1 292.1 292.3 292.6 292.9 293.2 293.7 294.1 294.3 294.7 295.1 295.2 295.6 295.7 295.4 295.2 295.0 294.6 294.4 294.1 293.7 293.5 293.3 293.2 293.2 293.2 293.3 293.3 293.2 293.0 293.0 292.9 292.8 292.9 292.9 292.9 293.1 293.2 293.3 293.7 293.7 293.9 294.0 294.1 294.3 294.2 294.3 294.3 294.3 294.3 294.2 294.1 294.0 293.9 293.9 294.0 294.0 294.0 293.9 294.2 294.6 295.6 297.0 298.2 299.3 300.7 302.0 303.2 304.5 305.8 307.0 308.3 309.5 310.3 310.9 311.1 311.1 311.2 311.3 311.3 311.5 311.6 311.8 311.8 311.8 311.9 311.6 310.3 308.1 304.5 301.1 297.2 292.9 289.4 286.7 284.9 283.9 284.0 284.6 285.7 287.2 289.0 291.6 294.3 297.0 299.9 303.1 306.3 308.9 311.5 313.6 315.6 316.9 317.6 318.0 317.8 317.5 317.0 316.4 315.7 315.0 314.2 313.1 312.0 311.1 310.2 309.2 308.3 307.5 306.9 306.3 305.8 305.6 305.6 305.7 306.3 307.1 308.3 309.7 311.5 313.3 315.0 316.9 318.4 319.6 320.6 321.2 321.6 321.6 321.2 320.6 319.9 319.1 318.0 316.7 315.5 314.3 313.0 311.6 310.3 309.3 308.3 307.5 306.8 306.3 306.1 307.3 307.7 308.4 309.3 310.1 311.1 312.2 313.7 314.6 315.5 316.5 317.1 317.7 318.2 318.5 318.5 318.3 317.9 317.2 316.6 315.7 314.9 313.7 313.2 312.7 312.3 312.2 312.1 312.1 311.7 310.1 308.6 306.3 301.5 298.5 298.5 298.5 298.5 298.5 298.5 298.5 298.5 298.5 298.5 298.5 298.5 298.5 298.5 298.5 298.5 298.5 298.5 298.5 298.5 298.5 298.5 298.5 298.5", + "f0_timestep": "0.005" + }, + { + "offset": 81.793, + "text": "AP 夏 天 不 懂 冬 日 的 严 寒 SP", + "ph_seq": "AP x ia t ian b u d ong d ong r ir d e y En h an SP", + "ph_dur": "0.156 0.12 0.0835 0.0885 0.0999 0.0731 0.127 0.045 0.0834 0.0896 0.299 0.045 0.148 0.025 0.4761 0.0409 0.1074 0.0656 0.517 0.069", + "ph_num": "2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest C4 D#4 F4 D#4 A#4 D#4 D4 D#4 F4 rest", + "note_dur": "0.276 0.172 0.173 0.172 0.173 0.344 0.173 0.517 0.173 0.517 0.069", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.3 285.1 274.1 270.4 268.4 266.6 265.4 264.4 263.2 262.3 261.5 260.9 260.3 258.7 257.4 256.2 253.6 251.6 249.5 248.5 250.5 254.3 258.2 262.2 266.2 270.2 274.4 278.6 282.8 287.1 291.5 296.0 300.5 305.1 309.8 309.8 309.3 309.3 309.6 310.1 310.2 310.3 310.6 310.7 311.2 311.5 311.5 311.3 310.7 310.0 309.7 309.3 308.9 308.5 307.6 306.3 304.6 302.8 301.3 300.7 299.8 299.9 307.2 314.7 322.4 330.3 338.3 346.6 355.1 352.3 349.8 349.3 349.2 349.6 350.1 350.2 350.4 350.4 350.4 350.2 350.0 349.9 349.4 348.9 348.2 346.6 344.1 340.8 337.0 332.8 328.8 325.2 323.2 321.4 322.0 322.7 323.4 324.1 324.8 325.5 326.2 326.9 327.6 328.3 327.4 323.9 320.6 318.7 316.7 315.6 314.6 313.5 312.7 311.6 310.6 309.9 309.4 309.6 310.0 310.5 311.3 312.0 312.4 313.1 313.9 314.0 314.7 314.6 312.7 326.7 341.4 356.7 372.6 389.3 406.7 424.9 444.0 463.8 478.3 471.4 469.7 468.3 465.3 465.1 464.4 463.9 463.7 463.9 464.0 464.0 463.4 462.4 461.4 460.2 458.9 458.1 457.6 457.7 458.2 458.6 459.5 460.4 461.4 462.1 463.2 464.2 464.7 465.1 465.8 466.3 466.8 467.4 467.9 468.6 468.9 469.3 469.7 469.7 469.9 469.9 469.6 469.0 468.2 467.0 465.6 464.2 462.3 459.3 456.7 453.4 448.7 444.9 439.7 433.3 426.4 419.8 411.5 403.8 396.9 389.9 381.8 373.1 366.4 358.0 352.8 347.7 342.6 337.6 332.7 327.9 323.1 318.4 313.7 309.2 308.0 309.0 309.9 310.6 310.6 310.6 310.3 309.8 309.2 308.4 306.5 304.6 302.8 300.5 299.1 299.1 299.8 300.6 301.4 302.1 302.9 303.7 304.5 305.2 306.0 295.5 295.6 295.7 296.0 296.5 296.9 297.3 297.8 298.4 298.9 299.1 299.4 299.6 299.8 299.7 299.4 298.9 298.1 297.2 296.4 295.3 294.1 292.9 291.9 291.0 290.2 289.5 289.1 289.0 291.2 291.5 291.8 291.8 292.5 292.6 292.8 293.3 293.7 294.2 294.6 294.7 294.8 294.8 294.7 294.7 294.8 294.7 294.5 294.3 294.2 294.3 294.1 294.0 294.1 294.1 294.1 294.3 294.3 294.1 293.8 293.8 293.7 293.8 293.8 294.0 294.3 294.3 294.3 294.3 294.3 294.4 294.5 294.7 294.9 295.2 295.5 295.6 295.7 296.2 295.9 295.7 295.0 294.0 292.7 290.9 289.1 287.1 285.6 284.6 284.2 283.5 281.2 276.2 271.8 270.1 266.3 270.2 276.0 281.9 288.0 294.2 300.6 307.1 313.7 313.7 310.5 309.7 310.3 310.8 311.6 312.4 313.7 314.6 314.4 314.2 313.3 312.4 311.4 310.0 308.1 306.2 303.7 300.4 294.5 286.8 283.3 287.3 288.0 290.0 292.6 296.0 300.1 305.3 311.0 316.6 322.3 328.3 335.2 340.4 345.3 349.5 353.2 355.7 357.1 357.5 357.3 356.8 356.3 355.3 354.3 353.2 351.9 350.5 349.0 347.6 346.3 345.0 343.6 342.4 341.5 340.8 340.3 339.7 339.7 339.8 340.3 341.1 342.2 343.5 345.0 346.7 348.8 350.4 352.0 353.4 354.6 355.4 355.7 355.9 355.7 355.2 354.7 354.0 353.2 352.1 351.0 350.0 348.8 347.6 346.4 345.3 344.4 343.5 342.7 342.0 341.6 341.4 341.4 341.4 341.9 342.8 343.8 344.9 346.1 347.5 349.1 350.4 351.6 352.8 353.9 354.6 355.0 355.3 355.2 355.0 354.7 354.3 353.7 353.2 352.5 351.8 351.0 350.4 349.9 349.4 348.9 348.6 348.6 348.6 348.6 348.6 348.6 348.8 348.8 348.9 349.0 349.1 349.3 349.4 349.6 349.6 349.8 349.8 349.9 350.0 350.0 350.0 350.2 330.0 330.0 330.0 330.0 330.0 330.0 330.0 330.0 330.0 330.0", + "f0_timestep": "0.005" + }, + { + "offset": 84.552, + "text": "AP 未 曾 想 过 人 生 的 辛 酸 SP", + "ph_seq": "AP w ei c eng x iang g uo r en sh eng d e x in s uan SP", + "ph_dur": "0.231 0.045 0.112 0.06 0.0973 0.0747 0.1116 0.0614 0.127 0.045 0.2192 0.1258 0.127 0.045 0.368 0.15 0.0846 0.0874 0.517 0.069", + "ph_num": "2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest A#3 D#4 F4 D#4 F4 G4 G#4 G4 G4 rest", + "note_dur": "0.276 0.172 0.172 0.173 0.172 0.345 0.172 0.518 0.172 0.517 0.069", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "262.2 262.2 262.2 262.2 262.2 262.2 262.2 262.2 262.2 262.2 262.2 262.2 262.2 262.2 262.2 262.2 262.2 262.2 262.2 262.2 262.2 262.2 262.2 262.2 262.2 262.2 262.2 262.2 262.2 262.2 262.2 262.2 262.2 262.2 262.2 262.2 262.2 262.2 262.2 262.2 262.2 262.2 262.2 262.2 262.2 262.2 262.2 258.1 253.5 248.8 244.4 240.9 238.1 235.7 233.7 232.4 231.7 231.2 231.3 231.4 231.9 232.7 233.6 235.0 236.3 237.2 237.9 238.4 238.4 238.1 237.4 236.1 234.2 233.2 231.7 228.9 228.3 227.8 227.8 231.2 236.7 242.4 248.2 254.2 260.3 266.6 273.0 279.5 286.2 293.1 300.2 307.4 308.9 309.5 309.5 310.2 311.1 312.0 312.6 312.7 312.5 311.7 310.5 308.9 306.5 302.8 300.0 298.0 294.2 299.0 303.0 306.8 310.7 314.5 318.5 322.5 326.5 330.6 334.7 338.9 343.2 347.5 351.8 356.2 360.7 359.2 357.3 354.6 352.7 351.4 350.2 349.5 349.2 349.2 349.0 349.1 349.2 349.2 348.5 347.8 346.8 345.4 343.0 339.9 336.0 330.4 324.3 319.2 314.8 310.3 305.9 302.3 297.4 289.7 295.1 300.7 306.3 312.1 317.9 317.7 313.4 312.0 311.5 310.7 310.3 310.3 310.0 309.6 309.3 309.2 309.3 309.3 309.5 309.7 309.2 308.6 307.8 306.8 305.5 304.0 302.9 302.8 303.4 304.8 307.4 309.2 312.6 316.4 319.3 322.8 328.6 334.0 338.2 341.9 345.8 348.8 350.9 352.4 352.9 353.0 352.9 352.4 352.1 351.9 351.5 351.3 350.9 350.4 349.8 349.1 348.5 348.1 347.7 347.1 347.0 346.7 346.4 346.4 346.6 346.9 347.6 348.0 348.6 349.3 349.8 350.6 351.8 352.9 353.7 354.3 354.8 354.8 354.3 353.5 351.9 350.0 347.7 345.0 338.7 333.6 330.8 328.6 329.9 333.5 337.2 341.0 344.7 348.5 352.4 356.3 360.2 364.2 368.2 372.3 376.4 380.5 384.7 389.0 393.3 397.6 402.0 406.5 406.4 392.2 392.2 392.2 392.2 392.6 393.4 393.7 394.0 394.0 393.7 393.4 392.9 392.3 391.8 391.2 390.3 388.8 387.9 387.9 388.5 388.4 388.0 387.0 385.6 383.5 381.7 380.8 379.0 379.7 387.0 390.6 376.7 386.6 396.8 407.2 418.0 416.7 418.2 419.9 420.7 421.5 422.0 422.1 422.0 421.7 421.0 419.6 418.1 416.3 414.2 412.4 411.0 409.6 407.9 407.0 406.3 405.7 405.7 406.1 406.6 407.4 408.3 409.4 410.6 412.0 413.1 414.1 414.9 416.0 416.6 416.9 417.2 417.4 417.6 417.6 417.3 417.1 416.8 416.3 415.5 415.0 414.6 414.1 413.4 412.7 412.1 411.2 410.9 410.3 409.9 409.6 409.2 409.2 409.4 409.9 410.7 411.7 412.9 413.8 414.8 415.6 416.7 417.3 417.5 417.3 416.4 414.9 412.8 409.6 405.7 401.9 397.1 390.1 384.1 384.1 384.1 384.1 384.1 384.1 384.0 384.0 384.0 384.0 384.0 383.9 383.9 383.9 383.9 383.9 383.8 383.8 383.8 383.8 383.8 383.8 383.7 383.7 386.5 389.1 390.1 391.5 391.8 391.7 391.3 390.8 390.2 389.6 388.6 387.5 385.5 383.8 381.9 379.1 374.5 369.8 366.4 363.0 362.3 364.5 367.8 371.1 374.4 377.7 381.1 384.5 387.9 391.4 394.9 398.4 402.0 405.6 409.2 412.9 413.3 409.2 406.7 404.8 403.6 403.2 402.9 402.6 401.8 400.7 399.5 398.1 396.7 395.0 393.1 391.7 390.6 390.2 390.2 390.3 390.9 391.5 392.2 393.2 394.3 395.2 396.0 396.7 397.4 398.0 398.3 398.5 398.7 398.8 398.5 398.2 397.6 397.0 396.3 395.4 394.7 394.0 392.9 391.6 390.7 390.0 389.3 388.8 388.6 388.7 388.9 389.1 389.4 390.0 390.6 391.3 391.9 392.9 393.7 394.3 395.2 396.0 396.7 397.3 397.9 398.2 398.5 398.6 398.4 398.3 398.2 397.8 397.2 396.5 396.0 395.4 394.6 393.7 392.9 392.1 391.5 391.3 391.3 391.3 391.1 391.1 391.1 391.3 391.3 391.3 391.3 391.1 390.9 390.6 390.2 389.7 389.4 388.8 387.4 385.6 383.3 378.9 378.9 378.9 378.9 378.9 378.9 378.9 378.9 378.9 378.9 378.9 378.9 378.9 378.9 378.9", + "f0_timestep": "0.005" + }, + { + "offset": 87.31, + "text": "AP 曾 经 有 过 多 少 的 遗 憾 SP", + "ph_seq": "AP c eng j ing y ou g uo d uo sh ao d e y i h an SP", + "ph_dur": "0.171 0.105 0.0905 0.0825 0.127 0.045 0.1087 0.0633 0.113 0.06 0.2158 0.1292 0.127 0.045 0.48 0.037 0.1021 0.0709 0.517 0.069", + "ph_num": "2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest C4 D#4 F4 D#4 A#4 D#4 D4 D#4 F4 rest", + "note_dur": "0.276 0.173 0.172 0.172 0.173 0.345 0.172 0.517 0.173 0.517 0.069", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 278.8 261.6 261.7 261.8 262.0 262.1 262.3 262.6 262.8 262.9 263.0 263.2 263.2 262.8 262.0 260.7 258.8 256.7 254.7 252.6 250.7 248.5 247.2 246.3 245.8 263.7 267.0 270.4 273.7 277.2 280.7 284.2 287.7 291.4 295.0 298.7 302.5 306.3 310.3 313.7 311.3 309.7 310.1 310.1 309.8 309.4 309.1 309.0 309.1 309.2 309.2 309.5 309.8 310.2 310.5 310.9 311.2 312.0 312.8 313.9 315.4 317.0 318.2 319.3 320.9 322.8 324.6 327.1 330.6 333.2 336.0 338.5 341.1 343.4 345.9 347.6 348.5 349.0 349.6 350.2 350.5 350.5 349.9 348.9 347.4 345.2 343.0 340.2 338.7 336.4 333.7 334.8 330.0 323.3 318.2 316.8 317.5 318.1 318.8 319.5 320.2 320.8 321.5 322.2 322.9 323.6 324.3 325.0 318.4 315.7 314.5 313.6 313.4 313.6 313.4 313.1 312.9 312.4 311.5 310.6 308.6 306.0 305.5 305.1 305.7 309.8 310.9 306.6 299.7 301.3 314.5 328.2 342.6 357.5 373.2 389.5 406.5 419.5 421.1 426.0 432.6 441.1 449.2 455.8 460.4 462.4 462.7 463.3 464.0 464.8 465.6 466.1 465.6 464.6 462.9 461.2 460.2 460.0 460.1 460.8 461.7 462.7 463.8 465.0 465.9 466.6 467.3 469.1 469.4 469.4 468.7 466.7 464.5 462.1 459.3 455.3 450.3 445.3 437.8 430.3 426.1 422.0 417.9 413.9 409.9 405.9 402.0 398.1 394.3 390.5 386.7 383.0 379.3 375.6 372.0 368.4 364.8 361.3 357.8 354.4 351.0 347.6 344.2 340.9 337.6 334.3 331.1 311.5 311.3 311.0 310.6 310.1 309.7 309.2 308.8 308.6 308.6 308.7 309.2 309.7 310.4 311.1 311.6 312.1 312.4 312.5 312.0 310.6 308.7 306.4 303.8 300.8 297.8 295.3 293.2 291.5 290.2 289.8 288.1 289.2 290.6 292.2 294.0 295.6 297.0 298.3 299.5 299.9 297.6 297.9 299.8 300.1 300.2 300.1 299.8 299.2 298.5 298.0 297.6 297.3 296.8 296.3 295.7 295.0 294.2 293.3 293.0 292.5 291.7 291.4 291.1 291.0 291.1 291.1 291.2 291.5 291.8 292.3 292.8 293.3 293.8 294.4 294.9 295.3 295.6 295.7 295.5 295.4 295.4 295.4 295.4 295.4 295.3 295.0 295.0 295.0 294.7 294.7 294.5 294.4 294.3 294.1 294.0 294.0 293.9 294.0 294.2 294.5 294.7 294.9 294.9 295.0 295.0 295.0 295.2 295.2 294.9 295.0 294.9 294.7 294.3 293.7 292.5 290.8 288.1 285.3 282.8 276.4 274.3 275.1 275.9 276.7 277.5 278.3 279.1 279.9 280.7 281.5 282.3 283.1 283.9 284.7 285.5 286.3 287.1 288.0 294.9 301.5 304.8 306.7 308.0 309.0 309.9 310.5 310.5 310.2 309.2 306.2 303.1 297.8 294.3 290.5 286.2 283.9 286.0 289.1 292.3 295.4 298.7 301.9 305.2 308.6 311.9 315.4 318.8 322.3 325.8 329.4 333.0 336.6 340.3 344.0 347.8 351.6 351.8 350.8 351.8 352.3 352.8 353.4 353.7 353.9 353.7 353.2 352.3 351.3 350.2 348.8 347.1 345.5 344.1 342.8 341.7 341.1 340.7 340.7 340.9 341.1 341.7 342.4 343.3 344.5 345.8 347.0 348.0 348.8 349.6 350.2 350.6 351.1 351.5 351.7 351.9 351.6 351.3 350.8 350.3 349.6 348.6 347.6 346.3 345.2 344.3 343.5 342.6 341.8 341.1 340.6 340.2 340.1 340.1 340.2 340.9 341.4 342.0 343.1 344.4 345.4 346.4 347.5 348.7 349.8 350.6 351.2 351.4 351.0 350.5 349.2 348.2 347.5 347.1 347.3 347.6 347.8 347.6 346.6 345.4 344.1 343.8 344.1 343.6 343.6 343.6 343.6 343.6 343.6 343.6 343.6 343.6 343.6 343.6 343.6 343.6 343.6 343.6 343.6 343.6 343.6 343.6 343.6 343.6 343.6 343.6 343.6 343.6 343.6 343.6 343.6 343.6 343.6", + "f0_timestep": "0.005" + }, + { + "offset": 90.069, + "text": "AP 最 后 全 都 微 笑 着 释 然 SP", + "ph_seq": "AP z ui h ou q van d ou w ei x iao zh e sh ir r an SP", + "ph_dur": "0.1288 0.1472 0.1003 0.0717 0.1015 0.0715 0.127 0.045 0.1108 0.0612 0.2074 0.1376 0.0926 0.0804 0.3454 0.1716 0.1152 0.0568 0.518 0.069", + "ph_num": "2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest A#3 D#4 F4 D#4 F4 D#4 D4 D#4 D#4 rest", + "note_dur": "0.276 0.172 0.173 0.172 0.172 0.345 0.173 0.517 0.172 0.518 0.069", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 247.9 237.2 237.0 236.7 236.2 235.8 235.3 235.0 234.8 234.7 234.7 234.7 234.7 234.7 234.6 234.6 234.6 234.6 234.6 234.6 234.4 233.4 231.5 228.9 225.7 222.6 220.5 219.2 219.0 221.2 225.4 231.9 240.2 250.1 263.4 275.0 286.1 296.4 306.0 310.9 313.1 312.9 312.7 312.6 312.1 311.7 311.4 311.1 311.1 311.1 311.1 311.1 311.3 311.3 311.3 311.5 310.5 308.2 305.1 301.1 298.4 297.0 316.1 319.7 323.4 327.0 330.7 334.5 338.3 342.1 346.0 349.9 353.9 357.9 360.6 358.1 355.6 353.9 352.7 352.0 351.3 350.9 350.7 350.5 350.2 349.8 349.4 348.9 348.0 346.9 345.6 344.0 342.7 340.9 338.2 333.8 330.5 325.6 319.9 314.8 310.2 306.1 301.0 293.5 290.6 295.9 305.5 315.4 325.7 322.3 320.1 317.7 315.8 313.7 312.4 311.2 310.1 309.3 309.2 309.5 309.9 310.3 310.5 310.6 310.8 310.6 310.6 310.3 310.1 310.2 311.5 312.4 313.7 315.3 317.4 319.9 323.2 326.3 329.5 332.9 336.7 340.0 343.2 346.0 348.4 350.7 352.3 353.3 353.6 353.5 353.2 352.7 352.2 351.5 350.6 349.8 349.2 348.7 348.2 348.0 348.0 348.1 348.4 349.0 349.5 350.2 350.6 351.3 351.6 351.7 351.7 351.0 349.7 348.9 348.6 347.8 345.9 342.8 339.1 334.9 330.5 325.2 321.2 317.7 315.0 313.3 312.6 313.2 313.7 314.0 314.3 314.5 314.4 314.4 314.3 314.1 314.0 313.8 313.7 313.5 313.4 313.2 313.1 313.1 313.1 313.0 312.8 312.5 312.2 311.7 311.2 310.9 310.7 310.6 310.6 310.6 310.6 310.6 310.6 310.6 310.6 310.6 310.6 310.6 310.4 310.0 309.3 308.0 306.5 304.9 303.0 300.8 298.6 296.6 294.6 292.6 290.6 289.2 288.0 287.0 286.4 286.1 286.4 287.0 288.1 289.8 291.5 293.2 294.7 296.1 297.0 297.4 297.3 297.1 296.8 296.3 295.9 295.4 294.9 294.0 293.4 293.0 292.5 292.1 291.7 291.6 291.1 291.3 291.1 291.3 291.5 291.7 292.0 292.3 292.7 293.2 293.6 294.1 294.6 294.9 295.2 295.4 295.4 295.5 295.4 295.4 295.2 294.9 294.9 294.7 294.6 294.4 294.0 293.7 293.3 293.0 292.8 292.6 292.6 292.8 293.2 293.5 294.1 294.5 295.1 295.7 296.3 296.6 297.0 297.2 297.2 297.2 296.8 296.1 294.2 291.7 290.3 285.5 284.6 280.6 280.4 281.1 281.8 282.6 283.3 284.1 284.9 285.6 286.4 287.1 287.9 288.7 289.4 290.2 291.0 291.7 292.5 293.3 294.1 294.9 295.6 296.4 297.2 298.0 298.8 299.6 300.4 301.2 302.0 302.8 308.9 310.2 310.2 310.8 311.1 311.0 310.8 310.6 310.0 309.3 308.6 307.4 305.8 304.6 303.3 301.8 300.5 299.3 298.3 298.7 299.5 300.8 302.3 303.8 305.0 306.3 308.0 309.8 311.3 313.0 313.4 314.1 314.7 315.2 315.5 315.3 315.3 315.2 315.2 315.5 315.4 314.7 313.9 313.0 312.5 312.2 311.7 311.1 310.1 309.0 308.2 307.1 306.4 305.6 304.8 304.1 303.4 303.1 303.1 303.2 303.7 304.2 304.9 306.2 307.4 308.6 309.5 310.8 312.0 312.8 313.8 314.5 314.9 315.2 315.6 316.1 316.1 315.7 315.1 314.4 313.5 312.7 311.3 310.4 309.5 308.2 307.2 306.3 305.5 304.7 304.0 303.7 303.5 303.2 303.3 303.5 303.8 304.5 305.1 306.0 307.0 308.1 309.0 309.8 310.6 311.3 311.9 312.5 312.8 313.0 313.1 312.9 312.9 312.6 312.1 311.5 311.2 310.6 310.2 309.8 309.1 308.2 307.3 306.6 306.1 305.7 305.3 304.8 304.4 303.2 300.7 298.3 295.8 291.3 286.5 285.0 285.3 285.3 285.3 285.3 285.3 285.3 285.3 285.3 285.3 285.3 285.3 285.3 285.3 285.3 285.3", + "f0_timestep": "0.005" + }, + { + "offset": 92.828, + "text": "SP 是 否 SP 爱 就 是 要 被 他 人 欺 诈 未 来 SP", + "ph_seq": "SP sh ir f ou SP ai j iu sh ir y ao b ei t a r en q i zh a w ei l ai SP", + "ph_dur": "0.08 0.195 0.225 0.12 0.561 0.084 0.2715 0.1185 0.225 0.12 0.299 0.045 0.3 0.045 0.1043 0.0687 0.472 0.045 0.1721 0.1729 0.5653 0.1237 0.3 0.045 0.1035 0.0695 0.344 0.068", + "ph_num": "2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest F4 D#4 rest A#3 G4 G4 G#4 G4 F4 D#4 D#4 D4 D#4 D#4 rest", + "note_dur": "0.275 0.345 0.561 0.129 0.345 0.345 0.344 0.345 0.173 0.517 0.345 0.689 0.345 0.173 0.344 0.068", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "369.8 369.8 369.8 369.8 369.8 369.8 369.8 369.8 369.8 369.8 369.8 369.8 369.8 369.8 369.8 369.8 369.8 369.8 369.8 369.8 369.8 369.8 369.8 369.8 369.8 369.8 369.8 369.8 369.8 369.8 369.8 369.8 369.8 369.8 369.8 369.8 369.8 369.8 369.8 369.8 369.8 369.8 369.8 369.8 369.8 369.8 369.8 369.8 369.8 369.8 369.8 353.5 353.3 353.1 352.5 352.1 351.7 351.2 350.7 350.4 350.2 350.2 350.0 350.0 350.0 350.0 350.0 349.8 349.8 349.6 349.6 349.6 349.6 349.6 349.6 349.6 349.7 349.8 350.2 350.6 350.9 351.3 351.5 351.7 351.7 351.7 350.4 347.9 344.9 341.3 337.0 332.2 327.3 323.0 319.1 315.8 312.7 310.9 310.2 311.2 311.8 312.3 312.8 313.4 313.9 314.4 315.0 315.5 316.0 316.6 317.1 317.7 318.2 318.7 319.3 319.8 320.4 320.9 321.5 322.0 322.6 323.1 323.7 324.2 324.5 319.7 316.4 316.3 316.4 316.4 317.0 317.2 316.8 316.4 315.9 314.7 314.0 312.8 311.6 310.2 308.9 308.0 307.0 306.1 305.5 304.6 303.6 302.9 302.4 302.3 302.4 302.6 303.3 304.7 305.8 306.9 308.0 309.2 310.3 311.3 312.1 312.9 313.5 313.9 314.0 314.0 313.8 313.5 312.7 311.8 310.9 309.8 308.8 307.8 306.9 306.0 305.2 304.5 304.0 303.4 303.3 303.1 303.3 303.8 304.4 305.3 306.6 307.6 308.4 309.4 310.5 311.5 312.3 313.0 313.4 313.6 313.4 313.1 312.6 312.0 311.7 309.5 309.2 308.4 307.4 306.0 304.4 302.3 299.8 297.4 294.5 291.7 288.1 284.6 281.3 277.9 274.3 270.1 266.7 263.2 259.8 256.2 252.7 249.7 246.8 244.1 241.2 238.9 236.8 235.0 233.2 231.8 230.6 229.9 229.3 229.0 229.0 229.3 229.7 230.4 231.2 232.1 232.9 233.6 234.1 234.5 263.7 261.4 259.1 256.9 254.6 252.4 250.2 248.0 245.8 243.6 241.5 239.4 237.3 235.2 233.1 231.1 229.1 229.7 230.4 231.4 232.0 232.3 232.5 232.6 232.6 232.5 232.4 232.2 232.0 231.7 231.7 231.7 232.1 232.3 232.0 232.0 231.7 231.7 231.7 231.8 231.9 232.1 232.2 232.3 232.4 232.5 232.9 233.1 233.5 233.8 233.8 233.7 233.5 233.1 232.5 232.0 231.5 230.8 229.5 227.7 225.7 223.6 220.0 216.6 220.4 226.3 232.4 238.6 245.0 251.6 258.3 265.3 272.4 279.7 287.2 268.5 269.9 273.6 279.2 286.5 297.2 307.3 317.5 327.7 338.5 345.5 350.5 352.9 353.5 355.1 358.1 362.9 367.8 373.2 378.5 384.0 388.7 392.0 393.8 394.4 394.3 394.0 393.7 393.3 392.9 392.7 392.4 390.9 390.6 390.6 390.6 390.9 391.5 392.1 392.9 393.5 394.1 394.3 393.8 393.9 394.3 394.4 394.8 395.2 395.4 395.4 395.6 394.7 392.0 388.8 384.8 380.2 374.5 370.1 365.8 362.4 359.7 357.8 377.6 378.8 380.0 381.2 382.4 383.6 384.8 386.0 387.2 388.5 389.7 390.9 392.2 393.4 394.6 395.9 397.2 397.6 395.9 395.5 395.9 396.3 396.3 396.3 396.0 395.3 394.4 393.7 392.7 391.8 391.0 390.2 389.6 389.1 388.8 388.8 388.7 388.8 388.8 389.0 389.5 389.7 390.0 390.4 390.6 390.8 391.0 391.2 391.3 391.5 391.8 392.1 392.2 392.2 392.3 392.4 392.6 392.7 392.7 392.8 392.8 392.7 392.7 392.6 392.4 392.1 391.7 391.5 391.1 390.9 390.9 391.1 391.5 391.9 392.4 393.1 394.2 395.4 396.9 398.6 400.5 403.2 406.1 409.5 412.4 414.4 415.8 417.4 419.2 420.8 421.6 421.6 421.3 420.7 420.2 419.6 418.8 418.0 417.1 415.7 414.9 414.1 413.5 412.4 412.0 411.8 411.5 411.3 411.2 411.4 411.7 412.3 412.8 413.3 414.0 414.4 414.8 414.8 414.8 414.8 414.8 414.3 414.1 413.8 413.4 413.5 413.6 413.8 414.3 414.7 414.8 414.5 413.9 412.9 411.7 410.5 408.9 408.1 407.3 405.9 404.3 401.5 397.6 392.2 384.9 380.5 379.2 377.4 382.9 398.8 401.0 401.2 400.4 398.7 396.9 395.0 392.8 391.1 389.8 389.3 389.3 389.5 390.0 390.8 391.5 392.2 393.0 393.4 393.6 393.4 391.9 389.3 385.7 381.3 375.7 371.1 366.8 363.4 360.6 359.6 339.7 339.1 338.4 337.8 337.2 336.5 335.9 335.3 334.7 336.2 340.8 344.6 345.4 345.9 346.6 348.4 350.0 352.1 353.8 354.9 354.9 354.1 352.9 351.7 350.6 349.6 348.6 347.7 347.1 346.9 347.0 347.1 347.3 347.6 347.6 347.8 347.8 348.2 348.4 348.7 348.9 349.1 349.3 349.6 349.9 350.1 350.2 350.2 350.2 350.4 350.4 350.3 350.0 349.9 349.7 349.5 349.4 349.3 349.2 349.2 349.3 349.6 349.9 350.0 350.0 350.0 350.0 350.2 350.2 350.4 350.6 350.8 351.0 351.1 351.4 351.5 351.5 351.4 351.3 351.2 351.0 351.0 350.6 350.2 349.7 349.0 348.5 347.8 346.9 345.7 344.0 341.8 338.8 336.0 332.9 329.4 325.7 320.6 318.6 316.7 314.4 313.2 312.4 312.3 312.5 313.0 313.6 314.4 315.5 316.3 316.9 317.5 317.8 317.5 317.3 316.7 316.4 315.8 315.3 314.7 314.3 313.9 313.4 312.8 312.3 311.5 310.6 310.0 309.7 309.7 309.9 310.1 309.9 310.1 310.6 311.1 312.0 312.9 313.6 314.1 314.6 314.7 314.3 313.7 312.9 311.2 309.5 307.7 303.8 300.9 299.2 297.6 296.6 300.2 302.4 303.0 303.6 304.1 304.7 305.3 305.9 306.4 307.0 307.6 308.2 308.7 309.3 309.9 310.5 311.1 311.7 312.2 312.8 313.4 314.0 314.6 315.2 315.8 316.4 317.0 317.6 318.2 319.6 318.7 317.6 318.3 319.1 319.6 320.1 320.2 320.0 319.7 319.0 318.0 316.9 315.7 314.0 312.4 310.9 309.9 308.6 307.4 306.8 306.3 306.0 306.2 306.4 306.8 307.5 307.9 308.6 309.5 310.8 311.8 312.9 313.8 314.6 315.2 315.7 316.2 316.4 316.4 316.3 314.8 314.7 314.7 314.7 314.6 314.5 314.4 314.4 314.4 314.4 314.4 315.1 316.2 318.7 321.7 325.0 328.8 332.7 336.8 340.4 343.3 345.3 346.7 347.0 346.4 345.3 343.9 341.5 338.9 336.1 333.2 330.2 327.1 324.0 321.4 318.9 316.8 315.4 314.4 314.0 313.8 313.8 313.8 313.9 314.0 314.1 314.2 314.3 314.4 314.5 314.6 314.7 314.7 314.7 314.0 314.0 314.0 315.0 313.1 313.0 312.5 311.8 311.0 309.8 308.7 307.6 305.4 303.7 300.2 298.0 293.9 287.8 284.7 284.7 291.6 295.2 295.4 295.6 295.8 296.1 296.3 296.5 296.7 297.0 297.2 297.4 297.6 297.9 298.1 298.3 298.6 298.8 299.0 299.2 299.5 299.7 299.4 298.7 299.1 298.9 298.3 297.6 296.7 295.9 295.4 295.1 294.7 294.0 293.3 292.8 292.4 291.9 291.7 291.8 291.3 291.3 291.5 291.6 292.0 292.1 292.1 292.1 292.0 292.1 292.3 292.4 292.5 292.6 292.5 292.8 292.8 293.0 293.1 293.2 293.3 293.3 293.5 293.6 293.8 293.8 293.8 293.8 293.8 293.7 293.8 293.8 293.7 293.5 293.2 292.9 292.8 292.8 293.5 294.6 295.8 297.5 298.3 298.6 299.1 299.8 300.6 301.6 302.8 304.1 305.3 306.6 308.0 309.5 310.6 311.7 312.6 313.3 314.0 314.3 314.5 314.4 314.1 313.7 313.2 312.6 311.7 310.9 310.1 309.2 308.2 307.3 306.6 306.0 305.6 305.1 305.1 305.1 305.4 306.0 306.8 307.9 309.2 310.6 312.0 313.5 314.9 316.0 316.9 317.5 317.8 318.0 317.8 317.4 317.1 316.5 315.9 315.1 314.3 313.5 312.6 311.8 310.8 310.0 309.4 308.8 308.2 307.8 307.6 307.6 307.7 308.0 308.6 309.4 310.6 311.8 313.2 314.6 316.2 317.7 318.9 320.1 321.0 321.7 322.0 322.2 321.9 321.2 320.2 319.1 317.9 316.8 315.7 315.0 314.6 314.5 314.4 314.4 314.4 314.4 314.2 314.2 314.1 314.0 314.0 313.8 313.8 313.7 313.5 313.5 313.4 313.3 313.3 313.1 313.1 313.1 313.1 313.1 313.3 313.3 313.3 313.3 313.3 313.3 313.3 313.3 313.3 313.3", + "f0_timestep": "0.005" + }, + { + "offset": 98.172, + "text": "AP 却 不 会 悔 改 SP", + "ph_seq": "AP q ve b u h ui h ui g ai SP", + "ph_dur": "0.141 0.135 0.1137 0.0593 0.1035 0.0685 0.0855 0.0875 0.2646 0.0794 1.724 0.069", + "ph_num": "2 2 2 2 2 1 1", + "note_seq": "rest D#4 F4 D#4 D4 D#4 rest", + "note_dur": "0.276 0.173 0.172 0.173 0.344 1.724 0.069", + "note_slur": "0 0 0 0 0 0 0", + "f0_seq": "337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 337.7 329.4 322.8 318.4 313.6 311.0 309.6 308.8 308.9 309.4 310.1 311.2 312.0 312.9 313.7 314.2 313.8 312.9 311.3 309.1 306.4 303.3 299.7 294.9 289.8 287.5 291.5 299.6 308.0 316.7 325.5 334.6 344.0 353.6 363.5 356.9 351.3 350.1 349.6 349.4 349.5 349.8 350.1 350.3 350.4 350.1 349.6 348.4 346.8 345.0 341.9 338.0 333.6 329.5 325.7 321.4 319.1 319.6 320.9 322.2 323.5 324.8 326.1 327.4 328.7 330.0 331.4 332.7 334.0 335.4 328.8 317.9 313.8 312.3 310.7 309.8 309.4 308.8 307.5 306.5 304.9 301.7 298.3 295.2 290.4 284.4 278.0 271.9 267.4 266.8 268.1 270.5 272.9 275.4 277.9 280.4 282.9 285.4 288.0 290.6 293.2 295.8 298.5 301.2 297.9 293.2 292.6 292.5 293.4 294.7 295.4 295.8 295.4 294.8 294.0 293.4 292.9 292.2 291.9 291.6 291.3 291.4 291.7 292.0 292.2 292.3 292.3 292.3 292.2 292.3 292.5 292.3 292.4 292.4 292.3 292.3 292.4 292.7 293.2 293.6 294.0 294.1 294.0 293.8 293.3 293.0 291.9 291.1 289.3 287.6 285.9 283.8 281.5 279.3 276.5 271.3 269.8 273.1 276.4 279.7 283.1 286.5 290.0 293.5 297.1 300.7 304.4 308.0 311.8 315.6 319.4 323.3 327.2 331.2 319.0 315.7 315.2 313.9 313.5 313.5 313.5 313.7 314.2 314.4 314.4 314.2 313.8 313.4 313.0 312.4 312.2 311.7 311.5 311.1 310.8 310.6 310.3 310.0 309.7 309.4 309.2 309.1 308.9 308.8 308.8 309.0 309.2 309.6 309.9 310.0 310.3 310.7 311.0 311.5 312.0 312.4 312.6 312.6 312.7 312.7 312.8 312.9 313.1 312.9 312.6 312.7 312.6 312.6 312.4 312.3 311.8 311.5 311.1 310.5 309.9 309.7 309.5 309.3 309.3 309.2 309.2 309.2 309.2 309.3 309.3 309.5 309.6 309.8 310.1 310.4 310.7 311.0 311.5 311.9 312.0 312.2 312.2 312.2 312.3 312.4 312.5 312.7 312.7 312.7 312.7 312.6 312.4 312.0 311.8 311.5 311.2 310.9 310.8 310.6 310.6 310.7 310.9 310.9 310.9 311.0 311.2 311.5 311.7 311.7 311.6 311.5 311.5 311.5 311.5 311.1 310.8 310.5 310.1 310.1 310.1 310.1 310.3 310.5 310.6 310.9 311.1 311.2 311.5 311.5 311.3 311.5 311.5 311.6 311.7 311.6 311.4 311.4 311.5 311.4 311.3 311.2 311.1 311.1 311.4 311.7 311.7 311.8 311.8 312.1 312.2 312.3 312.5 312.6 312.6 312.7 312.5 312.3 312.0 311.8 311.7 311.7 311.4 311.1 310.8 310.4 310.0 309.6 309.4 309.4 309.6 309.7 309.8 309.9 310.1 310.3 310.4 310.9 311.3 311.6 312.0 312.3 312.5 312.8 313.0 313.1 313.1 313.0 313.0 313.1 313.1 313.1 312.9 312.7 312.7 312.4 312.2 311.9 311.6 311.4 311.2 310.9 310.8 310.7 310.5 310.4 310.2 310.0 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 310.0 310.1 310.2 310.3 310.7 311.3 311.8 312.2 312.7 313.3 313.6 314.1 314.5 314.7 314.6 314.4 314.0 315.0 314.7 314.2 313.5 312.7 311.8 310.9 310.1 309.2 308.2 307.3 306.6 306.1 305.8 305.6 305.6 305.7 306.1 306.6 307.2 307.9 308.9 309.9 310.9 311.9 313.0 314.0 315.1 315.9 316.6 317.4 317.9 318.3 318.4 318.5 318.3 317.8 317.1 316.2 315.2 314.0 312.6 311.1 309.8 308.4 307.1 305.7 304.7 303.8 303.1 302.5 302.3 302.3 302.6 303.1 304.2 305.4 307.0 308.8 310.6 312.4 314.2 316.2 317.6 318.7 319.6 320.2 320.6 320.3 319.8 319.0 317.8 316.6 315.1 313.3 311.7 310.2 308.8 307.4 306.3 305.6 305.2 305.1 305.3 305.7 306.5 307.6 308.8 310.3 311.8 313.1 314.5 315.8 316.7 317.4 317.8 318.0 317.8 317.5 317.2 316.6 315.9 315.2 314.4 313.6 312.6 312.0 311.3 310.6 310.1 309.7 309.5 309.3 309.3 309.3 309.3 309.3 309.3 309.3 309.3 309.3 309.3 309.3 309.3", + "f0_timestep": "0.005" + }, + { + "offset": 120.779, + "text": "SP AP 没 SP", + "ph_seq": "SP AP m ei SP", + "ph_dur": "0.155 0.4 0.045 0.69 0.4", + "ph_num": "1 2 1 1", + "note_seq": "rest rest D#4 rest", + "note_dur": "0.2 0.4 0.69 0.4", + "note_slur": "0 0 0 0", + "f0_seq": "291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 284.9 289.7 290.5 292.5 295.5 299.2 302.6 305.4 307.6 308.7 309.0 309.1 309.3 309.6 309.9 310.2 310.4 310.6 310.4 310.4 310.4 310.4 310.3 310.2 310.2 310.1 309.9 309.9 309.8 309.7 309.7 309.5 309.5 309.5 309.5 309.5 309.1 309.2 309.3 309.6 309.8 310.1 310.2 310.2 310.6 310.9 311.1 311.1 311.1 311.1 311.1 311.3 311.5 311.5 311.5 311.7 311.7 311.7 311.9 312.0 312.3 312.6 312.7 312.9 312.8 312.6 312.4 312.2 312.2 311.9 311.6 311.4 310.8 310.6 310.4 310.0 309.7 309.4 309.0 309.0 309.0 309.0 309.1 309.3 309.5 309.8 310.1 310.3 310.7 311.1 311.8 312.2 312.7 313.1 313.5 313.6 313.7 313.7 313.4 313.2 312.8 312.4 312.1 311.6 311.0 310.4 309.8 309.2 308.7 308.1 307.5 307.1 306.8 306.7 306.8 306.8 306.9 307.2 307.6 308.0 308.5 309.1 309.5 310.2 311.1 311.6 312.5 313.0 313.4 313.7 314.0 314.3 314.3 314.1 314.0 314.0 313.8 313.8 313.5 313.5 312.6 312.1 311.3 311.0 310.8 310.4 309.8 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5 309.5", + "f0_timestep": "0.005" + }, + { + "offset": 122.138, + "text": "AP 有 任 何 的 不 凡 也 没 有 夺 目 光 彩 AP 我 却 明 白 SP", + "ph_seq": "AP y ou r en h e d e b u f an y E m ei y ou d uo m u g uang c ai AP w o q ve m ing b ai SP", + "ph_dur": "0.231 0.045 0.127 0.045 0.0956 0.0774 0.1299 0.0421 0.1008 0.0712 0.225 0.12 0.3 0.045 0.113 0.06 0.127 0.045 0.3 0.045 0.1097 0.0623 0.2818 0.0632 0.0863 0.0857 0.949 0.213 0.045 0.0823 0.0907 0.112 0.06 0.0974 0.0756 0.689 0.069", + "ph_num": "2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1", + "note_seq": "rest D4 D#4 D4 C4 A#3 A#3 A#3 C4 A#3 C4 A#3 G#3 G3 rest A#3 C4 D4 D#4 rest", + "note_dur": "0.276 0.172 0.173 0.172 0.172 0.345 0.345 0.173 0.172 0.345 0.172 0.345 0.172 0.949 0.258 0.173 0.172 0.173 0.689 0.069", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "314.0 314.0 314.0 314.0 314.0 314.0 314.0 314.0 314.0 314.0 314.0 314.0 314.0 314.0 314.0 314.0 314.0 314.0 314.0 314.0 314.0 314.0 314.0 314.0 314.0 314.0 314.0 314.0 314.0 314.0 314.0 314.0 314.0 314.0 314.0 314.0 314.0 314.0 314.0 314.0 314.0 314.0 314.0 314.0 314.0 314.0 314.0 312.4 304.2 298.8 295.4 294.2 293.5 293.2 293.0 292.8 292.6 292.5 292.5 292.5 292.7 293.0 293.6 294.2 295.0 295.4 296.2 296.6 296.7 296.5 295.9 295.0 293.7 292.3 291.4 291.1 291.2 291.6 292.6 294.0 295.0 295.9 297.4 298.7 300.8 302.9 304.8 307.1 308.9 310.2 311.2 311.7 312.0 312.2 312.0 312.0 312.0 312.0 312.0 311.7 311.1 310.5 309.4 308.2 307.0 305.7 303.7 300.5 297.5 294.1 290.5 287.1 284.6 285.5 287.8 290.2 292.6 295.1 297.5 300.0 302.5 305.0 307.5 310.1 312.6 312.7 309.1 306.3 303.9 302.3 301.1 299.8 298.2 297.1 296.3 295.6 295.1 294.6 294.1 293.6 293.0 292.3 291.5 289.6 287.6 285.0 282.5 279.0 275.4 269.7 262.3 254.9 252.9 252.0 245.8 239.9 245.6 255.5 265.8 272.8 265.4 265.2 264.5 263.9 263.3 262.5 261.4 260.3 259.2 257.8 255.7 253.3 250.6 247.4 244.3 239.8 234.1 228.5 226.4 227.3 231.0 233.9 236.4 238.9 241.5 244.1 246.7 249.4 252.1 254.8 257.6 260.3 263.1 255.1 246.7 243.2 240.9 238.8 237.0 235.7 234.6 233.7 232.7 232.0 231.6 231.1 230.7 230.9 231.3 231.6 232.1 232.6 232.8 233.0 233.3 233.6 233.9 234.1 234.4 234.7 235.0 235.3 235.6 235.9 236.2 236.3 236.4 236.4 236.2 235.9 235.2 234.0 232.1 230.1 228.2 226.3 224.8 224.3 226.3 227.6 228.9 230.3 231.6 232.9 234.3 235.7 237.0 238.4 239.8 241.2 242.6 244.0 245.4 246.8 248.2 249.7 251.1 252.6 254.0 255.5 257.0 258.5 260.0 251.7 245.2 244.0 242.9 241.6 240.4 239.0 237.8 236.6 235.6 234.7 234.3 233.2 232.3 231.7 231.4 231.3 231.2 231.1 231.2 231.3 231.4 231.7 232.0 231.9 232.3 232.4 232.4 232.4 232.4 232.5 232.5 232.6 232.7 232.9 233.1 233.2 233.2 233.0 232.7 232.5 232.5 232.7 232.5 232.7 232.5 232.3 232.2 232.0 231.9 232.1 232.1 232.1 232.3 232.4 232.4 232.5 232.5 232.7 232.5 232.5 232.2 231.8 231.7 231.7 231.8 232.2 232.8 233.3 233.5 234.0 234.3 234.4 234.8 234.4 234.2 233.6 232.9 232.7 232.7 232.7 232.7 232.5 232.5 232.3 232.1 231.8 231.5 231.4 231.5 231.7 232.0 232.0 232.4 232.9 234.1 235.8 237.9 240.5 243.0 245.1 247.7 251.7 257.3 259.7 262.5 262.5 262.5 262.9 263.2 263.2 263.1 263.0 262.5 262.1 261.7 261.0 260.2 259.4 258.3 257.7 256.6 255.7 254.7 253.0 251.3 248.9 247.0 245.2 243.5 242.5 242.0 241.6 241.1 240.5 239.8 238.7 237.6 237.1 236.3 235.8 235.2 234.7 234.2 233.8 233.2 232.8 232.7 232.7 232.8 232.8 232.7 232.5 232.4 232.1 231.9 231.9 231.8 231.7 231.7 231.5 231.3 231.2 231.2 231.1 231.2 231.2 231.2 231.1 231.1 231.3 231.3 231.6 232.0 232.4 232.9 233.2 233.3 233.2 233.0 232.5 232.0 231.5 230.8 229.6 228.4 227.0 224.6 222.6 220.7 218.8 217.7 220.4 224.0 227.7 231.4 235.2 239.0 242.9 246.9 250.9 255.0 263.9 263.9 263.9 263.9 263.9 263.9 263.9 263.9 263.9 263.9 263.9 263.9 263.9 263.7 263.5 263.3 262.9 262.6 262.3 262.1 262.0 261.8 261.5 260.9 260.1 258.9 257.6 256.0 254.3 252.2 250.3 248.4 246.1 243.9 242.0 240.3 238.6 237.0 235.4 234.3 233.4 232.8 232.4 232.1 232.1 232.2 232.2 232.4 232.6 232.9 233.1 233.3 233.6 233.9 234.2 234.4 234.6 234.9 235.1 235.3 235.4 235.4 235.5 235.4 235.4 235.3 235.2 235.1 235.0 235.0 234.9 234.8 234.8 234.8 234.7 234.4 233.7 232.9 231.6 230.2 228.6 227.0 225.2 223.3 221.4 219.7 218.1 216.4 215.2 214.1 213.4 212.8 212.6 212.5 212.4 212.2 212.0 211.7 211.4 211.1 210.8 210.4 210.2 209.9 209.7 209.6 209.5 209.4 209.4 209.3 209.3 209.3 209.2 209.2 209.1 209.1 209.1 209.0 208.9 208.9 208.9 208.9 208.9 208.4 207.5 205.7 203.8 201.4 199.0 196.6 195.0 193.5 193.2 201.3 202.3 203.2 204.2 205.2 206.1 207.1 208.1 209.1 210.0 211.0 208.3 207.3 205.4 204.0 201.7 200.3 199.4 198.5 197.8 197.2 196.5 196.3 195.8 195.5 195.5 195.1 195.2 195.1 195.1 195.2 195.1 195.0 194.8 194.5 194.3 194.0 193.8 193.7 193.7 193.6 193.9 194.0 194.4 194.8 195.2 195.5 195.9 196.5 196.9 197.2 197.5 197.6 197.4 197.3 197.2 197.0 196.8 196.6 196.2 195.9 195.5 195.2 194.9 194.4 194.0 193.7 193.4 193.1 192.8 192.6 192.5 192.4 192.4 192.4 192.5 192.7 193.0 193.3 193.7 194.2 194.6 195.1 195.7 196.2 196.7 197.2 197.7 198.0 198.5 198.8 199.0 199.1 199.3 199.3 199.1 198.7 198.4 197.8 197.2 196.6 195.8 195.2 194.5 193.8 193.2 192.7 192.3 192.0 191.9 191.9 191.9 192.2 192.6 193.0 193.6 194.3 195.1 195.8 196.6 197.5 198.2 198.9 199.5 200.1 200.6 201.0 201.2 201.2 201.0 200.8 200.2 199.6 198.8 198.1 197.2 196.2 195.4 194.7 194.0 193.4 193.0 192.8 192.7 192.7 193.0 193.3 193.7 194.2 194.8 195.4 196.0 196.5 197.0 197.5 197.9 198.2 198.3 198.4 198.3 198.2 198.0 197.7 197.4 197.1 196.8 196.4 196.1 195.7 195.4 195.2 195.0 194.9 194.9 194.9 194.9 194.9 195.1 195.2 195.3 195.5 195.7 195.8 196.0 196.1 196.2 196.3 196.3 196.4 196.3 196.0 195.7 195.1 194.5 193.9 193.2 192.4 191.7 191.1 190.3 189.7 189.2 188.7 188.4 188.2 188.1 206.5 207.7 208.9 210.1 211.4 212.6 213.9 215.1 216.4 217.7 219.0 220.2 221.5 222.8 224.2 225.5 226.8 228.1 229.5 230.8 232.2 233.6 234.9 236.3 237.7 239.1 240.5 241.9 243.3 244.8 246.2 234.8 234.7 234.6 234.6 234.5 234.4 234.2 234.1 233.9 233.7 233.6 233.4 233.3 233.1 233.0 232.8 232.7 232.7 232.6 232.5 232.5 232.6 232.7 232.9 233.2 233.4 233.6 233.3 232.8 231.6 230.3 228.1 226.1 224.1 222.3 220.6 219.3 218.3 239.5 242.0 244.4 247.0 249.5 252.1 254.6 257.3 259.9 262.6 265.3 268.4 267.6 266.4 264.8 263.3 262.5 262.1 261.8 261.3 261.0 260.7 260.2 260.1 259.9 259.7 258.8 258.0 258.3 258.8 260.3 261.4 261.9 262.6 264.4 266.2 268.5 270.8 272.9 275.6 278.1 280.7 282.4 284.9 287.6 289.3 290.7 291.6 292.2 293.2 293.9 294.4 294.9 295.3 295.7 296.1 296.2 296.2 296.3 296.3 295.8 294.9 293.8 292.4 291.0 289.3 287.2 284.5 282.1 279.8 276.6 274.8 273.3 271.9 275.0 275.7 278.3 282.4 287.4 292.8 298.5 304.2 309.9 313.8 316.3 317.5 317.3 317.2 316.9 316.6 316.2 315.7 315.3 314.7 314.1 313.5 312.9 312.3 311.7 311.2 310.8 310.3 309.9 309.6 309.4 309.3 309.3 309.4 309.5 309.7 309.9 310.4 310.9 311.3 311.8 312.2 312.7 313.0 313.5 313.7 314.0 314.2 314.3 314.3 314.2 314.1 314.0 313.7 313.5 313.2 312.9 312.6 312.3 312.0 311.6 311.5 311.2 311.0 310.9 310.9 310.9 310.9 310.9 311.1 311.3 311.4 311.6 311.7 312.0 312.2 312.4 312.5 312.7 312.7 312.7 312.9 312.7 312.7 312.7 312.7 312.7 312.7 312.7 312.6 312.6 312.6 312.4 312.4 312.4 312.4 312.4 312.4 312.4 312.4 312.4 312.4 312.4 312.4 312.6 312.7 312.9 313.1 313.1 313.2 313.4 313.5 313.7 313.7 313.7 313.8 313.7 313.7 313.7 313.7 313.7 313.7 313.7 313.5 313.5 313.5 313.5 313.5 313.5 313.5 313.5 313.5 313.2 312.5 311.6 310.3 308.7 306.6 304.7 302.8 301.1 299.2 297.6 296.3 295.4 294.9 295.0 295.0 295.0 295.0 295.0 295.0 295.0 295.0 295.0 295.0 295.0", + "f0_timestep": "0.005" + }, + { + "offset": 127.655, + "text": "AP 你 的 意 义 所 在 别 人 都 无 法 替 代 AP 就 算 有 时 SP", + "ph_seq": "AP n i d e y i y i s uo z ai b ie r en d ou w u f a t i d ai AP j iu s uan y ou sh ir SP", + "ph_dur": "0.231 0.045 0.127 0.045 0.128 0.045 0.127 0.045 0.1035 0.0696 0.0957 0.0763 0.472 0.045 0.1079 0.0651 0.1263 0.0457 0.3 0.045 0.112 0.06 0.4022 0.1158 0.0854 0.0866 0.797 0.133 0.105 0.0783 0.0937 0.127 0.045 0.0831 0.0899 0.689 0.069", + "ph_num": "2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1", + "note_seq": "rest D4 D#4 G4 D#4 D#4 D#4 D#4 F4 D#4 A#3 D#4 D4 D#4 rest A#3 C4 D4 D#4 rest", + "note_dur": "0.276 0.172 0.173 0.172 0.173 0.172 0.517 0.173 0.172 0.345 0.172 0.518 0.172 0.797 0.238 0.172 0.172 0.173 0.689 0.069", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "270.5 270.5 270.5 270.5 270.5 270.5 270.5 270.5 270.5 270.5 270.5 270.5 270.5 270.5 270.5 270.5 270.5 270.5 270.5 270.5 270.5 270.5 270.5 270.5 270.5 270.5 270.5 270.5 270.5 270.5 270.5 270.5 270.5 270.5 270.5 270.5 270.5 270.5 270.5 270.5 270.5 270.5 270.5 273.8 278.7 281.5 283.2 285.1 287.1 288.8 291.0 293.6 294.6 295.2 295.7 293.8 292.1 291.3 290.0 290.5 291.2 292.1 293.2 294.4 295.9 297.8 299.4 300.4 301.1 301.6 301.5 299.0 298.5 297.6 296.4 295.0 293.6 292.5 291.7 291.3 291.4 292.0 293.5 295.1 297.3 299.8 302.7 305.4 307.9 310.3 312.1 313.4 314.1 314.3 314.1 313.8 313.5 313.1 312.6 311.9 311.2 310.5 310.0 309.5 309.0 308.5 308.2 308.0 307.9 308.0 308.4 309.1 310.1 311.8 314.2 317.5 321.7 325.5 337.6 340.9 350.3 361.8 368.1 373.5 378.2 382.3 385.9 388.6 391.0 393.1 393.1 393.1 393.1 393.2 393.4 393.4 393.4 393.5 393.6 393.6 393.7 393.5 392.5 390.3 387.5 383.6 378.4 373.1 367.7 361.8 355.5 348.7 342.8 337.3 332.0 326.8 322.5 319.1 316.3 314.2 312.7 312.6 312.6 312.6 312.6 312.6 312.6 312.6 312.6 312.6 312.6 312.6 312.6 312.2 311.2 309.3 306.5 303.7 300.8 298.3 296.3 295.3 295.1 295.5 296.4 298.1 300.0 302.1 304.2 306.3 308.3 309.7 310.6 311.0 311.0 310.9 310.9 310.9 310.9 310.8 310.8 310.6 310.6 310.6 310.6 310.6 310.1 308.7 306.8 304.4 301.3 297.9 294.7 291.6 288.8 286.0 284.0 282.8 282.1 292.2 296.0 299.8 303.7 307.6 311.6 315.7 319.8 323.9 328.1 323.2 321.9 321.2 319.7 319.5 318.7 318.0 316.8 316.1 315.5 314.7 313.7 312.8 311.6 310.6 309.5 308.7 308.3 308.3 308.3 308.4 308.7 308.8 309.0 309.4 309.6 309.9 310.2 310.5 310.8 311.0 311.1 311.1 311.4 311.7 311.7 311.7 311.7 311.7 311.8 311.8 311.8 311.8 311.6 311.5 311.5 311.5 311.3 311.3 311.3 311.3 311.5 311.5 311.5 311.6 311.5 311.6 311.6 311.5 311.5 311.5 311.5 311.7 311.9 312.0 312.0 312.2 312.4 312.4 314.3 314.2 314.2 314.2 314.1 313.9 313.8 313.6 313.5 313.4 313.2 313.1 313.0 312.9 312.9 312.9 312.8 312.0 310.5 308.2 305.4 302.4 299.1 295.7 292.2 289.5 287.2 285.7 284.6 285.0 285.7 287.2 289.0 292.1 295.3 298.4 301.7 305.1 307.3 309.4 310.6 311.4 311.3 310.9 310.8 310.7 310.6 310.5 310.3 310.1 309.9 309.7 309.6 309.4 309.2 309.1 309.0 309.0 309.0 309.5 310.4 312.7 315.3 318.8 322.9 327.9 332.3 336.7 340.6 344.2 347.1 348.8 349.8 350.0 350.0 350.0 350.0 350.0 350.0 350.0 350.0 350.0 350.0 350.0 350.7 350.4 350.2 349.4 347.3 343.5 338.3 332.9 327.2 321.7 316.1 312.0 309.3 307.8 311.8 311.8 311.8 311.8 311.9 312.0 312.2 312.4 312.5 312.6 312.7 312.9 313.1 313.2 313.3 313.3 313.3 313.4 313.4 313.3 313.3 313.3 313.2 313.0 312.8 312.7 312.5 312.3 312.2 312.1 311.9 311.7 311.6 311.5 311.5 311.5 311.5 313.1 313.4 313.6 313.4 313.2 312.9 312.3 311.3 310.4 309.2 308.0 306.2 304.6 303.0 300.5 297.5 294.8 291.6 287.3 283.9 279.6 274.2 268.4 261.3 256.3 249.4 244.4 240.9 237.2 233.1 230.7 230.1 230.2 231.0 232.1 233.0 233.8 234.8 235.4 235.5 234.8 233.6 231.2 229.3 228.5 227.5 230.3 235.2 238.7 242.4 246.0 249.8 253.6 257.4 261.3 265.3 269.3 273.4 277.5 281.7 286.0 290.4 294.8 299.2 303.8 308.4 313.1 317.8 322.6 327.5 332.5 323.0 321.5 321.4 321.0 321.5 321.9 321.7 320.9 319.7 317.8 315.9 314.4 313.2 311.8 310.6 309.7 308.8 307.9 307.2 306.7 306.5 306.6 306.8 307.2 307.9 308.4 308.9 309.6 310.1 310.9 311.5 312.2 312.6 312.9 313.1 313.3 313.3 313.3 313.3 313.3 313.1 312.9 312.6 312.0 311.6 311.2 310.9 310.3 309.9 309.6 309.0 308.8 308.8 308.9 309.1 309.4 309.9 310.4 311.0 311.4 311.7 312.0 312.5 313.1 313.4 313.8 313.7 313.2 312.3 310.9 309.4 308.3 306.8 305.9 305.7 305.4 305.1 304.9 304.6 304.3 304.1 303.8 303.5 303.3 303.0 302.7 302.5 302.2 301.9 301.7 301.4 301.1 300.9 300.6 300.3 300.1 299.8 299.5 299.3 299.0 298.7 298.5 298.2 296.8 294.9 293.7 293.4 293.6 294.0 294.2 294.5 294.3 293.5 292.8 291.8 291.1 290.7 289.5 288.1 286.0 282.4 277.6 272.7 269.4 273.1 276.1 279.2 282.3 285.4 288.6 291.8 295.1 298.4 301.7 305.1 308.5 311.9 315.4 318.0 317.0 316.4 315.8 315.8 316.0 316.0 316.3 316.5 316.6 316.3 315.9 315.1 314.1 313.0 312.0 311.0 309.9 309.2 308.8 308.0 307.4 306.9 306.7 306.7 306.5 306.7 307.0 307.3 307.7 308.4 309.2 309.9 310.4 311.1 311.6 312.2 312.7 313.3 314.0 314.2 314.3 314.5 314.4 314.3 314.1 313.7 313.3 312.8 312.5 312.1 311.8 311.5 311.1 310.8 310.5 310.1 309.6 309.2 308.8 308.3 308.1 308.3 308.6 308.9 309.2 309.3 309.3 309.5 309.7 309.8 310.3 310.7 311.1 311.2 311.4 311.6 311.8 311.9 312.0 312.0 312.0 311.8 311.8 311.6 311.5 311.3 310.9 310.8 310.6 310.5 310.2 310.0 309.7 309.4 309.3 309.1 309.0 309.0 309.0 309.0 308.8 309.0 309.0 309.1 309.2 309.0 308.9 308.8 308.7 308.7 308.8 308.8 308.8 308.8 308.6 308.8 308.8 308.8 310.4 310.4 310.4 310.6 310.7 310.9 311.0 311.2 311.3 311.5 311.7 311.7 311.8 311.8 311.8 311.8 311.9 312.0 312.1 312.2 312.2 312.4 312.5 312.6 312.6 312.7 312.7 312.7 312.7 312.9 312.8 312.7 312.5 312.3 312.1 311.8 311.4 311.1 310.8 310.4 310.1 309.9 309.6 309.5 309.3 309.3 294.4 293.5 292.7 291.9 291.1 290.3 289.5 288.7 287.9 287.1 286.3 285.5 284.7 283.9 283.1 282.3 281.5 280.8 280.0 279.2 278.4 277.7 276.9 276.1 275.3 274.6 273.8 273.1 272.3 271.5 270.8 270.0 269.3 234.1 234.0 234.0 234.0 233.9 233.9 233.8 233.7 233.6 233.6 233.5 233.3 233.2 233.2 233.1 233.1 233.1 233.1 233.0 232.8 232.4 231.7 230.9 229.9 228.9 227.7 226.6 225.5 224.7 223.7 223.0 222.6 222.4 244.2 246.8 249.4 252.0 254.7 257.4 260.1 262.9 265.6 268.4 269.4 265.1 263.7 263.4 263.1 262.5 262.2 261.4 260.7 260.0 259.4 258.9 258.5 258.5 258.6 258.6 259.1 259.7 260.6 263.4 263.9 265.1 266.6 268.4 270.5 273.1 275.4 278.4 281.1 283.7 286.4 288.6 290.8 292.5 293.7 294.4 294.9 294.7 294.6 294.5 294.4 294.2 294.2 294.2 294.2 294.3 294.8 295.2 295.6 295.8 296.0 295.7 294.7 293.2 291.4 289.0 287.0 284.6 282.7 281.5 280.4 306.0 307.2 308.4 309.7 310.9 298.3 298.6 299.5 300.5 302.0 303.6 305.4 307.2 308.9 310.3 311.7 312.7 313.2 313.4 313.3 313.1 313.0 312.8 312.6 312.2 311.8 311.4 310.9 310.6 310.2 309.8 309.6 309.4 309.1 309.0 309.0 309.0 309.0 309.2 309.3 309.6 309.9 310.2 310.6 310.9 311.2 311.5 311.6 311.7 311.8 311.7 311.7 311.5 311.4 311.2 311.1 310.9 310.5 310.2 310.1 309.8 309.6 309.3 309.1 308.9 308.8 308.6 308.5 308.4 308.4 308.4 308.5 308.7 309.0 309.4 309.7 310.1 310.8 311.3 311.8 312.2 312.6 313.0 313.3 313.6 313.7 313.8 313.7 313.5 313.4 313.1 312.8 312.4 312.1 311.7 311.4 310.9 310.4 310.1 309.8 309.4 309.1 309.0 309.0 309.0 309.0 309.2 309.5 310.0 310.5 311.1 311.7 312.4 313.0 313.6 314.0 314.3 314.6 314.8 314.8 314.7 314.4 314.1 313.7 313.0 312.5 311.9 311.4 310.9 310.5 310.2 309.9 309.9 309.9 309.9 309.9 310.1 310.2 310.4 310.5 310.8 311.0 311.2 311.5 311.7 311.8 312.0 312.1 312.2 312.3 304.0 304.0 304.0 304.0 304.0 304.0 304.0 304.0 304.0 304.0", + "f0_timestep": "0.005" + }, + { + "offset": 133.172, + "text": "AP 产 生 几 许 不 快 你 也 很 快 就 抛 开 SP", + "ph_seq": "AP ch an sh eng j i x v b u k uai n i y E h en k uai j iu p ao k ai SP", + "ph_dur": "0.156 0.12 0.113 0.06 0.0862 0.0858 0.0927 0.0803 0.147 0.025 0.2224 0.1226 0.285 0.06 0.127 0.045 0.112 0.06 0.2606 0.0844 0.093 0.08 0.239 0.105 0.0955 0.0775 0.646 0.069", + "ph_num": "2 2 2 2 2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest D4 D#4 D4 C4 A#3 A#3 A#3 C4 A#3 D#4 F4 G#4 G4 rest", + "note_dur": "0.276 0.173 0.172 0.173 0.172 0.345 0.345 0.172 0.172 0.345 0.173 0.344 0.173 0.646 0.069", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "307.2 307.2 307.2 307.2 307.2 307.2 307.2 307.2 307.2 307.2 307.2 307.2 307.2 307.2 307.2 307.2 307.2 307.2 307.2 307.2 307.2 307.2 307.2 307.2 307.2 307.2 307.2 307.2 307.2 307.2 307.2 307.2 307.2 307.2 307.2 307.2 307.2 307.2 307.2 307.2 307.2 307.2 307.2 307.2 307.2 307.2 307.2 307.2 307.2 307.2 307.2 294.0 293.8 293.8 293.8 293.8 293.8 293.7 293.6 293.5 293.5 293.5 293.5 293.5 293.5 293.5 293.5 293.6 293.7 293.9 294.0 294.0 294.1 294.2 294.3 293.8 292.6 290.5 287.8 285.3 283.0 281.5 280.7 281.5 284.2 288.6 294.4 301.5 307.2 311.2 313.2 313.7 313.7 313.7 313.6 313.5 313.5 313.3 313.3 313.2 313.1 313.0 312.9 312.9 312.9 312.9 312.1 309.9 306.4 302.1 297.1 293.2 290.3 289.1 288.8 289.0 289.3 289.8 290.6 291.3 292.0 292.8 293.7 294.4 295.0 295.5 295.9 296.0 296.2 296.0 295.9 295.6 295.1 294.7 294.3 293.8 293.4 293.1 293.0 293.0 292.4 290.8 288.3 285.2 281.6 277.8 273.5 270.4 267.8 266.0 265.0 264.8 264.8 264.9 265.0 265.0 265.1 265.2 265.4 265.5 265.6 265.6 265.6 265.7 265.6 265.6 265.5 265.4 265.3 265.2 265.1 264.9 264.8 264.8 264.8 264.6 263.6 262.1 260.1 257.4 253.8 250.4 247.2 244.0 241.0 238.2 236.3 235.1 234.6 234.4 234.4 234.4 234.5 234.6 234.6 234.6 234.7 234.7 234.7 234.7 234.8 234.7 234.7 234.6 234.5 234.3 234.1 234.0 233.9 233.8 233.6 233.6 233.6 233.6 233.6 233.7 233.8 233.9 234.0 234.2 234.4 234.5 234.7 234.9 235.0 235.1 235.2 235.4 235.4 235.5 232.9 231.8 229.6 228.0 228.2 229.4 232.8 241.5 241.6 241.7 241.8 241.9 242.0 242.1 242.2 242.3 242.4 242.6 242.7 242.8 242.9 243.0 243.1 243.2 243.3 243.4 243.5 243.7 243.8 243.9 244.0 244.1 244.2 242.6 240.5 239.5 239.3 239.5 239.6 239.4 238.4 237.0 236.1 235.0 234.4 233.9 233.5 232.9 232.4 232.1 232.0 231.9 232.1 232.3 232.5 233.1 233.2 233.2 233.4 233.2 233.2 233.4 233.6 233.7 233.8 233.8 233.9 233.9 234.1 234.3 234.6 234.8 234.8 234.6 234.5 234.4 234.3 234.0 233.4 232.7 231.9 231.5 231.2 230.6 230.0 230.1 230.3 230.4 230.8 230.7 230.6 230.7 231.2 231.8 232.0 232.1 232.3 232.3 232.5 233.2 233.8 234.0 234.0 233.9 233.5 233.5 233.2 233.2 233.3 233.1 232.9 232.7 232.6 232.5 232.4 232.2 232.1 231.9 231.4 230.9 230.5 230.0 229.7 229.4 229.2 229.6 230.4 232.5 236.3 240.5 244.0 247.3 251.6 254.7 257.2 258.9 260.9 262.4 263.5 265.0 265.1 265.3 265.2 264.6 263.8 262.7 261.4 259.7 257.7 256.1 254.2 251.1 248.4 245.5 242.7 240.6 236.8 232.7 230.1 230.1 231.1 232.0 233.0 234.0 235.1 236.1 237.1 238.1 239.1 240.1 241.2 242.2 239.8 236.9 235.6 234.8 233.8 232.7 231.4 230.0 228.7 228.0 227.9 228.5 229.5 230.1 230.7 231.0 231.5 231.8 232.0 232.2 232.3 232.4 232.5 232.4 232.2 232.0 232.1 232.1 232.1 232.5 232.8 233.0 233.4 233.9 234.4 234.6 234.6 234.5 234.4 234.2 233.8 232.9 231.6 230.3 228.2 226.2 223.7 221.3 218.9 217.6 220.8 225.1 229.5 233.9 238.5 243.1 247.8 252.6 257.5 262.5 267.6 272.8 278.1 283.5 288.9 294.6 300.3 306.1 308.9 310.2 311.4 311.5 311.4 311.3 311.3 311.3 311.2 311.1 311.1 311.1 311.0 310.9 310.9 310.9 310.9 310.5 309.9 309.1 308.0 306.8 305.7 304.7 303.7 303.1 302.6 328.6 332.8 337.0 341.3 345.7 350.0 354.5 356.0 352.6 349.3 349.6 349.9 350.0 350.7 351.3 351.3 351.3 351.1 350.6 350.1 349.3 348.4 347.6 347.1 347.0 346.8 346.8 347.0 347.5 347.8 348.0 348.2 348.4 348.4 348.4 348.1 347.8 347.6 347.5 347.3 347.5 347.7 348.1 348.7 349.4 350.0 350.5 351.0 351.2 351.3 350.8 350.2 349.1 347.3 344.6 341.3 337.5 333.8 329.6 326.3 322.1 319.3 321.7 320.5 325.3 331.8 338.4 345.1 352.0 359.0 366.1 373.4 380.8 388.4 396.1 403.9 407.0 410.5 414.2 414.1 414.0 413.8 413.6 413.4 413.2 413.0 412.8 412.6 412.4 412.4 412.4 412.0 410.9 409.2 407.2 404.6 401.3 398.4 395.5 393.0 390.5 388.6 387.4 386.8 398.9 397.5 396.1 394.7 386.3 386.5 387.1 388.0 389.2 390.4 391.7 392.9 394.0 394.9 395.6 396.0 396.0 395.8 395.4 394.9 394.3 393.6 392.9 392.1 391.4 390.6 389.9 389.2 388.6 387.9 387.5 387.3 387.3 387.3 387.5 387.8 388.3 389.1 389.9 390.7 391.8 392.9 393.9 394.9 395.9 396.8 397.5 398.1 398.6 398.9 399.2 399.1 398.8 398.1 397.3 396.4 395.3 394.1 392.7 391.3 389.9 388.5 387.1 385.8 384.6 383.9 383.2 382.6 382.4 382.4 382.6 382.9 383.5 384.3 385.2 386.2 387.4 388.8 390.1 391.3 392.9 394.3 395.4 396.4 397.3 398.0 398.7 398.9 399.2 399.1 398.7 398.2 397.7 397.0 396.1 395.0 393.9 392.9 391.9 390.9 389.7 389.0 388.4 387.8 387.4 387.3 387.3 387.5 388.1 388.8 389.8 390.8 391.8 392.9 394.0 394.7 395.3 395.7 396.1 396.0 395.8 395.5 395.3 395.0 394.5 394.0 393.5 392.9 392.4 391.9 391.4 390.9 390.4 390.1 389.9 389.6 389.4 389.3 388.6 388.6 388.6 388.6 388.6 388.6 388.6 388.6 388.6 388.6 388.6", + "f0_timestep": "0.005" + }, + { + "offset": 136.931, + "text": "AP 虽 然 很 平 淡 SP", + "ph_seq": "AP s ui r an h en p ing d an SP", + "ph_dur": "0.1567 0.1533 0.128 0.045 0.0959 0.0761 0.0823 0.0907 0.1052 0.0668 0.345 0.077", + "ph_num": "2 2 2 2 2 1 1", + "note_seq": "rest G4 G#4 G4 F4 D#4 rest", + "note_dur": "0.31 0.173 0.172 0.173 0.172 0.345 0.077", + "note_slur": "0 0 0 0 0 0 0", + "f0_seq": "423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 423.3 396.0 395.9 395.6 395.3 395.1 394.6 394.0 393.7 393.3 392.8 392.2 391.7 391.3 391.1 390.8 390.6 390.5 390.0 390.6 391.3 392.1 392.7 393.1 393.1 392.9 392.3 391.5 391.0 391.1 391.7 392.4 393.6 395.6 397.5 400.0 402.8 405.6 407.7 409.9 412.0 413.8 415.4 416.7 418.0 418.6 418.5 418.1 417.8 417.4 416.9 416.5 416.0 415.3 414.5 413.2 412.2 411.2 410.2 408.9 407.3 405.5 402.8 399.6 395.6 392.8 394.5 396.2 398.0 399.7 401.4 403.2 405.0 406.7 408.5 410.3 403.8 396.3 395.4 394.6 393.7 393.4 392.3 391.8 391.1 390.6 390.2 389.8 389.4 388.6 387.5 386.0 384.5 383.5 382.4 380.2 376.2 372.4 367.2 362.6 356.3 352.1 347.5 337.9 338.9 339.8 340.8 341.7 342.7 343.7 344.6 345.6 346.5 347.1 347.4 348.8 349.4 349.9 350.0 350.0 349.9 349.8 349.7 349.3 348.4 346.6 344.1 341.7 338.9 336.0 331.1 327.9 323.2 317.7 311.8 306.8 301.1 294.7 289.7 293.2 293.7 294.9 296.2 297.9 300.0 302.6 305.1 307.6 309.9 312.4 314.7 316.6 317.9 319.0 319.5 319.6 319.3 318.8 318.0 317.1 316.0 314.7 313.5 312.1 310.6 309.5 308.3 307.1 306.1 305.4 304.8 304.5 304.6 304.9 305.6 306.8 308.1 309.9 311.8 313.7 315.4 317.1 319.0 320.0 320.7 321.1 320.9 320.4 319.5 318.2 316.8 315.1 313.4 311.7 310.1 308.9 308.0 307.3 307.0 307.0 307.1 307.3 307.5 307.8 308.3 308.8 309.2 309.8 310.3 310.8 311.3 311.8 312.2 312.5 312.7 312.9 313.0 296.4 294.9 294.9 294.9 294.9 294.9 294.9 294.9 294.9 294.9 294.9 294.9 294.9", + "f0_timestep": "0.005" + }, + { + "offset": 138.345, + "text": "AP 没 有 多 少 的 波 澜 SP 却 想 时 间 过 更 慢 SP", + "ph_seq": "AP m ei y ou d uo sh ao d e b o l an SP q ve x iang sh ir j ian g uo g eng m an SP", + "ph_dur": "0.231 0.045 0.127 0.045 0.1331 0.0399 0.0948 0.0772 0.1393 0.0327 0.0976 0.0754 0.2456 0.0994 0.344 0.083 0.09 0.1025 0.0695 0.078 0.095 0.2537 0.0903 0.0934 0.0796 0.457 0.06 0.1033 0.0697 0.517 0.069", + "ph_num": "2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 1", + "note_seq": "rest G4 G#4 G4 F4 A#4 D#4 D#4 rest A#3 C4 D#4 G4 F4 G4 D#4 rest", + "note_dur": "0.276 0.172 0.173 0.172 0.172 0.173 0.345 0.344 0.173 0.172 0.173 0.344 0.173 0.517 0.173 0.517 0.069", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "405.8 405.8 405.8 405.8 405.8 405.8 405.8 405.8 405.8 405.8 405.8 405.8 405.8 405.8 405.8 405.8 405.8 405.8 405.8 405.8 405.8 405.8 405.8 405.8 405.8 405.8 405.8 405.8 405.8 405.8 405.8 405.8 405.8 405.8 405.8 405.8 405.8 405.8 405.8 405.8 405.8 389.7 389.7 389.7 389.8 389.9 390.0 390.2 390.3 390.4 390.6 390.8 391.0 391.2 391.3 391.4 391.6 391.7 391.8 392.0 392.1 392.2 392.2 392.3 392.4 388.8 389.7 390.5 391.3 391.8 392.1 392.3 392.5 392.8 393.2 393.8 394.6 395.2 395.6 396.3 396.9 398.3 400.0 402.3 404.0 405.6 407.3 409.0 410.3 411.5 412.7 414.5 416.3 417.5 418.0 418.2 418.0 418.4 418.2 417.8 417.3 416.6 415.5 414.5 413.4 412.1 410.7 409.2 407.9 406.8 405.6 404.5 403.7 403.1 402.7 402.6 402.4 402.1 401.6 400.9 400.1 399.1 398.1 397.1 396.1 395.2 394.4 393.9 393.6 393.6 393.6 393.6 393.6 393.6 393.6 393.6 393.6 393.6 393.6 393.6 392.1 390.0 385.5 380.5 375.3 370.5 365.7 362.3 359.9 362.9 363.3 363.7 364.2 364.6 365.0 365.4 365.9 366.3 366.7 367.1 362.2 357.3 354.9 352.8 351.0 349.8 348.9 348.2 347.7 346.9 346.3 345.8 345.8 346.0 346.8 347.7 348.1 347.7 346.5 344.7 343.4 342.4 342.8 345.6 346.0 343.4 350.0 363.3 377.1 391.4 406.2 421.7 437.7 454.3 461.7 463.7 465.2 466.4 467.7 468.4 468.5 468.2 467.2 465.7 463.5 458.6 454.5 449.7 445.2 439.6 434.9 421.3 408.8 402.0 396.0 390.1 384.3 378.6 373.0 367.5 362.0 356.7 351.4 346.2 341.0 336.0 331.0 326.1 321.9 318.1 315.0 312.4 310.2 308.4 306.8 305.6 304.8 304.4 304.1 304.2 304.5 304.9 305.6 306.3 306.8 307.4 308.2 309.0 310.0 310.7 311.2 311.5 311.7 311.8 311.8 311.8 311.7 311.5 311.3 311.2 311.2 311.4 311.7 311.9 312.1 312.5 312.8 313.1 313.1 313.3 313.3 313.0 312.6 311.8 310.8 309.6 308.5 307.6 306.9 306.1 305.0 303.7 302.6 303.2 303.0 303.0 303.4 304.4 305.4 306.5 308.2 309.6 311.0 312.9 315.4 318.8 321.9 322.9 323.1 323.2 322.8 322.5 321.7 321.0 320.1 319.0 318.2 317.3 316.2 314.8 313.4 312.1 310.8 309.3 308.4 307.6 306.8 306.3 306.1 306.4 307.2 307.8 308.7 309.8 311.0 312.5 314.1 315.9 317.3 318.7 320.1 321.0 322.0 322.3 322.4 322.3 321.8 321.1 319.8 318.6 317.1 315.7 314.1 312.7 311.6 310.6 310.2 309.5 309.2 308.6 307.4 306.0 304.4 302.5 300.4 297.8 295.4 292.8 289.8 287.1 284.6 282.1 279.7 277.1 275.1 273.4 272.0 270.6 269.7 269.1 268.8 283.9 282.8 281.6 280.5 279.3 278.2 277.0 275.9 274.8 273.6 272.5 271.4 270.3 269.2 268.1 267.0 265.9 264.8 263.7 262.6 261.6 260.5 259.4 258.4 257.3 256.2 255.2 254.1 253.1 252.1 251.0 241.8 238.7 237.4 235.8 235.0 234.5 233.8 233.4 232.6 231.7 231.1 229.6 228.4 225.8 221.9 220.4 218.7 219.5 222.1 224.8 227.4 230.1 232.9 235.6 238.4 241.3 244.1 247.0 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.3 262.0 261.4 260.5 259.6 258.5 257.2 255.8 254.6 253.5 252.5 251.7 251.0 250.7 274.1 276.4 278.6 280.9 283.2 285.5 287.8 290.2 292.5 294.9 297.3 304.8 312.7 310.8 311.1 311.5 311.3 311.5 311.3 311.0 310.9 310.8 310.3 310.0 309.6 309.3 309.2 309.4 309.6 309.8 309.9 310.2 310.6 310.8 311.1 311.5 311.8 312.3 312.6 313.0 313.2 313.2 312.7 311.8 310.9 309.7 308.1 306.0 303.4 301.2 296.6 293.3 291.9 291.2 289.8 290.3 293.1 297.0 300.9 304.9 308.9 313.0 317.1 321.3 325.6 329.9 334.2 338.6 343.1 347.7 352.3 356.9 361.6 366.4 371.3 376.2 381.1 386.2 391.3 393.9 388.4 389.3 390.4 391.1 392.2 392.8 393.1 393.1 393.0 392.6 391.9 391.3 390.6 389.5 388.2 385.8 382.8 380.6 377.8 374.9 371.5 368.0 363.7 360.8 358.1 353.3 352.3 354.7 357.1 359.5 362.0 364.4 366.9 366.3 353.7 352.5 352.3 351.8 352.3 353.2 354.3 354.9 355.1 355.0 354.6 353.8 353.1 352.2 350.8 349.7 348.8 348.2 347.4 347.3 346.9 346.8 346.7 346.5 346.4 346.5 346.7 346.9 347.1 347.2 347.3 347.4 347.7 348.0 348.5 348.9 349.5 349.9 350.2 350.4 350.6 350.7 350.9 351.0 351.0 350.8 350.4 350.0 349.6 349.2 348.9 348.7 348.5 348.4 348.4 348.4 348.4 348.4 348.4 348.2 348.0 348.0 347.8 347.9 348.0 348.2 348.4 348.8 349.2 349.9 350.6 351.0 351.3 351.1 350.5 349.8 349.3 348.8 348.4 348.0 347.5 346.4 345.4 344.3 343.2 342.2 341.9 345.1 345.5 339.7 338.7 341.9 341.6 346.3 350.6 354.9 359.4 363.8 368.4 372.9 377.6 382.3 387.0 391.9 393.4 392.9 392.8 392.5 392.7 392.9 392.6 392.1 391.8 391.4 390.6 390.1 389.1 387.6 385.9 383.8 381.7 379.0 374.4 368.8 362.6 355.5 350.0 344.6 339.2 331.0 324.8 319.0 313.9 309.9 307.1 305.1 304.3 305.9 307.5 308.4 309.8 310.5 310.8 311.8 312.6 313.7 314.4 315.1 315.6 315.4 315.0 314.2 313.2 312.4 311.4 310.4 309.4 308.1 306.7 304.8 303.7 302.5 301.1 300.5 300.0 299.8 300.1 300.5 301.2 302.4 303.8 305.3 306.6 308.1 309.4 310.4 311.6 312.7 313.5 314.1 314.3 314.7 314.5 314.0 313.1 312.0 311.1 309.9 308.4 307.3 305.9 304.7 303.5 302.6 302.2 301.7 301.7 301.7 301.9 302.5 303.5 304.4 305.6 306.7 307.9 309.2 310.1 311.3 312.0 312.5 312.7 312.6 312.3 311.9 311.0 309.8 308.7 307.5 306.2 305.4 304.8 304.2 304.1 304.7 305.8 306.8 308.2 309.3 309.8 309.9 309.8 309.3 308.8 308.4 308.1 307.8 308.2 309.0 310.7 314.7 318.8 320.1 320.1 320.1 320.1 320.1 320.1 320.1 320.1 320.1 320.1 320.1 320.1 320.1 320.1", + "f0_timestep": "0.005" + }, + { + "offset": 142.483, + "text": "AP 生 命 的 短 暂 SP", + "ph_seq": "AP sh eng m ing d e d uan z an SP", + "ph_dur": "0.126 0.15 0.112 0.06 0.1245 0.0475 0.128 0.045 0.0894 0.0826 0.345 0.069", + "ph_num": "2 2 2 2 2 1 1", + "note_seq": "rest D#4 F4 G4 G#4 G4 rest", + "note_dur": "0.276 0.172 0.172 0.173 0.172 0.345 0.069", + "note_slur": "0 0 0 0 0 0 0", + "f0_seq": "329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 329.2 327.0 319.3 316.5 313.3 311.3 310.2 309.5 309.0 308.7 308.7 309.1 309.7 310.4 311.4 312.3 313.1 313.7 314.0 314.2 314.2 314.2 314.3 314.5 314.9 315.7 316.3 317.5 319.0 320.3 322.0 324.2 327.1 329.7 332.6 336.9 340.2 342.8 345.5 347.4 348.1 349.2 350.2 351.0 351.6 351.9 352.1 352.3 352.7 353.2 353.6 353.6 353.1 352.3 351.5 350.8 350.2 349.2 347.8 345.2 341.4 337.3 333.2 329.5 326.2 323.4 322.9 324.2 329.1 345.8 363.3 381.7 385.7 387.0 388.0 390.1 391.5 392.6 392.8 392.7 392.6 392.4 392.3 392.2 391.9 391.5 391.2 390.8 390.4 390.1 389.8 389.4 389.0 388.6 388.4 388.1 387.9 387.6 387.3 387.3 387.3 387.3 416.7 416.7 416.7 416.8 417.0 417.0 417.2 417.2 417.2 417.2 417.4 417.2 417.2 417.0 416.7 416.4 416.2 415.9 415.7 415.5 415.5 414.1 409.5 400.9 390.8 381.7 378.4 373.0 376.1 379.1 382.2 385.3 388.4 391.6 394.8 398.0 401.2 401.4 399.2 398.7 400.3 402.4 405.0 407.2 407.9 407.9 407.5 406.5 405.1 403.9 402.6 400.1 397.5 395.5 393.5 391.2 389.2 387.6 386.4 385.6 385.6 385.9 386.6 387.5 388.8 390.3 392.4 393.6 394.9 396.1 397.4 398.5 399.4 399.9 400.0 399.8 399.5 399.3 398.2 397.5 396.3 394.7 393.6 392.6 391.5 390.7 390.1 389.7 389.5 389.6 389.8 390.2 391.1 391.6 392.0 392.4 392.4 392.3 391.3 389.3 386.0 382.9 378.5 371.4 359.3 351.3 351.3 351.3 351.3 351.3 351.3 351.3 351.3 351.3 351.3 351.3 351.3 351.3 351.3 351.3", + "f0_timestep": "0.005" + }, + { + "offset": 143.862, + "text": "AP 生 活 的 阻 碍 SP", + "ph_seq": "AP sh eng h uo d e z u ai SP", + "ph_dur": "0.156 0.12 0.112 0.06 0.128 0.045 0.092 0.08 0.128 0.389 0.069", + "ph_num": "2 2 2 2 1 1 1", + "note_seq": "rest D#4 F4 G4 G#4 G4 rest", + "note_dur": "0.276 0.172 0.173 0.172 0.173 0.344 0.069", + "note_slur": "0 0 0 0 0 0 0", + "f0_seq": "327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 322.3 318.1 315.7 313.7 312.5 311.7 311.2 311.1 311.4 311.8 312.1 312.2 311.9 310.9 309.5 307.4 304.9 301.6 298.5 295.6 291.2 287.2 288.0 293.0 298.1 303.3 308.6 314.0 319.5 325.1 330.8 336.6 342.4 348.4 349.7 347.8 347.0 347.6 348.8 349.5 349.7 349.8 350.0 349.9 349.8 349.7 349.5 349.4 349.2 348.9 348.7 348.5 348.2 348.0 347.8 347.6 347.3 347.1 346.9 346.8 346.8 346.8 347.0 347.8 349.4 352.3 356.0 359.9 364.6 369.6 375.3 380.2 384.8 388.7 392.1 393.7 394.9 394.8 394.7 394.4 394.2 393.9 393.7 393.6 393.6 393.1 392.4 391.2 389.9 388.7 387.9 387.4 384.6 387.7 390.7 393.8 397.0 400.1 403.3 406.5 409.8 413.0 414.5 414.7 415.1 415.3 415.4 416.0 416.7 417.5 417.7 417.7 417.3 416.8 416.3 415.7 414.7 413.7 413.2 412.9 412.6 412.4 412.4 412.2 411.6 411.2 410.3 408.2 406.2 403.8 401.5 398.8 396.1 393.7 391.7 390.9 391.0 391.5 392.2 392.8 393.4 393.7 394.3 394.8 395.1 395.6 395.7 395.6 392.1 391.9 391.4 390.9 390.3 389.5 388.6 387.9 387.0 386.0 385.1 384.3 383.6 382.8 382.3 382.0 381.8 381.7 381.9 382.5 383.3 384.4 385.6 387.2 388.9 390.4 391.9 393.4 394.9 395.9 396.6 397.1 397.2 397.0 396.8 396.1 395.5 395.0 394.3 393.4 392.4 391.6 390.6 389.9 389.0 388.4 387.9 387.6 387.3 387.3 387.3 387.5 388.1 388.6 389.2 390.0 391.1 392.0 392.8 393.6 394.3 394.9 395.2 395.2 360.5 360.5 360.5 360.5 360.5 360.5 360.5 360.5", + "f0_timestep": "0.005" + }, + { + "offset": 145.241, + "text": "AP 已 经 逝 去 的 五 分 之 三 SP 还 有 多 少 安 排 SP", + "ph_seq": "AP y i j ing sh ir q v d e w u f en zh ir s an SP h ai y ou d uo sh ao an p ai SP", + "ph_dur": "0.231 0.045 0.113 0.06 0.0793 0.0927 0.112 0.06 0.128 0.045 0.3 0.045 0.0941 0.0779 0.4047 0.1123 0.2088 0.1362 0.345 0.097 0.075 0.128 0.045 0.1155 0.0565 0.0874 0.0856 0.127 0.1471 0.0709 0.344 0.069", + "ph_num": "2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 1 1", + "note_seq": "rest D#4 F4 G4 G#4 G4 F4 D#4 D4 A#3 rest D#4 D#4 F4 G4 G#4 G4 rest", + "note_dur": "0.276 0.173 0.172 0.172 0.173 0.345 0.172 0.517 0.345 0.345 0.172 0.173 0.172 0.173 0.172 0.173 0.344 0.069", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "300.5 300.5 300.5 300.5 300.5 300.5 300.5 300.5 300.5 300.5 300.5 300.5 300.5 300.5 300.5 300.5 300.5 300.5 300.5 300.5 300.5 300.5 300.5 300.5 300.5 300.5 300.5 300.5 300.5 300.5 300.5 300.5 300.5 300.5 300.5 300.5 300.5 300.5 300.5 300.5 300.5 300.5 300.5 300.5 300.5 300.5 300.5 300.5 300.5 300.5 295.6 296.4 298.1 300.4 303.5 306.0 308.4 310.2 311.4 311.8 311.9 312.0 312.2 312.4 312.6 312.8 313.0 313.1 313.3 313.5 312.7 311.2 308.8 305.9 303.1 300.7 298.8 297.8 298.0 299.0 301.2 303.8 307.2 311.2 316.5 321.6 326.6 331.7 336.9 342.0 346.0 349.2 351.5 352.9 353.5 353.3 353.1 352.9 352.6 352.3 351.9 351.6 351.4 351.3 351.1 350.6 349.6 348.0 346.0 343.8 341.6 339.4 337.4 336.0 335.2 334.8 335.8 338.6 343.4 349.6 356.4 363.9 371.5 380.2 386.3 390.8 393.6 395.0 395.0 395.0 395.0 395.0 395.0 395.0 395.0 395.0 395.0 395.0 393.9 391.3 387.6 383.0 377.9 372.7 368.9 366.6 365.5 365.9 366.9 368.7 371.4 374.9 378.5 382.4 387.7 392.0 396.6 400.9 405.3 409.2 412.2 414.6 416.0 416.8 417.0 417.0 417.0 417.0 417.0 417.0 417.0 417.0 417.0 417.0 417.0 417.0 417.0 417.0 417.0 416.3 413.9 410.3 405.4 400.1 394.9 391.5 389.9 389.7 389.9 390.1 390.5 391.2 391.8 392.3 392.9 393.4 393.8 394.0 394.3 394.1 393.7 393.4 392.9 392.1 391.4 390.9 390.1 389.2 388.8 388.4 388.1 387.9 388.7 388.6 388.7 389.0 389.4 389.6 390.1 390.5 390.9 391.5 392.0 392.4 392.4 392.8 392.7 392.7 392.6 392.2 392.0 391.9 391.8 391.7 391.4 391.0 390.4 389.1 388.2 387.2 386.0 384.3 382.5 380.3 377.7 374.7 372.0 369.8 367.2 363.6 360.6 357.0 352.6 350.0 347.6 346.4 345.3 344.9 345.0 345.8 346.9 349.4 349.4 349.5 349.7 349.8 350.0 350.2 350.2 350.2 350.4 350.2 349.3 347.9 346.2 344.2 341.8 338.7 335.8 333.0 330.3 327.5 325.0 323.1 321.4 320.3 319.5 318.5 319.3 320.0 320.7 321.5 322.2 323.0 323.7 324.5 325.2 322.5 316.1 315.7 316.3 316.6 316.7 316.7 316.7 316.3 315.7 314.9 313.9 312.9 312.1 311.5 310.6 309.9 309.4 309.0 309.0 309.0 309.0 309.2 309.5 309.8 310.1 310.5 310.8 310.9 311.0 311.1 311.1 311.0 311.1 311.1 311.1 311.3 311.5 311.3 311.5 311.5 311.3 311.3 311.2 311.1 310.9 310.8 310.8 310.7 310.6 310.8 311.1 310.9 311.3 311.5 311.5 311.8 312.2 312.5 312.9 313.1 313.0 312.9 312.6 312.2 311.3 310.3 309.1 307.7 306.4 304.0 301.8 299.3 295.5 291.7 289.0 287.4 288.0 290.3 290.6 290.9 291.2 291.6 291.9 292.2 292.6 292.9 293.2 293.6 293.9 294.2 294.6 294.9 295.2 295.6 295.9 296.3 296.6 296.9 297.3 297.6 297.9 298.3 298.6 296.0 295.2 296.1 297.9 298.9 299.1 298.3 297.2 296.4 295.6 294.9 293.9 293.3 292.6 292.1 291.7 291.5 291.4 291.1 291.2 291.4 291.6 292.1 292.6 293.0 293.7 294.0 294.2 294.5 294.5 294.5 294.0 293.2 291.5 290.0 287.8 284.7 279.8 274.2 268.2 262.9 260.2 251.5 251.1 250.7 250.3 250.0 249.6 249.2 248.8 248.5 248.1 247.7 247.3 247.0 246.6 246.2 245.8 245.5 245.1 244.7 244.4 244.0 243.6 243.3 242.9 242.5 242.2 241.8 239.6 236.8 236.0 235.8 235.4 235.3 235.5 235.4 235.1 235.1 234.9 234.7 234.1 233.6 233.2 232.4 231.7 231.3 230.6 230.2 229.9 229.6 229.3 229.2 229.1 229.1 229.2 229.2 229.4 229.7 230.2 230.7 231.2 231.7 232.5 233.2 233.7 233.9 234.0 234.2 234.0 233.6 233.4 232.8 232.3 232.1 231.8 231.4 231.1 231.1 231.2 231.4 231.5 231.6 231.6 231.2 230.7 229.2 227.7 226.7 225.1 223.7 222.7 221.0 218.5 215.7 211.2 203.8 201.2 205.8 208.7 211.5 214.5 217.4 220.4 223.4 226.5 229.6 232.8 236.0 239.3 242.6 245.9 249.3 252.7 256.2 259.7 263.3 266.9 270.6 274.3 278.1 281.9 285.8 289.8 293.8 297.8 301.9 306.1 310.3 314.6 318.9 323.3 327.7 321.5 316.6 313.7 310.9 307.9 306.4 305.7 305.3 305.5 306.1 307.1 308.3 309.2 310.4 311.5 312.2 312.4 312.1 311.7 310.8 310.1 309.7 309.2 308.9 308.8 308.9 309.1 309.5 309.9 310.1 310.4 310.4 310.4 310.7 311.1 311.4 311.7 311.7 311.7 311.7 311.8 312.1 312.3 312.4 312.3 311.8 311.5 310.6 309.0 307.4 305.5 303.6 300.8 298.9 296.7 292.0 287.8 288.3 290.9 291.8 295.6 301.5 307.5 313.6 319.9 326.2 332.7 339.3 346.1 347.7 347.4 347.9 348.3 350.0 350.0 350.0 350.0 350.0 350.0 350.0 350.0 350.0 349.8 349.1 348.1 346.6 345.1 343.2 341.3 339.0 337.1 335.5 334.2 333.1 332.3 332.1 337.9 351.6 371.5 388.5 397.9 398.5 398.3 398.1 397.8 397.4 396.8 396.4 395.8 395.2 394.6 394.0 393.5 393.1 392.7 392.5 392.4 388.8 388.8 389.1 389.5 390.0 390.5 391.0 391.4 391.5 391.8 391.8 392.2 393.0 394.7 396.2 398.1 400.8 403.1 405.4 407.5 409.3 411.0 412.2 413.3 414.3 415.5 416.3 416.7 417.2 417.2 417.1 416.6 416.0 415.3 414.3 413.0 412.0 410.8 409.1 405.4 401.9 400.0 396.4 391.3 386.6 380.7 374.1 369.0 358.7 359.0 360.6 362.9 366.0 369.7 373.6 377.7 381.7 386.6 390.0 392.9 395.2 396.7 397.5 397.2 397.0 396.7 396.2 395.6 394.9 394.1 393.4 392.6 391.7 390.9 390.2 389.4 388.7 388.1 387.7 387.3 387.3 387.3 387.5 387.9 388.7 389.7 391.1 392.8 394.3 395.9 397.4 399.0 400.2 401.2 401.9 402.4 402.5 402.2 401.7 401.2 400.4 399.5 398.4 397.2 396.2 395.2 394.0 392.9 392.1 391.4 390.9 390.5 390.4 390.0 389.1 387.6 385.5 383.2 380.6 378.1 375.3 373.0 371.3 370.1 369.3 356.2 356.2 356.2 356.2 356.2 356.2 356.2 356.2 356.2 356.2 356.2 356.2", + "f0_timestep": "0.005" + }, + { + "offset": 149.379, + "text": "AP 有 多 少 期 待 SP", + "ph_seq": "AP y ou d uo sh ao q i d ai SP", + "ph_dur": "0.231 0.045 0.1236 0.0494 0.0836 0.0884 0.0791 0.0929 0.1045 0.0685 0.345 0.069", + "ph_num": "2 2 2 2 2 1 1", + "note_seq": "rest D#4 F4 G4 G#4 G4 rest", + "note_dur": "0.276 0.173 0.172 0.172 0.173 0.345 0.069", + "note_slur": "0 0 0 0 0 0 0", + "f0_seq": "326.2 326.2 326.2 326.2 326.2 326.2 326.2 326.2 326.2 326.2 326.2 326.2 326.2 326.2 326.2 326.2 326.2 326.2 326.2 326.2 326.2 326.2 326.2 326.2 326.2 326.2 326.2 326.2 326.2 326.2 326.2 326.2 326.2 326.2 326.2 326.2 326.2 326.2 326.2 326.2 326.2 326.2 326.2 326.2 326.2 326.2 308.9 308.8 308.6 308.4 308.2 307.9 307.7 307.6 307.4 307.4 307.4 307.4 307.5 307.7 308.0 308.3 308.6 309.0 309.4 309.9 310.2 310.5 310.7 310.8 310.9 310.7 310.2 309.2 308.1 306.9 305.3 303.5 301.9 300.4 299.1 297.8 296.8 296.4 296.2 297.5 301.8 307.8 315.1 323.2 331.9 340.7 346.6 350.0 347.3 352.8 352.7 352.7 352.7 352.5 352.3 352.3 352.3 352.3 352.2 351.7 349.8 347.8 345.2 342.2 339.0 335.6 332.8 330.4 328.8 327.6 359.2 364.9 370.8 376.7 382.8 388.9 395.2 394.8 394.7 394.7 394.5 394.3 393.9 393.7 393.4 392.9 392.6 392.4 392.2 392.0 391.8 391.8 391.8 391.2 390.0 388.1 385.7 383.0 379.9 376.2 373.0 370.1 367.6 365.2 363.6 362.9 386.1 389.3 392.6 395.8 399.1 402.4 405.7 409.1 412.5 413.7 413.9 414.7 415.6 416.5 417.5 418.0 417.9 417.2 416.0 414.8 413.2 410.1 407.5 404.6 400.3 395.2 386.6 374.4 367.4 371.2 374.9 378.7 382.6 386.4 390.3 394.3 398.3 402.3 406.4 391.8 391.9 392.6 393.1 394.1 394.9 395.9 396.8 397.4 397.7 397.9 398.0 397.8 397.5 397.0 396.4 395.6 394.9 394.0 393.2 392.4 391.7 390.9 390.1 389.5 389.1 388.8 388.6 388.6 388.7 389.1 389.4 390.1 391.0 391.9 392.9 394.0 395.0 396.1 397.0 397.9 398.5 399.1 399.6 399.8 399.9 399.7 399.1 398.3 397.2 396.1 394.8 393.5 392.2 390.9 389.7 389.0 388.4 388.0 387.9 387.9 388.2 388.4 388.8 389.3 389.8 390.3 390.8 391.3 391.7 392.0 392.1 392.3 360.7 360.7 360.7 360.7 360.7 360.7 360.7 360.7 360.7 360.7 360.7 360.7", + "f0_timestep": "0.005" + }, + { + "offset": 150.759, + "text": "AP 过 去 的 梦 何 时 捡 起 来 SP", + "ph_seq": "AP g uo q v d e m eng h e sh ir j ian q i l ai SP", + "ph_dur": "0.215 0.06 0.0851 0.0879 0.1157 0.0563 0.113 0.06 0.0969 0.0751 0.2094 0.1356 0.0985 0.0735 0.3374 0.1806 0.254 0.09 0.345 0.068", + "ph_num": "2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest D#4 F4 G4 G#4 G4 F4 D#4 A#4 G4 rest", + "note_dur": "0.275 0.173 0.172 0.173 0.172 0.345 0.172 0.518 0.344 0.345 0.068", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "333.8 333.8 333.8 333.8 333.8 333.8 333.8 333.8 333.8 333.8 333.8 333.8 333.8 333.8 333.8 333.8 333.8 333.8 333.8 333.8 333.8 333.8 333.8 333.8 333.8 333.8 333.8 333.8 333.8 333.8 333.8 333.8 333.8 333.8 333.8 333.8 333.8 333.8 333.8 333.8 333.8 333.8 333.8 333.8 333.8 333.8 333.8 333.8 333.8 311.5 311.5 311.5 311.5 311.5 311.5 311.5 311.5 311.5 311.6 311.7 311.7 311.7 311.7 311.7 311.7 311.7 311.7 311.7 311.8 311.5 310.8 309.4 307.8 306.1 304.1 302.1 299.7 297.9 296.4 295.3 294.4 294.0 317.4 311.7 314.2 319.7 327.3 336.2 342.8 346.5 347.9 348.2 349.0 350.0 351.0 351.9 352.5 351.1 351.6 352.1 352.4 352.7 353.1 353.5 353.7 353.8 354.0 353.8 352.6 350.8 348.4 345.7 343.1 341.6 340.8 341.4 343.6 347.4 352.7 360.0 367.0 374.0 380.6 387.1 391.8 394.3 395.4 395.2 395.0 394.4 394.0 393.5 392.9 392.2 391.7 391.3 391.1 390.9 390.5 390.2 390.0 389.7 389.2 388.8 388.3 387.7 387.4 387.4 387.9 389.6 391.3 392.0 393.4 395.2 397.3 399.7 402.6 405.1 407.1 409.9 412.9 414.3 414.9 415.4 416.1 416.5 416.7 417.0 417.0 416.4 415.1 413.2 411.1 408.5 404.8 400.7 396.2 390.9 385.3 384.2 386.4 388.7 391.0 393.3 395.7 398.0 400.4 402.7 405.1 407.5 409.9 412.4 414.8 408.8 400.8 398.9 399.1 398.9 399.1 399.5 399.8 400.0 399.6 399.1 398.2 397.2 396.2 395.0 393.7 392.7 391.6 390.6 389.6 389.1 389.1 388.9 389.3 389.7 390.2 391.3 392.3 393.4 394.4 395.3 396.1 396.9 397.5 397.7 397.5 396.8 395.0 392.9 389.5 384.5 378.4 372.4 366.7 358.4 356.1 355.9 355.6 355.3 355.0 354.7 354.4 354.2 353.9 353.6 353.3 353.0 352.8 352.5 352.2 351.9 351.6 351.4 351.1 350.8 349.6 349.6 349.6 349.8 350.2 350.4 350.6 351.0 351.3 351.7 351.9 352.2 352.4 352.6 352.7 352.8 352.5 351.4 349.5 346.6 342.4 338.2 333.6 328.9 323.9 318.9 314.7 311.1 308.3 305.7 304.4 303.8 304.3 304.8 305.2 305.7 306.2 306.6 307.1 307.6 308.6 308.9 309.0 310.1 310.9 311.7 312.5 313.1 313.5 313.7 313.3 312.9 312.6 312.1 311.1 310.4 309.4 308.4 307.9 307.4 307.0 306.8 306.8 306.9 307.1 307.4 307.4 307.7 308.0 308.3 308.6 308.9 309.3 309.5 309.6 310.0 310.2 310.5 310.8 310.9 310.9 310.7 310.5 310.2 310.0 309.9 309.6 309.2 309.0 308.7 308.8 308.9 308.9 308.7 308.5 308.3 308.5 308.8 309.8 310.5 310.9 311.4 311.7 311.8 312.1 312.8 312.9 312.7 312.3 311.4 310.1 308.9 307.0 304.8 303.3 300.9 299.1 304.4 309.8 315.3 320.8 326.5 332.2 338.1 344.1 350.1 356.3 362.6 369.0 375.5 382.1 388.9 395.7 402.7 409.8 417.0 424.4 431.9 439.5 447.2 455.1 463.2 469.9 472.1 472.7 473.2 473.1 473.0 473.2 473.0 472.4 471.7 470.9 469.7 468.3 467.2 466.0 465.0 464.3 463.8 463.5 463.9 464.4 465.1 465.9 466.4 467.0 467.4 468.1 468.5 469.0 469.3 469.5 469.8 469.9 470.1 470.2 470.2 470.2 470.2 470.2 469.9 469.5 469.1 468.5 468.0 467.1 466.1 464.3 462.4 459.9 456.4 453.0 448.9 443.7 439.7 435.7 431.9 427.5 421.8 413.5 407.2 401.2 397.2 394.5 392.1 390.4 389.7 389.9 392.2 396.5 403.2 406.5 408.9 408.6 408.4 408.4 408.4 408.4 408.4 408.3 407.7 406.8 405.5 404.0 402.2 400.3 398.6 396.3 395.0 393.6 392.2 391.3 390.5 389.6 389.0 388.8 389.1 389.6 390.5 391.5 392.5 393.8 395.9 397.5 399.1 400.7 402.1 403.1 403.6 403.9 403.9 403.6 402.9 402.1 401.2 400.2 398.8 397.4 395.9 394.7 393.0 392.2 391.7 391.3 391.5 391.8 392.4 393.1 393.4 393.3 392.8 391.9 391.0 390.2 389.3 389.0 388.6 384.2 383.3 383.3 383.3 383.3 383.3 383.3 383.3 383.3 383.3 383.3 383.3 383.3 383.3 383.3 383.3", + "f0_timestep": "0.005" + }, + { + "offset": 153.517, + "text": "AP 年 轻 的 牵 绊 SP", + "ph_seq": "AP n ian q ing d e q ian b an SP", + "ph_dur": "0.231 0.045 0.0799 0.0931 0.127 0.045 0.083 0.089 0.1106 0.0624 0.345 0.069", + "ph_num": "2 2 2 2 2 1 1", + "note_seq": "rest D#4 F4 G4 G#4 G4 rest", + "note_dur": "0.276 0.173 0.172 0.172 0.173 0.345 0.069", + "note_slur": "0 0 0 0 0 0 0", + "f0_seq": "352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 352.7 313.8 313.8 313.8 313.9 314.0 314.1 314.2 314.2 314.4 314.4 314.4 314.5 314.7 314.8 315.0 315.3 315.5 315.6 315.9 316.0 316.1 316.2 316.3 316.2 315.7 314.8 313.4 311.8 310.1 308.4 306.5 304.8 303.6 302.6 301.9 302.0 302.4 304.0 306.1 308.9 312.1 316.1 320.7 325.0 329.2 333.6 338.2 341.7 344.6 346.9 348.6 349.3 349.4 349.6 349.7 349.9 350.1 350.5 350.8 351.2 351.5 351.8 352.0 352.1 352.1 352.1 351.5 350.6 349.6 348.4 347.1 345.5 344.4 343.6 343.1 339.3 337.7 336.8 337.4 338.9 342.7 354.1 366.1 378.6 384.4 385.0 386.3 388.3 390.1 391.1 391.6 391.5 390.1 388.0 385.0 381.7 376.9 372.4 364.7 367.7 371.0 373.3 375.5 377.8 380.1 382.4 384.7 387.0 389.4 391.7 394.1 396.5 398.9 401.3 403.7 406.1 408.6 411.0 412.6 412.8 413.1 413.6 414.1 414.7 415.4 416.1 416.3 416.5 416.1 415.5 414.5 413.4 411.7 409.8 407.7 404.6 397.8 390.1 385.9 382.0 375.1 370.4 367.0 364.2 358.2 355.0 358.8 360.1 362.5 366.6 370.9 375.7 380.6 385.8 390.1 393.1 395.2 396.1 395.9 395.5 395.0 394.3 393.5 392.5 391.5 390.4 389.1 387.9 387.0 385.9 384.8 383.9 383.2 382.6 382.2 382.2 382.2 382.3 383.0 383.7 384.8 386.1 387.7 389.3 390.8 392.3 393.8 395.4 396.6 397.5 398.3 398.7 399.1 398.9 398.3 397.5 396.7 395.6 394.4 393.2 392.2 391.3 390.5 389.9 389.7 389.7 389.7 389.8 390.0 390.0 390.2 390.6 390.8 391.0 391.2 391.5 391.8 392.0 392.2 392.4 392.6 392.7 392.7 392.8 373.0 373.0 373.0 373.0 373.0 373.0 373.0 373.0 373.0 373.0", + "f0_timestep": "0.005" + }, + { + "offset": 154.897, + "text": "AP 老 去 的 无 奈 SP", + "ph_seq": "AP l ao q v d e w u n ai SP", + "ph_dur": "0.2102 0.0649 0.076 0.097 0.1134 0.0586 0.128 0.045 0.1031 0.0689 0.345 0.068", + "ph_num": "2 2 2 2 2 1 1", + "note_seq": "rest D#4 F4 G4 G#4 G4 rest", + "note_dur": "0.275 0.173 0.172 0.173 0.172 0.345 0.068", + "note_slur": "0 0 0 0 0 0 0", + "f0_seq": "359.3 359.3 359.3 359.3 359.3 359.3 359.3 359.3 359.3 359.3 359.3 359.3 359.3 359.3 359.3 359.3 359.3 359.3 359.3 359.3 359.3 359.3 359.3 359.3 359.3 359.3 359.3 359.3 359.3 359.3 359.3 359.3 359.3 359.3 359.3 313.0 312.9 312.7 312.6 312.3 312.0 311.8 311.6 311.5 311.1 310.9 310.7 310.6 310.6 310.6 310.6 310.7 310.9 311.1 311.4 311.7 312.0 312.4 312.7 313.1 313.5 313.8 314.1 314.4 314.7 315.0 315.4 315.6 315.7 315.8 315.9 315.8 314.7 312.0 308.4 303.6 298.6 294.4 291.0 288.5 287.5 288.6 291.7 296.6 303.5 312.1 320.4 328.5 335.8 342.7 346.3 343.2 344.6 346.0 347.1 348.0 349.0 349.8 350.5 350.7 351.0 351.0 350.8 350.8 350.5 349.9 349.0 348.3 347.5 346.3 344.5 342.4 340.1 338.0 334.8 328.7 317.7 316.0 316.2 317.0 320.7 330.7 347.2 365.2 384.2 390.9 390.3 390.5 390.8 391.2 391.6 392.0 392.5 392.9 392.9 392.7 392.3 391.5 390.9 390.1 389.5 389.1 388.6 388.1 387.6 387.5 387.9 388.7 390.3 391.8 393.7 396.3 398.4 401.0 404.4 407.3 409.4 411.2 413.0 414.3 415.5 416.7 417.5 418.0 418.4 418.4 418.4 418.0 417.8 417.2 416.5 416.0 415.4 414.9 414.5 413.8 413.0 412.1 411.4 410.8 410.1 409.4 408.2 407.0 403.2 402.1 401.2 399.7 398.5 397.7 396.9 395.7 395.8 398.8 398.6 398.4 398.2 397.9 397.6 397.2 397.0 397.0 396.7 396.2 395.5 394.5 393.4 391.5 389.9 388.2 386.4 384.5 382.7 381.3 380.2 379.3 378.6 378.3 378.2 378.4 379.0 380.0 381.1 382.3 383.6 385.4 387.0 388.6 390.2 391.5 393.1 394.3 395.1 395.7 396.2 396.2 396.0 395.4 394.6 393.4 392.2 391.0 389.7 388.3 387.1 386.2 385.6 385.2 385.0 385.0 385.2 385.7 386.3 387.0 387.8 388.5 389.3 390.4 391.2 391.9 392.7 393.3 393.7 394.1 394.3 363.0 363.0 363.0 363.0 363.0 363.0 363.0 363.0 363.0 363.0 363.0", + "f0_timestep": "0.005" + }, + { + "offset": 156.276, + "text": "AP 生 命 重 复 着 因 果 循 环 SP 还 有 谁 的 身 影 能 永 远 如 此 的 伟 岸 SP", + "ph_seq": "AP sh eng m ing ch ong f u zh e y in g uo x vn h uan SP h ai y ou sh ei d e sh en y ing n eng y ong y van r u c i0 d e w ei an SP", + "ph_dur": "0.141 0.135 0.112 0.06 0.113 0.06 0.112 0.06 0.092 0.08 0.3 0.045 0.108 0.065 0.352 0.165 0.2137 0.1313 0.345 0.082 0.09 0.1263 0.0457 0.1029 0.0701 0.127 0.045 0.0879 0.0851 0.127 0.045 0.24 0.105 0.3 0.045 0.299 0.045 0.3 0.045 0.1971 0.1479 0.3 0.045 0.3 0.045 0.127 1.942 0.069", + "ph_num": "2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1", + "note_seq": "rest D#4 F4 G4 G#4 G4 F4 D#4 D4 A#3 rest D#4 D#4 F4 G4 G#4 G4 F4 D#4 A#4 G4 F4 D#4 F4 F4 G4 rest", + "note_dur": "0.276 0.172 0.173 0.172 0.172 0.345 0.173 0.517 0.345 0.345 0.172 0.172 0.173 0.172 0.173 0.172 0.345 0.345 0.344 0.345 0.345 0.345 0.345 0.172 1.552 0.345 0.069", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0", + "f0_seq": "343.8 343.8 343.8 343.8 343.8 343.8 343.8 343.8 343.8 343.8 343.8 343.8 343.8 343.8 343.8 343.8 343.8 343.8 343.8 343.8 343.8 343.8 343.8 343.8 343.8 343.8 343.8 343.8 343.8 343.8 343.8 343.8 343.8 343.8 343.8 343.8 343.8 343.8 343.8 343.8 343.8 343.8 343.8 343.8 343.8 343.8 343.8 343.8 343.8 343.8 311.2 311.1 311.1 311.1 310.9 310.8 310.6 310.5 310.3 310.2 310.0 309.8 309.7 309.5 309.5 309.4 309.3 309.3 309.3 309.3 309.5 310.2 310.9 311.8 313.0 314.6 316.3 318.0 319.9 321.8 324.2 326.4 328.6 330.8 333.2 335.5 337.5 339.5 341.4 343.4 344.8 345.9 347.0 347.9 348.4 348.7 348.8 348.8 348.9 349.1 349.4 349.6 349.8 350.0 350.1 350.2 350.4 347.9 343.3 338.2 335.6 336.4 338.8 343.1 348.6 354.8 361.7 368.7 377.3 383.6 388.8 392.8 395.3 396.1 396.1 396.1 396.1 396.1 396.2 396.3 396.3 396.3 396.3 396.3 396.5 396.1 395.0 393.6 391.8 389.8 387.7 385.7 384.4 383.7 383.6 384.2 385.3 387.5 390.1 393.1 396.3 400.1 404.2 407.7 411.0 414.0 416.9 418.9 420.1 420.8 420.7 420.5 420.1 419.7 419.3 418.7 418.2 417.6 417.1 416.9 416.7 416.7 416.0 414.6 412.6 410.2 407.2 403.9 401.1 398.6 396.7 395.2 394.8 394.6 394.4 394.2 394.0 393.7 393.4 392.9 392.7 392.5 392.3 392.2 392.2 392.2 392.2 392.2 392.2 392.2 392.2 392.3 392.4 392.4 392.4 392.4 392.6 392.7 392.7 392.7 392.7 392.7 392.7 392.7 390.9 391.1 391.4 391.7 392.1 392.3 392.5 392.9 393.1 393.1 393.1 393.1 393.1 392.9 392.9 392.8 392.7 392.7 392.7 392.7 392.6 392.4 392.4 392.2 392.0 391.5 391.2 390.2 389.4 388.7 387.6 385.9 384.3 382.6 380.4 378.1 375.9 373.8 371.1 367.4 364.9 362.3 358.6 356.4 354.7 353.0 351.3 350.2 349.5 349.3 349.5 349.7 349.9 350.2 350.5 350.6 350.8 350.2 349.4 348.3 346.5 343.7 340.9 338.2 335.1 332.3 330.1 327.4 322.4 318.3 311.1 295.4 294.6 298.7 302.8 307.0 311.2 315.5 319.8 324.2 328.7 333.2 332.4 326.0 323.5 321.7 318.6 318.1 317.5 317.2 316.6 316.1 315.4 314.9 314.4 313.7 312.8 312.0 311.2 310.6 310.3 309.9 309.5 309.3 309.0 308.8 309.0 309.0 309.0 309.0 308.9 309.0 309.5 310.1 310.4 310.8 311.0 311.2 311.5 311.8 312.2 312.2 312.2 312.1 311.9 311.8 311.7 311.6 311.3 311.1 310.8 310.5 309.9 309.6 309.3 309.2 309.2 309.6 309.9 310.3 311.0 311.7 312.7 313.7 314.3 314.7 315.0 315.1 315.2 315.7 315.6 315.5 314.2 311.1 307.6 304.9 302.3 299.0 297.9 298.1 298.6 299.1 299.5 300.0 300.5 301.0 301.5 302.0 302.5 303.0 303.6 304.1 304.6 305.1 305.6 306.1 306.6 307.1 307.6 308.1 308.6 309.1 309.7 310.2 310.7 311.2 308.3 306.1 304.8 303.8 302.8 301.8 300.7 299.6 298.5 297.4 296.5 295.5 294.5 293.8 293.7 293.7 293.7 293.9 294.1 294.4 294.7 295.0 295.3 295.4 295.5 295.7 295.5 295.4 295.2 295.0 295.1 295.2 295.5 295.8 295.9 295.9 295.8 295.5 295.0 294.3 293.6 292.4 290.8 289.1 287.6 284.0 281.1 275.7 273.2 269.4 265.6 264.4 264.0 263.6 263.2 262.9 262.5 262.1 261.7 261.4 261.0 260.6 260.2 259.9 259.5 259.1 258.8 258.4 258.0 257.6 254.5 249.3 247.8 246.8 245.8 245.6 244.9 243.8 242.7 241.4 240.3 238.6 237.8 236.9 235.8 234.8 233.9 233.1 232.6 232.0 231.4 231.1 230.8 230.9 231.2 231.5 231.8 232.3 232.8 233.4 234.0 234.6 235.2 235.8 236.3 236.7 237.1 237.5 237.6 237.7 237.4 237.1 236.3 235.7 234.7 233.6 232.9 232.5 232.2 232.2 232.7 233.3 233.9 234.5 235.0 235.1 235.1 234.6 234.5 234.1 233.5 232.8 232.1 231.5 230.7 230.0 229.6 229.0 228.4 228.0 227.1 229.2 231.9 234.7 237.4 240.2 243.1 245.9 248.9 251.8 254.8 257.8 260.8 263.9 267.0 270.2 273.4 276.6 279.9 283.2 286.5 289.9 293.3 296.8 300.3 303.8 307.4 311.1 292.8 293.0 293.6 294.6 296.0 297.8 299.7 301.6 303.5 305.5 307.3 308.5 309.4 310.0 310.2 310.1 310.1 310.1 310.1 310.1 310.1 310.0 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 310.1 310.1 310.1 310.1 310.1 310.2 310.2 310.3 310.4 310.6 310.7 310.9 311.1 311.4 311.5 311.7 311.8 312.0 312.0 312.2 313.0 312.4 311.2 309.5 307.7 305.8 303.9 301.8 300.1 298.9 298.1 297.6 325.9 328.6 331.3 334.0 336.8 339.5 342.3 345.1 348.0 350.8 348.5 348.0 347.9 347.8 348.1 348.5 348.7 348.9 349.0 352.2 352.1 352.0 351.7 351.5 351.1 350.6 350.2 349.8 349.3 348.7 348.2 347.9 347.4 346.9 346.4 346.1 345.8 345.6 345.4 345.4 346.4 351.5 364.5 381.2 391.5 395.3 395.2 395.2 395.0 394.8 394.4 394.2 393.9 393.5 393.1 392.9 392.7 392.5 392.3 392.2 392.2 394.7 394.7 394.6 394.0 392.4 390.8 389.1 387.8 387.3 424.5 427.3 430.1 433.0 435.8 438.7 419.6 419.6 419.6 419.6 419.7 419.9 419.9 419.9 419.9 419.9 420.0 420.0 419.8 419.6 419.4 419.2 418.8 418.3 418.0 417.8 417.6 417.5 417.4 417.0 416.0 414.5 412.4 410.1 407.6 405.1 402.6 399.8 397.7 395.9 394.4 393.3 392.9 392.8 392.7 392.6 392.4 392.1 391.8 391.6 391.2 390.8 390.4 390.1 389.9 389.5 389.3 389.1 389.1 389.1 389.9 389.7 389.5 389.5 389.5 389.7 390.2 390.6 390.0 390.1 390.4 390.9 391.4 392.0 392.4 393.0 393.3 393.5 393.7 393.1 391.4 388.7 385.3 381.1 375.7 370.9 366.1 361.5 356.9 353.3 350.6 348.9 348.0 348.0 348.2 348.6 349.0 349.6 350.2 350.7 351.3 351.9 352.2 352.4 352.4 352.3 352.3 352.3 352.3 352.3 352.3 352.1 352.1 352.1 352.1 352.1 351.9 351.9 351.9 351.9 351.9 351.9 351.9 354.7 353.9 353.2 352.6 352.1 351.3 350.6 350.0 349.4 348.8 348.4 347.9 347.5 347.2 347.1 347.2 347.3 347.7 347.9 348.0 348.5 348.6 349.2 349.7 350.2 350.4 350.7 351.0 350.9 350.8 350.7 350.3 349.6 349.1 348.2 346.9 345.5 344.2 342.9 340.7 338.7 337.0 334.8 332.3 329.8 327.2 324.5 321.6 319.4 317.7 316.3 315.5 314.7 314.6 314.2 314.0 313.9 313.3 312.6 312.2 311.9 311.8 311.9 312.0 311.8 311.8 311.6 311.3 311.1 310.9 310.8 310.6 310.2 309.8 309.2 308.6 308.2 308.1 308.1 308.2 308.5 308.7 309.0 309.4 309.5 309.7 309.7 309.7 309.8 310.1 310.4 310.5 310.6 310.6 310.4 310.1 309.8 309.6 309.5 309.5 309.5 309.7 309.9 309.7 310.0 310.2 310.5 311.1 311.8 314.6 315.6 318.2 321.5 326.2 331.7 338.8 346.5 354.3 362.6 370.9 381.1 389.0 396.6 403.4 409.7 414.7 417.8 419.6 420.0 419.8 419.6 419.4 419.2 419.0 418.9 419.2 420.6 422.9 425.8 429.3 433.4 438.7 443.4 447.9 452.4 456.7 460.4 463.0 464.8 465.5 465.6 465.8 466.0 466.3 466.9 467.6 468.1 468.5 468.8 469.0 469.3 470.8 470.8 470.8 471.0 470.5 470.2 469.5 468.6 467.5 466.5 465.4 463.5 461.5 459.5 456.7 453.6 450.5 447.6 444.9 440.7 436.5 432.1 427.2 423.7 420.3 416.2 411.9 408.6 406.1 403.4 401.6 401.2 401.2 401.7 402.3 402.1 401.9 400.7 399.7 399.0 398.1 397.6 397.0 396.3 395.4 394.5 393.8 393.1 392.1 391.3 390.3 389.5 388.4 387.5 386.9 386.4 386.4 386.5 386.9 387.6 388.4 389.4 390.6 391.7 392.4 393.0 393.4 393.9 394.5 394.7 394.3 393.3 391.6 389.1 386.1 382.6 379.4 375.4 372.2 375.7 383.9 382.9 381.8 380.8 379.7 378.6 377.6 376.6 375.5 374.5 373.4 372.4 371.4 370.3 369.3 368.3 367.3 366.2 365.2 364.2 363.2 362.2 361.2 360.2 359.2 358.2 357.6 356.8 355.7 354.9 354.1 353.5 353.1 352.6 352.1 351.1 350.4 350.1 349.0 348.5 347.9 347.6 347.3 347.1 347.0 347.1 347.3 347.5 347.7 347.8 347.9 348.0 348.0 347.8 347.8 348.0 348.2 348.4 348.7 348.9 349.2 349.7 350.1 350.3 350.4 350.4 349.9 349.0 347.3 345.4 343.3 341.3 338.7 336.3 332.0 326.6 321.5 317.2 314.3 312.4 310.4 308.4 307.4 313.0 310.4 314.5 316.0 316.9 317.7 318.6 319.5 320.4 321.2 322.1 322.0 321.4 321.0 319.9 319.6 319.0 317.8 316.4 314.6 313.7 312.6 311.4 310.8 310.3 310.0 310.0 310.1 310.3 310.7 311.1 311.5 311.8 312.3 312.6 312.7 312.7 312.6 312.4 312.2 311.9 311.8 311.9 312.1 312.3 312.6 312.6 312.6 312.6 312.6 312.4 312.2 312.1 311.7 311.5 311.4 311.1 310.9 310.9 310.8 310.8 311.0 311.5 312.2 312.9 314.2 316.0 318.2 320.1 322.2 325.1 327.0 328.7 331.4 334.7 337.8 340.5 342.4 345.2 347.4 349.2 350.6 351.3 351.6 351.9 352.1 351.8 351.4 350.9 350.4 350.0 349.7 349.3 348.8 348.4 348.0 347.6 347.2 346.6 346.3 345.9 345.5 345.2 344.9 344.8 345.1 345.7 346.6 348.2 349.5 350.9 352.1 353.0 353.7 354.0 354.5 354.7 354.9 354.8 354.7 354.5 354.1 353.7 353.3 352.9 352.5 351.9 351.5 350.8 350.3 349.6 349.0 348.3 347.4 346.7 346.2 345.8 345.4 345.2 345.2 345.2 345.3 345.7 346.0 346.7 347.4 348.4 349.3 350.4 351.3 351.9 352.5 352.9 353.2 353.3 353.2 353.1 353.0 352.6 352.1 351.5 350.8 350.0 349.0 348.4 347.6 346.5 345.7 344.9 344.1 343.3 342.6 342.2 342.2 342.1 342.3 342.6 343.0 344.0 345.2 346.2 347.5 348.8 349.8 350.7 351.8 352.7 353.2 353.6 353.8 353.7 353.5 353.1 352.7 352.1 351.2 349.8 349.0 348.2 347.1 346.1 345.3 344.4 343.4 342.6 341.9 341.4 341.4 341.5 341.6 342.1 342.8 343.5 344.2 345.2 346.1 347.0 347.8 348.5 349.1 349.6 350.2 350.8 351.1 351.3 351.3 351.3 351.1 350.9 350.7 350.3 350.0 349.6 349.2 348.7 348.3 348.0 347.7 347.4 347.0 346.6 346.4 346.2 346.2 346.0 346.0 346.0 346.0 346.1 346.4 346.9 347.5 348.0 348.3 348.5 348.8 349.1 349.2 349.4 349.4 349.4 349.4 349.4 349.6 349.6 349.6 349.6 349.5 349.4 349.3 349.4 349.5 349.6 349.6 349.4 349.3 349.1 348.7 348.5 348.3 348.1 347.8 347.5 347.4 347.2 347.0 347.1 347.3 347.4 347.8 347.8 348.0 348.0 348.2 348.4 348.4 348.5 348.6 348.6 348.7 348.9 349.0 349.1 349.4 349.6 349.6 349.8 350.0 350.2 350.4 350.3 350.2 350.0 349.6 349.1 348.5 348.0 347.5 347.0 346.6 346.6 346.4 346.4 346.4 346.6 346.7 347.0 347.1 347.4 348.0 348.7 349.2 349.7 350.1 350.2 350.3 350.4 350.4 350.2 350.1 349.8 349.7 349.4 349.0 348.5 347.9 347.5 347.1 347.0 347.1 347.3 347.4 347.5 347.6 347.6 347.6 347.8 347.8 348.0 348.1 348.3 348.4 348.4 348.4 348.5 348.7 348.8 349.1 349.2 349.6 350.2 350.6 350.8 351.0 351.2 351.3 351.3 351.3 351.1 351.0 350.8 350.6 350.6 350.6 350.6 350.8 350.8 351.0 351.2 351.6 351.8 352.1 352.4 352.7 353.1 353.6 353.9 354.2 354.3 354.3 354.5 354.7 354.9 354.7 354.5 354.3 354.0 353.6 353.4 353.0 352.5 352.0 351.5 351.2 351.0 351.1 351.3 351.9 353.3 355.1 357.7 360.6 365.4 369.9 374.1 379.5 385.5 390.9 396.1 400.6 405.1 409.2 412.0 413.9 414.3 413.9 413.2 411.7 409.7 406.9 403.3 399.9 397.0 394.3 391.5 388.6 387.0 385.7 384.7 384.4 384.6 385.3 386.6 389.0 391.6 395.2 398.2 401.0 403.7 406.3 409.0 410.6 411.8 412.2 412.2 412.2 411.2 409.8 408.6 407.0 404.4 402.2 400.0 397.6 395.7 394.4 393.1 391.8 390.9 390.3 390.0 389.5 389.3 389.1 388.9 388.8 388.7 388.1 386.8 383.4 376.8 366.9 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6", + "f0_timestep": "0.005" + }, + { + "offset": 164.552, + "text": "AP 无 论 我 选 择 何 种 未 来 SP", + "ph_seq": "AP w u l un w o x van z e h e zh ong w ei l ai SP", + "ph_dur": "0.231 0.045 0.127 0.045 0.127 0.045 0.0861 0.0869 0.101 0.071 0.225 0.12 0.092 0.08 0.473 0.045 0.112 0.06 0.517 0.069", + "ph_num": "2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest C4 D#4 F4 D#4 A#4 D#4 D4 D#4 F4 rest", + "note_dur": "0.276 0.172 0.172 0.173 0.172 0.345 0.172 0.518 0.172 0.517 0.069", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "295.2 295.2 295.2 295.2 295.2 295.2 295.2 295.2 295.2 295.2 295.2 295.2 295.2 295.2 295.2 295.2 295.2 295.2 295.2 295.2 295.2 295.2 295.2 295.2 295.2 295.2 295.2 295.2 295.2 295.2 295.2 295.2 295.2 295.2 295.2 295.2 295.2 295.2 295.2 295.2 295.2 295.2 295.2 259.6 259.5 259.5 259.5 259.5 259.5 259.4 259.4 259.4 259.3 259.2 259.2 259.2 259.2 259.2 259.3 259.6 260.3 261.4 262.4 263.4 264.4 265.4 266.0 266.3 265.9 265.0 263.7 262.1 259.7 258.6 257.9 258.3 260.0 261.6 264.2 267.4 271.0 274.5 278.6 283.2 286.8 290.0 293.5 295.8 298.4 302.4 305.3 307.2 308.4 309.0 309.4 309.4 309.0 308.6 308.4 308.2 308.1 308.2 308.6 308.9 309.2 310.0 310.8 311.4 312.6 313.5 314.8 316.6 319.1 322.0 324.8 328.7 333.3 336.6 339.2 341.8 344.5 346.0 347.6 349.0 350.0 350.7 351.4 352.1 352.3 352.1 351.4 349.9 348.2 346.1 343.4 340.2 336.8 333.3 328.5 321.9 317.5 317.0 317.5 318.1 318.6 319.2 319.7 320.2 320.8 321.3 321.9 322.4 323.0 323.5 324.1 324.6 325.2 325.7 326.3 321.3 317.3 315.8 314.5 313.4 312.7 311.9 311.1 310.1 309.4 308.8 308.3 307.6 307.2 306.9 306.4 305.6 304.4 303.4 302.5 302.9 304.9 311.5 322.0 327.6 338.6 349.9 361.6 373.6 386.1 399.0 412.3 426.1 440.3 455.1 462.0 463.7 465.1 466.0 468.1 469.9 471.3 473.4 474.3 474.5 473.9 472.9 471.6 469.7 467.6 465.6 464.3 463.5 462.9 463.0 463.3 463.6 464.2 465.0 465.9 466.6 467.8 468.2 468.7 469.1 469.3 469.5 469.8 470.2 470.5 470.4 470.2 469.7 469.0 468.1 466.3 464.6 462.1 459.7 455.9 452.7 449.1 444.7 439.1 433.9 428.7 420.4 405.4 393.0 380.0 374.8 369.6 364.6 359.6 354.7 349.8 345.0 340.3 335.7 331.1 326.5 322.1 317.7 313.5 310.7 310.5 310.7 310.6 310.3 309.5 308.6 307.7 306.0 304.5 303.2 301.8 300.5 300.4 301.4 302.4 303.4 304.5 305.5 306.5 307.5 308.5 309.6 310.6 311.7 312.7 313.7 314.8 315.8 316.9 318.0 319.0 320.1 321.2 309.5 306.0 304.5 303.5 303.0 302.5 302.0 301.0 299.8 298.5 297.2 295.7 294.5 293.8 292.9 292.6 292.3 292.1 292.0 291.8 291.5 291.4 291.2 291.0 290.9 290.7 290.7 290.8 290.9 291.2 291.5 291.7 291.8 291.9 292.3 292.7 293.1 293.4 293.5 293.6 293.7 294.0 294.3 294.4 294.5 294.3 294.1 294.0 294.2 293.8 294.0 294.0 294.0 294.0 293.8 293.6 293.2 292.9 292.8 292.7 292.9 293.1 293.4 293.7 294.0 294.2 294.2 294.3 294.5 294.6 294.9 295.3 295.5 295.5 295.5 295.5 295.5 295.5 295.2 295.1 294.9 294.6 294.2 293.9 293.7 293.5 293.5 293.4 293.6 294.3 295.7 297.1 298.8 301.4 303.7 306.1 307.9 309.7 310.9 311.2 311.3 311.6 311.7 311.7 311.8 311.9 312.2 312.6 312.8 312.9 312.8 312.4 312.2 312.0 312.0 311.7 311.2 310.6 309.9 309.0 308.1 307.4 306.6 306.0 305.7 305.8 307.4 310.9 312.6 315.5 319.1 321.9 325.3 330.0 335.4 340.6 345.5 351.0 355.2 357.5 359.1 360.0 360.3 360.2 359.9 358.9 358.4 357.6 356.2 355.1 354.0 352.6 350.6 348.5 346.7 345.0 343.5 342.2 340.9 340.1 338.6 338.3 338.5 338.9 339.7 340.9 342.6 344.6 346.5 348.1 349.7 351.3 352.5 353.7 354.7 356.6 357.8 358.6 359.0 359.0 358.7 358.2 357.1 355.7 354.2 352.4 350.5 349.0 347.5 345.9 344.3 342.9 342.2 341.4 341.3 341.3 341.4 341.9 342.4 343.3 344.8 346.1 347.4 348.9 350.3 351.5 352.5 353.7 354.9 355.5 356.1 356.4 356.2 355.7 354.9 353.9 352.6 351.5 350.2 349.1 348.4 347.9 347.2 347.0 347.0 347.2 347.6 348.0 348.4 348.8 349.3 349.3 349.0 348.4 347.4 346.3 344.7 342.1 338.3 333.1 325.5 312.4 312.4 312.4 312.4 312.4 312.4 312.4 312.4 312.4 312.4 312.4 312.4 312.4 312.4", + "f0_timestep": "0.005" + }, + { + "offset": 167.31, + "text": "AP 无 论 你 心 中 如 何 不 安 SP", + "ph_seq": "AP w u l un n i x in zh ong r u h e b u an SP", + "ph_dur": "0.231 0.045 0.113 0.06 0.127 0.045 0.083 0.089 0.093 0.08 0.3 0.045 0.0926 0.0794 0.4519 0.0651 0.128 0.562 0.069", + "ph_num": "2 2 2 2 2 2 2 2 1 1 1", + "note_seq": "rest A#3 D#4 F4 D#4 F4 D#4 D4 D#4 D#4 rest", + "note_dur": "0.276 0.173 0.172 0.172 0.173 0.345 0.172 0.517 0.173 0.517 0.069", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "256.4 256.4 256.4 256.4 256.4 256.4 256.4 256.4 256.4 256.4 256.4 256.4 256.4 256.4 256.4 256.4 256.4 256.4 256.4 256.4 256.4 256.4 256.4 256.4 256.4 256.4 256.4 256.4 256.4 256.4 256.4 256.4 256.4 256.4 256.4 256.4 256.4 256.4 256.4 256.4 256.4 256.4 256.4 256.4 256.4 256.4 256.4 256.4 246.5 239.5 237.5 235.9 234.4 233.1 232.3 231.6 230.7 229.9 229.9 229.9 230.4 231.1 231.9 232.5 233.1 233.9 234.6 234.9 235.0 235.0 234.8 234.3 233.6 233.0 232.5 232.0 232.0 232.1 232.6 234.0 235.3 237.1 240.5 244.7 248.8 253.2 258.6 267.2 278.1 290.0 296.3 298.9 300.5 301.3 302.6 304.1 305.1 306.2 307.0 307.5 307.7 307.7 307.8 308.1 308.6 309.5 310.3 310.9 312.3 314.0 314.5 314.9 315.1 315.1 315.5 315.9 316.8 318.2 319.9 322.5 325.8 328.2 330.8 333.8 338.3 342.2 344.6 346.8 347.8 348.7 349.4 350.0 350.2 349.9 348.7 346.9 345.1 343.2 341.3 337.0 333.5 329.9 328.1 327.6 326.9 326.1 325.3 324.5 323.7 323.0 322.2 321.4 320.6 319.8 319.1 318.3 317.5 316.8 316.0 311.8 311.8 312.5 312.9 313.1 313.0 312.7 312.1 311.5 310.5 309.3 307.2 304.7 301.6 297.2 297.0 295.2 293.4 296.4 288.8 277.0 273.7 275.8 282.9 290.1 297.5 305.1 312.9 320.9 329.1 337.5 346.1 355.0 364.0 373.3 371.8 366.1 363.5 361.1 359.2 357.9 356.7 355.5 354.3 353.5 352.5 351.5 350.8 350.0 349.2 348.4 348.1 348.0 348.0 348.1 348.4 348.7 349.2 349.6 350.1 350.2 350.7 350.8 351.0 351.0 351.0 351.0 351.0 351.0 351.0 351.1 351.2 351.0 350.8 350.8 350.4 349.7 348.8 347.5 345.4 344.1 342.1 339.9 337.4 335.2 333.7 331.7 329.6 328.1 326.7 325.5 323.4 321.7 320.1 318.2 316.6 315.5 314.8 314.3 314.0 313.9 313.8 313.6 313.2 312.6 311.7 311.0 310.4 310.2 310.3 310.4 310.3 309.8 308.6 306.8 304.4 301.0 297.3 292.9 287.9 283.2 279.2 278.2 280.1 281.9 283.8 285.7 287.6 289.5 291.5 293.4 295.4 297.4 299.4 301.4 303.4 305.4 307.5 309.5 307.2 306.3 304.4 303.0 301.7 300.6 299.8 299.0 298.2 297.6 296.8 295.9 295.0 294.2 293.4 292.7 292.2 291.8 291.7 291.8 291.9 292.1 292.1 292.1 292.2 292.4 292.6 292.7 292.9 293.2 293.4 293.7 293.8 294.1 294.5 294.7 295.0 295.2 295.2 295.2 295.2 295.2 295.2 295.1 295.0 295.0 294.8 294.7 294.5 294.5 294.5 294.5 294.7 294.5 294.4 294.1 293.8 293.4 293.0 292.6 292.4 292.3 292.3 292.4 292.9 293.2 294.1 294.5 294.9 295.0 295.0 294.9 294.8 294.7 294.5 294.0 293.3 292.1 290.0 288.0 285.6 284.3 282.7 281.3 283.5 286.5 289.6 292.7 295.8 299.0 302.2 305.4 308.7 312.0 315.3 318.7 313.6 313.5 313.4 313.3 313.1 312.8 312.6 312.4 312.1 311.8 311.6 311.3 311.2 311.0 310.9 310.9 309.7 309.5 309.5 309.5 309.7 309.7 309.8 310.2 310.4 310.7 311.2 311.2 311.1 310.7 309.4 308.2 307.2 306.5 306.5 307.0 307.6 308.4 309.5 310.2 311.2 312.1 312.7 313.5 314.4 315.1 315.6 316.1 316.1 315.8 315.7 315.3 314.7 314.3 313.7 312.9 312.0 311.2 310.2 308.8 307.6 306.5 305.5 304.4 303.8 303.3 302.7 302.8 302.9 303.4 303.8 304.3 304.8 305.5 306.5 307.6 308.4 309.4 310.4 311.3 312.0 312.6 312.9 312.7 312.6 312.2 311.6 311.1 310.3 309.3 308.6 307.9 307.0 306.3 305.6 304.8 304.3 304.0 303.8 304.0 304.2 304.5 305.0 306.0 307.1 308.2 309.1 309.9 310.8 311.5 312.2 312.8 313.0 313.1 313.0 312.6 312.0 311.0 309.9 308.8 308.0 307.4 306.8 306.4 306.4 306.6 307.4 308.3 309.5 310.9 312.2 312.9 313.1 312.9 312.6 312.2 311.9 311.8 311.9 312.2 312.6 312.8 313.1 311.9 308.4 308.4 308.4 308.4 308.4 308.4 308.4 308.4 308.4 308.4 308.4 308.4 308.4 308.4", + "f0_timestep": "0.005" + }, + { + "offset": 170.069, + "text": "AP 最 后 还 是 放 弃 了 愤 慨 SP", + "ph_seq": "AP z ui h ou h ai sh ir f ang q i l e f en k ai SP", + "ph_dur": "0.171 0.105 0.112 0.06 0.113 0.06 0.112 0.06 0.0853 0.0867 0.225 0.12 0.113 0.06 0.397 0.12 0.112 0.06 0.518 0.069", + "ph_num": "2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest C4 D#4 F4 D#4 A#4 D#4 D4 D#4 F4 rest", + "note_dur": "0.276 0.172 0.173 0.172 0.172 0.345 0.173 0.517 0.172 0.518 0.069", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 276.1 274.5 271.8 269.4 267.6 265.8 264.9 263.7 263.1 263.1 263.6 264.0 264.4 264.6 264.3 263.3 261.8 260.2 258.6 256.9 255.8 256.3 257.5 264.4 266.6 268.7 269.2 266.4 270.1 272.9 276.3 283.7 293.1 301.8 308.3 311.3 311.5 310.2 309.5 309.2 309.3 310.2 311.3 311.9 312.7 312.3 311.8 311.1 310.3 309.4 308.6 308.1 307.7 307.6 307.0 305.8 303.8 301.9 300.1 298.4 297.0 296.3 316.1 324.1 332.3 346.6 346.6 346.6 346.7 346.9 347.1 347.5 347.7 348.0 348.2 348.4 348.5 348.6 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.8 348.7 347.8 345.6 342.0 338.2 334.4 330.8 327.5 325.1 324.0 324.9 324.7 324.5 324.3 324.0 323.8 323.6 321.2 318.0 314.7 313.7 311.3 309.7 308.1 306.3 303.2 300.1 296.7 291.3 286.7 287.5 294.6 302.0 309.5 317.3 325.2 333.3 341.6 350.2 358.9 367.9 377.1 386.5 396.1 406.0 416.1 426.5 437.2 448.1 459.3 470.8 468.9 469.5 469.9 470.2 470.7 470.9 471.0 471.2 470.9 470.2 469.3 467.7 466.6 465.2 464.3 463.5 462.9 462.5 462.4 462.4 462.6 463.2 464.0 464.7 465.5 466.4 467.0 467.6 467.7 467.5 467.2 467.0 466.5 465.9 464.3 462.6 459.8 455.4 449.2 443.6 437.8 434.8 434.0 433.4 437.0 431.3 425.7 420.2 414.7 409.3 404.0 398.8 393.6 388.5 383.4 378.5 373.5 368.7 363.9 359.2 354.5 349.9 345.4 340.9 336.5 332.1 327.8 323.5 319.3 315.9 314.1 313.1 312.5 312.6 312.9 312.7 312.5 312.4 311.8 311.7 311.2 310.2 309.5 308.2 307.0 305.7 304.4 303.1 301.5 299.8 298.6 297.6 296.9 296.1 295.7 295.2 294.7 294.5 294.8 295.2 296.0 297.5 299.8 301.1 300.4 300.0 298.9 297.9 297.5 297.0 296.9 296.7 296.4 296.0 295.5 294.7 294.4 294.0 293.6 293.2 292.6 292.1 291.7 291.3 290.9 290.6 290.4 290.0 289.8 289.8 289.9 290.5 291.1 291.8 292.5 293.1 293.7 294.4 294.9 295.3 295.9 296.0 296.0 295.9 295.7 295.7 295.6 295.4 295.1 294.8 294.6 294.3 293.7 293.4 293.0 292.6 292.2 291.9 291.8 291.4 291.3 291.4 291.7 292.3 292.9 293.6 294.4 295.1 295.4 295.4 294.9 293.9 292.8 291.6 288.6 287.0 283.9 281.0 276.5 272.7 269.6 267.8 269.0 270.7 272.5 274.3 276.1 277.9 279.7 281.5 283.4 285.2 287.1 289.0 290.9 292.8 294.7 296.6 298.6 300.5 302.5 304.5 306.5 308.5 310.5 312.5 314.6 315.4 311.7 310.9 311.1 311.0 311.3 311.5 311.3 310.6 309.3 307.6 304.9 299.6 294.4 289.6 287.9 285.8 290.1 294.1 298.1 302.2 306.3 310.5 314.7 319.0 323.3 327.8 332.2 336.8 341.3 346.0 350.7 355.5 360.4 359.0 360.1 359.6 358.6 358.3 357.7 356.9 356.0 355.0 353.9 352.8 351.6 350.4 349.0 347.9 346.0 344.9 343.7 342.8 342.1 341.7 341.5 341.2 341.3 341.5 341.9 343.0 343.8 344.8 346.2 347.0 347.8 348.3 349.2 349.7 350.2 350.7 350.8 351.0 351.3 351.5 351.5 351.4 350.9 350.3 349.5 348.6 347.8 346.8 346.0 345.4 344.6 343.9 343.4 343.1 342.9 342.7 342.8 342.8 343.0 343.3 343.6 343.8 344.0 344.4 344.7 345.3 345.9 346.4 346.9 347.3 347.6 347.9 348.1 348.5 348.6 348.4 348.4 348.4 348.6 348.8 349.0 349.4 349.7 350.2 350.8 350.9 350.8 350.2 349.0 348.5 347.6 344.0 339.3 339.3 339.3 339.3 339.3 339.3 339.3 339.3 339.3 339.3 339.3 339.3 339.3 339.3 339.3 339.3 339.3 339.3 339.3 339.3 339.3 339.3 339.3 339.3", + "f0_timestep": "0.005" + }, + { + "offset": 172.828, + "text": "AP 相 信 我 已 能 独 自 承 担 SP", + "ph_seq": "AP x iang x in w o y i n eng d u z i0 ch eng d an SP", + "ph_dur": "0.1691 0.1059 0.106 0.067 0.127 0.045 0.128 0.045 0.112 0.06 0.3 0.045 0.0981 0.0739 0.3357 0.1823 0.1242 0.0478 0.517 0.068", + "ph_num": "2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest A#3 D#4 F4 D#4 F4 G4 G#4 G4 G4 rest", + "note_dur": "0.275 0.173 0.172 0.173 0.172 0.345 0.172 0.518 0.172 0.517 0.068", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 246.4 245.8 244.4 242.3 240.3 237.8 236.1 234.6 233.5 233.0 232.7 232.1 231.0 229.6 227.6 225.4 223.0 220.3 218.0 219.8 223.5 228.0 232.6 237.3 242.0 246.9 251.8 256.9 262.0 267.3 272.7 278.1 283.7 289.4 295.2 304.4 302.0 304.3 307.1 309.1 310.1 310.5 310.6 310.8 311.2 311.7 312.4 312.6 312.6 312.7 312.2 312.5 312.9 313.7 314.9 316.3 317.9 320.0 322.2 324.2 326.3 328.3 330.4 332.1 333.6 336.4 338.6 341.2 344.3 346.7 348.6 350.0 351.3 352.4 353.0 353.2 353.0 352.8 352.3 351.8 351.0 350.4 349.4 348.3 346.9 345.7 344.5 342.7 340.7 339.0 337.0 334.4 331.9 328.9 324.7 321.5 319.3 317.3 315.7 314.7 314.0 313.2 312.1 311.2 310.7 310.4 310.4 310.4 310.4 310.6 310.6 310.8 310.8 310.9 310.9 311.1 311.3 311.3 311.3 311.1 310.7 310.1 309.5 308.9 308.3 307.5 307.4 308.0 309.5 311.0 311.9 313.0 315.0 317.7 321.0 325.9 330.2 333.8 340.0 347.4 350.4 352.7 353.1 352.7 352.7 352.3 351.9 351.7 351.3 350.9 350.4 349.6 349.0 348.3 347.7 347.3 346.9 346.6 346.4 346.4 346.4 346.6 347.1 347.5 348.0 348.6 349.2 349.6 349.9 350.1 350.3 350.5 350.6 350.4 350.2 350.0 350.2 350.1 350.0 350.0 350.5 351.2 351.7 352.1 352.5 352.8 353.0 352.7 352.3 351.2 350.0 347.7 345.8 343.7 340.1 336.7 333.4 329.5 325.5 322.8 321.2 320.3 323.5 333.5 343.9 354.7 365.7 377.1 378.2 380.2 381.5 383.2 384.3 385.8 387.6 389.4 391.1 392.0 392.0 391.3 390.0 387.5 384.9 382.2 379.3 376.3 373.7 371.9 370.6 370.3 365.9 369.2 372.6 376.1 379.5 383.0 386.5 390.1 393.7 397.3 400.9 404.6 408.3 409.3 410.2 411.9 413.5 415.4 417.5 419.5 421.1 421.9 422.0 421.6 420.7 419.9 418.7 416.7 415.5 414.3 413.3 412.2 411.5 411.0 410.8 411.0 411.3 411.6 412.0 412.7 412.9 413.4 413.9 414.6 415.2 415.6 416.3 416.8 417.2 417.6 417.8 418.0 418.0 418.2 418.1 417.9 417.7 417.4 417.2 417.0 416.7 416.1 415.5 415.0 414.5 414.2 414.0 413.8 413.7 413.9 414.2 414.6 415.4 416.0 416.6 416.9 417.6 418.1 418.7 419.3 419.4 418.9 417.9 416.1 413.4 411.0 408.3 405.0 400.7 392.2 397.9 399.3 391.3 400.8 401.8 400.7 400.6 400.1 399.7 399.2 398.7 398.2 397.7 397.2 396.8 396.3 395.8 395.3 394.8 394.3 393.9 393.4 392.9 392.4 391.9 391.5 390.5 389.5 391.4 391.8 392.6 393.1 393.1 393.1 393.1 392.9 392.9 392.7 392.4 391.7 390.7 389.6 387.3 384.9 383.5 382.0 379.2 376.7 372.9 368.3 365.8 361.1 355.9 343.6 345.2 348.3 352.8 357.9 363.4 369.8 377.1 383.5 389.1 393.8 397.7 400.4 401.4 401.2 400.7 399.9 399.0 397.9 396.7 395.4 393.6 392.1 390.6 389.2 387.9 386.7 385.8 385.0 384.5 384.4 384.5 384.9 385.7 386.9 388.2 389.7 391.2 393.2 394.8 396.3 397.7 398.8 399.6 400.0 400.2 400.0 399.8 399.1 398.5 397.9 397.1 396.2 395.3 394.3 393.1 392.2 391.1 390.3 389.4 388.6 388.0 387.4 387.0 386.9 386.8 387.0 387.5 388.3 389.4 390.7 392.1 393.6 395.6 397.2 398.5 399.9 401.1 401.9 402.4 402.8 402.6 402.2 401.6 400.8 399.8 398.8 397.5 396.3 395.2 394.0 392.8 391.7 390.7 389.9 389.3 388.8 388.8 388.8 388.8 388.9 389.1 389.1 389.3 389.5 389.7 389.9 390.1 390.2 390.3 390.4 390.4 390.6 323.6 323.6 323.6 323.6 323.6 323.6 323.6 323.6 323.6 323.6 323.6", + "f0_timestep": "0.005" + }, + { + "offset": 175.586, + "text": "AP 就 算 脾 气 总 是 特 别 坏 SP", + "ph_seq": "AP j iu s uan p i q i z ong sh ir t e b ie h uai SP", + "ph_dur": "0.186 0.09 0.112 0.06 0.1044 0.0686 0.092 0.08 0.1018 0.0712 0.225 0.12 0.112 0.06 0.472 0.045 0.113 0.06 0.517 0.069", + "ph_num": "2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest C4 D#4 F4 D#4 A#4 D#4 D4 D#4 F4 rest", + "note_dur": "0.276 0.172 0.173 0.172 0.173 0.345 0.172 0.517 0.173 0.517 0.069", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 262.5 260.0 260.7 260.3 260.8 261.2 261.2 261.3 261.5 261.9 262.4 262.5 262.1 260.4 258.0 255.3 252.1 247.2 245.5 245.6 245.0 247.0 251.0 255.1 259.2 263.4 267.6 272.0 276.4 280.8 285.4 290.0 294.6 299.4 304.2 309.2 308.7 309.2 309.6 310.4 310.9 311.4 311.6 311.3 311.1 310.9 310.8 310.2 309.9 309.3 308.3 307.4 306.6 305.5 304.3 302.2 299.3 295.5 292.1 288.8 285.9 286.4 293.8 301.4 309.2 317.1 325.3 333.7 342.3 344.8 344.8 345.9 347.4 349.0 349.9 350.4 350.5 349.7 348.8 347.4 344.1 341.3 337.8 331.7 324.6 316.4 309.7 307.5 307.7 307.9 308.2 308.4 308.6 308.8 309.0 309.2 309.4 309.7 309.9 310.1 310.3 310.5 310.7 311.0 311.2 312.3 312.8 312.5 312.7 313.1 312.9 312.9 312.6 312.1 311.8 311.2 310.5 309.4 307.1 304.4 302.6 301.2 300.3 303.3 311.7 320.3 329.1 338.2 347.6 357.1 367.0 377.1 387.6 398.3 409.3 420.6 432.2 444.1 456.4 465.6 462.9 462.9 463.2 464.2 465.2 465.9 466.6 467.0 467.4 467.2 466.4 465.8 465.0 464.1 463.5 463.0 462.6 462.4 462.6 463.0 463.5 464.1 464.8 465.3 466.0 467.0 467.8 468.5 469.4 469.7 469.7 469.4 468.7 467.7 466.7 465.1 462.1 458.9 454.2 448.6 440.0 432.9 428.3 421.4 415.9 411.2 406.6 402.0 397.5 393.0 388.6 384.3 379.9 375.7 371.5 367.3 363.2 359.1 355.1 313.3 313.1 313.1 313.1 313.0 312.8 312.7 312.5 312.4 312.4 312.2 312.2 312.2 312.2 312.2 312.4 312.6 313.0 313.4 313.7 314.0 314.2 314.3 313.5 310.9 306.8 302.1 296.8 291.1 285.1 281.1 278.1 276.5 284.6 284.9 285.2 285.4 285.7 286.0 286.3 286.6 286.8 287.1 287.4 284.5 284.9 285.3 286.3 288.3 290.4 292.1 293.5 294.6 295.2 295.5 295.3 294.8 294.3 293.8 293.0 292.6 292.1 291.6 291.3 291.1 290.9 290.9 290.9 290.8 290.9 291.1 291.0 291.3 291.5 291.6 292.3 292.5 292.8 293.1 293.3 293.5 293.7 293.7 293.7 293.8 293.8 293.6 293.5 293.3 293.5 293.3 293.3 293.5 293.6 294.0 294.1 294.0 294.0 293.8 293.7 293.8 293.8 293.6 293.4 293.3 293.3 293.5 293.8 294.1 294.4 294.8 295.0 294.9 294.3 294.6 295.0 295.5 296.0 296.6 297.1 297.4 297.6 297.3 296.8 295.9 294.9 293.7 292.3 290.8 289.0 287.6 286.2 284.9 283.8 283.0 282.5 282.2 285.2 291.2 297.2 303.4 307.7 312.0 316.4 320.8 325.3 319.5 311.1 310.2 310.1 309.9 310.8 311.6 312.0 312.7 313.3 313.3 313.0 312.1 310.2 308.0 305.0 300.0 295.4 292.0 288.0 282.1 276.9 281.9 287.0 292.3 297.6 303.0 308.5 314.1 319.8 325.6 331.5 337.5 343.6 349.9 356.2 359.1 357.2 357.2 357.4 357.6 357.8 358.0 357.8 357.1 356.4 355.2 353.7 352.2 350.4 348.6 346.9 345.2 343.8 342.1 341.3 340.3 339.9 339.7 339.5 339.6 340.1 340.8 341.6 342.9 344.2 345.1 345.8 346.8 347.6 348.6 349.4 350.1 350.6 351.0 351.3 351.3 351.1 350.7 350.1 349.4 348.6 347.6 346.6 345.4 344.4 343.4 342.5 341.8 341.0 340.3 339.6 339.2 339.1 339.1 339.2 339.5 340.1 341.0 341.7 342.4 343.4 344.7 345.8 346.8 347.8 348.6 349.3 350.0 350.7 350.8 350.7 350.2 349.2 348.4 347.7 347.0 346.9 347.0 346.8 346.3 345.6 344.5 343.6 341.9 340.1 338.9 338.5 338.5 338.5 338.5 338.5 338.5 338.5 338.5 338.5 338.5 338.5 338.5 338.5 338.5 338.5 338.5 338.5 338.5 338.5 338.5 338.5 338.5 338.5 338.5 338.5", + "f0_timestep": "0.005" + }, + { + "offset": 178.345, + "text": "AP 就 算 整 天 抱 怨 着 不 满 SP", + "ph_seq": "AP j iu s uan zh eng t ian b ao y van zh e b u m an SP", + "ph_dur": "0.171 0.105 0.1027 0.0693 0.1119 0.0611 0.127 0.045 0.1193 0.0527 0.3 0.045 0.113 0.06 0.457 0.06 0.112 0.06 0.517 0.069", + "ph_num": "2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest A#3 D#4 F4 D#4 F4 D#4 D4 D#4 D#4 rest", + "note_dur": "0.276 0.172 0.173 0.172 0.172 0.345 0.173 0.517 0.172 0.517 0.069", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 243.3 242.7 240.1 238.9 237.0 235.8 234.9 234.3 233.7 233.6 233.8 234.1 234.2 233.8 233.1 231.8 229.9 227.2 224.7 223.0 220.4 222.9 227.9 233.0 238.2 243.6 249.0 254.6 260.3 266.2 272.1 278.2 284.5 290.8 297.4 304.0 303.9 304.4 305.8 307.4 308.8 309.5 309.9 310.2 310.6 310.9 311.3 311.9 312.0 311.6 310.9 308.5 305.9 304.9 301.6 299.1 295.3 291.8 286.6 280.6 272.8 273.8 281.3 288.6 296.1 303.8 311.6 319.7 328.0 336.5 345.2 350.6 350.2 348.7 348.9 349.3 349.7 350.1 350.2 350.0 349.5 348.7 347.1 344.1 340.4 336.4 334.2 331.2 325.1 319.8 316.2 311.4 308.4 303.9 300.8 302.1 303.3 304.5 305.8 307.0 308.3 309.5 310.8 312.0 309.8 308.4 308.2 308.5 309.4 310.5 311.3 311.7 312.0 312.5 313.0 313.3 313.5 313.2 312.6 311.5 310.2 308.6 307.4 306.0 303.3 300.8 298.2 295.5 292.4 288.4 285.0 280.0 272.3 266.3 275.6 279.6 291.3 305.5 320.4 336.1 352.5 358.6 357.4 356.6 356.4 356.1 355.8 355.3 354.8 353.9 352.5 351.5 350.3 349.1 347.9 346.8 345.9 345.5 345.5 345.7 345.9 346.3 346.8 347.3 347.8 348.5 349.0 349.8 350.2 350.7 351.0 351.2 351.4 351.6 351.8 351.9 351.9 351.8 351.6 351.1 350.5 349.9 349.0 348.2 347.2 346.0 345.0 343.4 341.6 339.5 337.1 334.1 330.2 325.9 321.0 316.0 312.9 309.9 307.9 306.3 305.9 306.2 306.7 307.3 307.8 308.6 309.6 310.6 311.4 312.3 313.3 314.2 315.3 316.7 317.7 318.4 318.4 317.8 316.9 315.4 312.8 309.7 305.2 299.5 293.6 288.3 283.4 279.2 277.5 276.3 276.7 278.4 280.6 282.9 285.2 287.6 289.9 292.3 294.7 297.1 299.6 302.0 304.8 307.1 307.1 306.3 306.3 306.3 305.7 304.8 303.1 301.3 299.7 298.5 297.2 296.0 295.0 293.9 293.0 292.6 292.1 292.0 292.0 292.1 292.0 292.1 292.0 292.1 292.1 292.1 292.4 292.9 293.4 293.8 294.0 294.2 294.5 294.9 295.2 295.5 295.7 295.7 295.6 295.4 295.0 294.8 294.5 294.2 293.9 293.8 293.8 293.9 294.0 294.0 294.0 294.2 294.2 294.0 293.9 293.7 293.6 293.3 293.0 292.8 292.8 292.8 292.9 293.2 293.4 293.7 293.7 294.0 294.3 294.5 294.8 295.1 295.5 295.8 296.0 295.6 294.5 293.0 291.5 291.2 290.6 293.6 306.0 309.7 295.0 294.3 296.0 298.3 300.6 303.0 305.3 307.7 310.1 312.5 314.9 317.4 319.8 322.3 324.8 327.3 329.9 319.3 315.0 314.3 313.8 313.6 313.5 313.4 313.2 312.9 312.7 312.5 312.2 312.0 311.2 310.6 310.0 309.0 308.4 307.9 307.3 306.5 305.9 305.2 304.3 304.0 303.8 303.5 303.5 303.8 304.4 305.7 307.9 309.4 311.6 315.3 317.9 318.4 318.3 318.4 318.3 318.2 318.0 317.7 316.9 316.6 316.4 315.8 315.3 314.7 314.0 312.7 311.9 311.2 310.3 309.5 308.8 307.9 306.8 306.1 306.0 306.0 306.6 307.2 307.6 308.4 309.9 311.2 312.5 313.8 314.8 316.0 317.1 318.3 319.3 319.8 320.2 320.4 320.2 319.9 319.0 318.0 317.0 315.9 314.7 313.5 312.3 311.0 310.1 309.3 308.6 308.3 307.8 307.6 307.6 307.6 307.9 308.5 309.3 310.6 311.5 312.4 313.6 314.7 315.7 316.6 317.6 318.2 318.8 319.0 318.9 318.8 318.0 317.4 316.4 315.2 314.0 312.8 312.1 311.6 311.3 311.3 311.4 311.7 312.0 312.4 312.2 311.9 311.4 310.6 309.8 309.2 308.7 308.7 309.0 309.0 308.2 306.4 302.5 295.9 295.9 295.9 295.9 295.9 295.9 295.9 295.9 295.9 295.9 295.9 295.9 295.9 295.9", + "f0_timestep": "0.005" + }, + { + "offset": 181.103, + "text": "AP 却 也 怎 么 都 无 法 放 弃 这 孤 独 港 湾 SP", + "ph_seq": "AP q ve y E z en m e d ou w u f a f ang q i zh e g u d u g ang w an SP", + "ph_dur": "0.126 0.15 0.3 0.045 0.54 0.15 0.24 0.105 0.2901 0.0539 0.3 0.045 0.255 0.09 0.0913 0.0817 0.397 0.12 0.2372 0.1078 0.457 0.06 0.112 0.06 0.285 0.06 0.0984 0.0736 1.207 0.069", + "ph_num": "2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest F4 D#4 A#3 G4 G4 G#4 G4 F4 D#4 D#4 D4 D4 D#4 D#4 rest", + "note_dur": "0.276 0.345 0.69 0.345 0.344 0.345 0.345 0.173 0.517 0.345 0.517 0.172 0.345 0.172 1.207 0.069", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 378.2 370.5 357.7 354.3 351.6 348.6 347.7 347.4 347.0 346.7 346.2 346.0 345.9 346.0 346.1 346.3 346.7 347.2 347.7 348.1 348.3 348.4 348.4 348.2 348.1 348.2 348.2 348.4 348.7 349.0 349.2 349.4 349.6 349.8 350.2 350.7 351.0 351.3 351.5 351.5 351.3 350.6 350.1 349.0 348.2 347.4 346.5 345.4 344.1 342.8 341.2 339.4 337.3 334.9 331.5 326.2 322.7 320.0 314.7 306.4 301.2 296.0 292.7 291.2 291.0 291.8 293.7 295.4 297.7 301.1 303.2 305.4 307.1 309.2 310.5 311.9 312.9 313.5 314.0 314.5 314.9 315.3 315.5 315.6 315.1 314.6 314.1 313.5 312.6 311.8 310.9 309.3 308.4 307.7 307.1 306.7 306.4 306.3 306.4 306.7 307.2 307.6 308.1 309.3 309.9 310.5 311.3 311.9 312.1 312.5 313.0 313.2 313.5 313.7 313.6 313.4 313.0 312.7 312.3 311.8 311.1 310.2 309.5 308.9 308.6 308.2 307.7 307.5 307.2 307.1 307.2 307.2 307.6 308.0 308.7 307.8 306.5 304.6 302.3 298.8 295.4 291.6 287.7 283.2 278.3 273.9 269.4 264.9 260.1 255.8 251.9 248.1 244.4 241.5 238.9 236.9 234.9 233.8 233.0 232.7 232.7 232.8 233.1 233.4 233.8 234.2 234.8 235.3 235.7 236.0 236.3 236.5 236.7 236.6 236.2 235.4 234.5 233.6 232.7 231.9 231.6 281.7 279.4 277.1 274.8 272.5 270.2 268.0 265.8 263.6 261.4 259.2 257.0 254.9 252.8 250.7 248.6 246.6 244.5 242.5 240.5 238.5 236.5 234.5 232.6 230.7 228.7 226.8 225.0 223.7 224.5 225.7 226.3 227.9 229.1 229.6 230.1 230.1 230.3 230.6 230.8 231.3 231.6 231.7 231.9 231.9 231.9 232.1 232.1 232.1 232.1 232.1 232.1 232.0 232.1 232.2 232.4 232.3 232.4 232.5 232.5 232.6 232.8 233.0 233.3 233.4 233.5 233.4 233.4 233.1 233.2 233.1 233.0 232.9 232.8 232.6 232.3 232.1 231.9 231.9 232.0 232.4 232.7 233.6 234.7 236.3 238.1 240.2 242.6 245.7 248.1 251.0 256.1 264.7 276.7 292.1 306.3 315.9 321.4 326.0 332.6 337.1 340.9 345.1 350.0 353.2 355.7 358.1 360.8 363.4 365.9 368.6 371.4 373.3 374.9 377.4 378.6 379.9 381.2 382.6 384.1 385.4 387.3 388.8 390.1 391.2 392.2 393.1 393.4 393.6 393.9 394.1 394.3 394.3 394.3 394.3 394.3 394.1 393.7 393.0 391.7 389.9 388.3 387.0 385.6 383.9 380.9 372.6 362.7 359.3 356.3 352.6 348.0 346.7 350.7 357.6 364.6 371.8 379.1 386.5 394.1 401.8 409.7 417.8 426.0 401.6 400.8 400.5 400.1 399.8 399.4 398.8 398.2 397.5 396.8 395.9 395.2 394.3 393.1 391.8 390.9 389.9 389.1 389.1 389.2 389.5 390.0 390.5 391.0 391.2 391.6 392.0 392.2 392.8 393.2 393.4 393.5 393.6 393.8 394.0 394.2 394.3 394.3 394.3 394.3 394.2 394.0 394.0 393.8 393.8 393.6 393.1 392.7 392.2 391.7 391.1 390.7 390.2 389.6 389.4 389.2 389.2 389.6 390.0 390.7 392.1 393.8 395.9 398.4 400.9 404.9 407.2 409.3 411.7 413.5 415.1 416.5 417.6 418.5 419.1 419.5 419.5 419.1 418.7 418.1 416.7 415.7 415.0 414.3 413.5 413.1 412.7 412.1 411.5 411.1 410.7 410.6 410.8 410.8 410.8 410.8 410.9 411.1 411.4 411.9 412.3 412.7 413.1 413.5 413.9 414.3 414.8 415.2 415.6 415.8 416.2 416.5 416.5 416.5 416.6 415.8 414.0 411.4 407.7 403.5 399.2 395.0 390.6 385.9 382.8 380.2 378.4 377.4 385.1 386.3 387.5 388.7 389.9 391.1 392.3 393.6 394.8 396.0 395.3 390.9 392.1 392.6 392.2 392.4 390.9 388.6 385.0 382.8 380.3 381.7 383.5 381.9 380.4 378.8 377.3 375.7 374.2 372.6 371.1 369.6 368.1 366.6 365.1 363.6 362.1 360.6 359.1 357.6 356.2 354.7 353.3 351.8 350.4 349.3 349.6 350.6 350.2 350.7 351.2 351.4 351.9 352.5 352.8 352.8 352.4 351.8 351.0 350.2 349.5 348.7 348.0 347.4 347.0 347.0 347.2 347.2 347.2 347.2 347.2 347.3 347.5 347.7 348.0 348.3 348.5 348.8 349.0 349.0 349.2 349.2 349.4 349.6 349.8 350.0 350.2 350.3 350.3 350.1 349.9 349.6 349.2 349.0 348.8 348.8 348.8 348.8 348.8 348.7 348.5 348.4 348.4 348.5 348.9 349.4 349.9 350.3 350.6 350.6 350.6 350.1 349.4 348.6 347.1 344.5 341.7 338.1 333.3 328.9 324.8 321.0 316.3 309.2 303.4 303.8 304.2 304.7 305.1 305.5 305.9 306.3 306.8 307.2 307.6 308.0 308.4 308.9 309.3 309.7 310.1 310.6 311.0 311.4 311.8 312.3 312.7 313.1 313.6 313.2 311.7 310.6 311.1 311.6 312.0 312.2 312.0 311.8 311.7 311.0 310.6 310.3 310.0 309.5 309.2 309.0 308.9 308.9 309.1 309.2 309.2 309.6 309.9 310.2 310.4 310.6 310.4 310.6 310.9 311.2 311.8 312.3 312.5 312.3 311.7 310.9 309.6 308.3 306.5 303.7 301.4 296.7 292.0 279.1 273.0 267.0 261.7 259.7 258.5 261.4 266.7 269.5 272.2 275.0 277.8 280.7 283.5 286.4 289.4 292.3 295.3 298.3 301.4 304.5 307.6 310.7 313.9 314.6 312.3 313.4 313.9 315.1 316.3 316.9 317.2 317.3 317.2 316.7 316.3 315.2 314.2 313.2 312.1 310.9 310.1 309.5 308.9 308.8 308.6 308.4 308.3 308.4 308.6 308.9 309.2 309.6 309.9 310.3 310.8 311.3 311.7 311.9 312.1 312.5 312.9 313.3 313.3 313.4 313.3 313.1 313.0 312.7 312.4 312.0 311.7 311.4 311.3 311.1 310.9 310.8 310.4 310.2 310.2 310.4 310.4 310.4 310.6 310.9 311.1 311.3 311.5 311.4 311.3 311.3 311.5 311.6 312.1 312.2 312.2 312.2 311.8 311.3 310.5 309.6 308.7 307.3 305.2 302.8 300.1 296.6 291.8 288.3 282.8 280.3 274.5 274.1 275.0 276.4 277.7 279.0 280.4 281.7 283.0 284.4 285.8 287.1 288.5 289.9 291.3 292.7 294.1 295.5 296.9 294.1 292.9 292.1 291.7 292.2 293.1 293.9 294.6 294.9 294.8 294.3 293.2 291.5 290.2 286.6 284.4 281.2 277.3 272.9 268.1 263.1 258.7 256.6 255.9 255.0 258.7 266.7 273.0 279.4 286.0 292.7 299.6 298.0 296.8 297.1 297.2 297.8 298.4 298.3 298.0 297.4 296.7 295.9 294.7 293.7 292.8 292.1 291.6 291.4 291.3 291.3 291.4 291.6 291.9 292.1 292.5 292.9 293.0 293.2 293.4 293.5 293.8 294.3 294.8 295.0 295.4 295.8 296.1 296.1 295.9 295.3 294.6 294.0 293.2 291.9 290.6 288.4 284.5 280.8 276.9 272.9 270.2 268.3 269.2 272.0 274.8 277.6 280.4 283.3 286.2 289.2 292.1 295.1 298.1 301.2 304.3 307.4 310.5 313.7 316.9 320.2 323.5 320.6 313.0 312.2 311.8 311.5 312.2 312.2 312.5 312.9 312.9 313.2 313.2 312.8 312.2 311.8 311.2 310.7 310.2 309.8 309.3 308.3 307.7 307.0 306.8 306.8 307.3 308.1 309.2 310.5 311.7 313.1 314.2 314.7 315.2 315.5 315.6 315.3 315.3 315.0 314.6 314.6 314.4 314.1 313.9 313.6 313.0 312.5 311.8 311.1 310.6 310.1 309.7 309.5 309.1 308.8 308.5 308.3 308.3 308.4 308.6 308.8 309.3 309.7 310.1 310.6 310.9 311.2 311.5 312.1 312.4 312.9 313.3 313.5 313.5 313.5 313.6 313.7 313.7 313.7 313.6 313.3 312.9 312.5 312.1 311.7 311.7 311.2 310.8 310.5 310.2 309.9 309.8 309.7 309.7 309.7 309.8 309.9 310.1 310.4 310.8 311.1 311.4 311.7 311.8 312.2 312.4 312.4 312.4 312.4 312.4 312.5 312.7 312.7 312.6 312.7 312.6 312.3 312.0 311.5 311.3 310.9 310.9 310.8 310.5 310.4 310.4 310.6 310.9 311.3 311.7 311.7 311.7 312.0 311.8 312.0 312.0 311.9 311.7 311.5 311.5 311.5 311.4 311.4 311.5 311.5 311.7 311.7 311.5 311.3 311.3 311.1 311.1 311.0 310.9 310.9 310.9 310.9 310.8 310.7 310.5 310.4 310.2 310.2 310.3 310.5 310.8 310.9 311.3 311.7 312.1 312.4 312.8 313.0 313.3 313.6 313.8 314.3 314.1 313.8 313.3 312.8 312.2 311.6 310.8 310.0 309.2 308.5 307.8 307.1 306.5 305.9 305.4 305.1 305.0 304.9 304.9 305.2 305.7 306.5 307.4 308.4 309.5 311.0 312.3 313.4 314.4 315.5 316.5 317.1 317.6 317.8 317.7 317.4 316.8 316.0 315.1 313.8 312.6 311.3 310.1 308.8 307.7 306.7 305.8 305.3 305.0 304.9 304.9 305.2 305.8 306.4 307.2 308.1 309.0 310.3 311.3 312.5 313.5 314.6 315.6 316.3 316.8 317.3 317.7 317.8 317.7 317.2 316.6 315.8 314.9 313.8 312.7 311.5 310.3 309.0 308.1 307.3 306.6 306.1 305.8 305.8 305.8 306.1 306.6 307.3 308.1 309.0 309.9 310.8 311.7 312.7 313.5 314.3 314.8 315.3 315.5 315.7 311.5 311.5 311.5 311.5 311.5 311.5 311.5 311.5 311.5 311.5 311.5 311.5", + "f0_timestep": "0.005" + }, + { + "offset": 197.331, + "text": "SP AP 年 轻 的 牵 绊 SP", + "ph_seq": "SP AP n ian q ing d e q ian b an SP", + "ph_dur": "0.155 0.4 0.045 0.1015 0.0705 0.1206 0.0524 0.0909 0.0811 0.1186 0.0544 0.345 0.4", + "ph_num": "1 2 2 2 2 2 1 1", + "note_seq": "rest rest D#4 F4 G4 G#4 G4 rest", + "note_dur": "0.2 0.4 0.172 0.173 0.172 0.173 0.345 0.4", + "note_slur": "0 0 0 0 0 0 0 0", + "f0_seq": "358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 358.2 309.3 309.3 309.5 309.8 310.0 310.3 310.6 310.8 311.1 311.1 311.2 311.1 311.1 311.0 310.8 310.6 310.5 310.3 310.2 310.0 309.9 309.9 309.8 309.7 309.5 309.2 308.8 308.4 307.9 307.4 306.9 306.5 306.0 305.5 305.2 305.0 304.9 305.0 305.8 307.4 309.9 313.0 317.2 321.8 326.4 331.1 335.8 340.9 344.5 347.5 349.7 351.2 351.7 351.7 351.7 351.7 351.7 351.8 351.9 351.9 351.9 352.1 352.1 352.1 352.1 352.2 352.1 351.7 351.0 349.8 348.6 347.3 345.9 344.5 343.1 342.0 341.2 340.7 339.9 339.9 347.1 364.1 387.7 387.7 388.1 388.7 389.4 390.3 391.2 391.9 392.5 392.9 393.1 393.1 392.6 391.8 390.6 388.6 386.7 384.7 382.7 380.5 378.4 376.6 374.9 373.6 372.9 372.6 393.1 395.3 397.5 399.7 401.9 404.2 406.4 408.7 411.0 413.3 415.6 415.5 415.5 415.5 415.5 415.5 415.8 415.8 415.9 416.0 416.0 416.0 416.1 416.3 415.9 414.8 413.2 411.2 409.0 406.3 403.2 400.7 398.0 395.8 393.6 391.9 390.9 390.4 390.4 390.6 391.2 392.0 392.9 394.0 395.2 396.2 397.2 398.3 399.2 399.8 400.2 400.4 400.3 399.9 399.4 398.8 398.2 397.0 396.1 395.1 394.0 392.8 391.7 390.7 389.8 388.8 388.2 387.6 387.3 387.3 387.3 387.5 388.0 388.7 389.5 390.4 391.4 392.6 393.5 394.4 395.2 395.7 396.1 396.3 396.4 396.0 395.3 394.5 393.4 392.2 391.3 390.3 389.6 389.2 389.1 389.1 389.1 389.1 389.2 389.3 389.4 389.6 389.7 389.9 390.1 390.3 390.5 390.7 390.9 390.9 391.1 391.3 391.3 391.3 391.3 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4 363.4", + "f0_timestep": "0.005" + }, + { + "offset": 199.035, + "text": "AP 老 去 的 无 奈 SP", + "ph_seq": "AP l ao q v d e w u n ai SP", + "ph_dur": "0.23 0.045 0.0948 0.0782 0.127 0.045 0.128 0.045 0.112 0.06 0.345 0.068", + "ph_num": "2 2 2 2 2 1 1", + "note_seq": "rest D#4 F4 G4 G#4 G4 rest", + "note_dur": "0.275 0.173 0.172 0.173 0.172 0.345 0.068", + "note_slur": "0 0 0 0 0 0 0", + "f0_seq": "335.0 335.0 335.0 335.0 335.0 335.0 335.0 335.0 335.0 335.0 335.0 335.0 335.0 335.0 335.0 335.0 335.0 335.0 335.0 335.0 335.0 335.0 335.0 335.0 335.0 335.0 335.0 335.0 335.0 335.0 335.0 335.0 335.0 335.0 335.0 335.0 335.0 335.0 335.0 335.0 335.0 335.0 314.3 314.2 313.7 313.1 312.3 311.6 310.8 310.1 309.4 309.0 308.8 308.8 308.9 309.0 309.3 309.9 310.3 310.8 311.3 311.9 312.4 312.8 313.1 313.4 313.6 313.8 313.4 312.6 311.3 309.6 307.6 305.2 303.0 301.1 299.5 298.3 297.8 297.8 298.7 300.7 304.4 308.5 313.3 318.5 324.4 330.6 335.9 340.7 344.6 347.8 349.4 350.0 350.0 350.0 350.2 350.2 350.4 350.5 350.7 350.8 350.8 350.8 351.0 350.6 349.8 348.7 347.2 345.3 343.2 341.2 339.1 337.1 335.2 333.7 332.5 331.7 331.3 374.3 378.3 382.4 386.5 390.7 394.9 395.8 392.2 391.2 391.1 390.9 391.5 391.8 392.0 392.0 391.5 391.2 390.9 390.4 389.9 389.3 388.6 388.1 387.9 388.0 388.7 390.4 392.5 395.0 397.4 400.7 403.0 405.0 407.4 409.4 411.1 412.3 413.3 414.3 415.5 416.5 417.5 418.0 418.4 418.8 419.2 419.4 419.4 419.4 419.0 418.4 418.0 417.5 416.7 415.9 415.0 413.6 412.5 411.5 410.1 408.9 407.5 406.5 404.9 403.3 401.5 399.2 395.6 399.1 399.1 399.2 399.3 399.3 399.5 399.7 399.9 400.1 400.2 400.2 400.3 400.3 400.1 399.6 398.8 397.9 396.8 395.6 394.4 392.9 391.4 390.0 388.8 387.5 386.4 385.6 384.9 384.4 384.2 384.2 384.3 384.9 385.5 386.4 387.5 388.9 390.3 391.6 392.9 394.0 395.4 396.4 397.0 397.5 397.8 397.8 397.4 396.8 396.1 395.2 394.0 392.7 391.7 390.8 389.9 389.2 388.6 388.4 388.4 388.7 389.3 390.0 391.0 391.8 392.7 393.4 393.7 394.0 393.5 392.4 391.0 389.2 387.6 386.8 378.6 378.6 378.6 378.6 378.6 378.6 378.6 378.6 378.6 378.6 378.6 378.6 378.6 378.6", + "f0_timestep": "0.005" + }, + { + "offset": 200.414, + "text": "AP 生 命 重 复 着 因 果 循 环 SP 还 有 谁 的 身 影 能 永 远 如 此 的 伟 岸 SP", + "ph_seq": "AP sh eng m ing ch ong f u zh e y in g uo x vn h uan SP h ai y ou sh ei d e sh en y ing n eng y ong y van r u c i0 d e w ei an SP", + "ph_dur": "0.126 0.15 0.112 0.06 0.0941 0.0779 0.113 0.06 0.1036 0.0684 0.3 0.045 0.1164 0.0566 0.352 0.165 0.225 0.12 0.344 0.08 0.093 0.127 0.045 0.0926 0.0804 0.127 0.045 0.0825 0.0905 0.127 0.045 0.24 0.105 0.3 0.045 0.299 0.045 0.3 0.045 0.2118 0.1332 0.3 0.045 0.2876 0.0574 0.127 1.942 0.069", + "ph_num": "2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1", + "note_seq": "rest D#4 F4 G4 G#4 G4 F4 D#4 D4 A#3 rest D#4 D#4 F4 G4 G#4 G4 F4 D#4 A#4 G4 F4 D#4 F4 F4 G4 rest", + "note_dur": "0.276 0.172 0.172 0.173 0.172 0.345 0.173 0.517 0.345 0.344 0.173 0.172 0.173 0.172 0.173 0.172 0.345 0.345 0.344 0.345 0.345 0.345 0.345 0.172 1.552 0.345 0.069", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0", + "f0_seq": "361.3 361.3 361.3 361.3 361.3 361.3 361.3 361.3 361.3 361.3 361.3 361.3 361.3 361.3 361.3 361.3 361.3 361.3 361.3 361.3 361.3 361.3 361.3 361.3 361.3 361.3 361.3 361.3 361.3 361.3 361.3 361.3 361.3 361.3 361.3 361.3 361.3 361.3 361.3 361.3 361.3 361.3 361.3 361.3 361.3 361.3 361.3 361.3 361.3 314.7 314.6 314.5 314.4 314.4 314.2 314.1 314.0 314.0 313.8 313.8 313.8 313.7 313.7 313.4 313.2 313.0 312.7 312.4 312.0 311.7 311.3 311.0 310.8 310.5 310.4 310.2 310.2 310.3 310.8 312.1 313.7 315.7 317.9 321.1 324.1 327.2 330.3 333.6 337.1 339.9 342.3 344.4 346.2 347.3 348.0 348.2 348.3 348.5 348.8 349.4 349.6 349.8 350.0 349.5 348.0 346.0 343.7 341.3 339.0 336.9 335.8 335.8 336.7 340.2 345.0 351.7 359.4 366.8 374.1 381.1 387.5 390.7 392.2 392.0 392.0 392.0 391.9 391.8 391.7 390.4 390.4 390.4 390.4 390.4 390.4 390.2 390.2 390.2 390.1 390.0 390.0 390.0 390.0 390.0 390.0 390.0 390.4 392.3 395.0 398.3 402.2 405.4 408.4 410.5 407.7 411.1 412.9 413.6 413.6 413.8 414.0 414.3 414.6 415.0 415.3 415.5 415.8 416.0 416.2 416.0 415.2 413.9 412.2 410.1 407.2 404.3 401.5 398.7 395.6 392.7 390.5 388.4 386.9 385.7 385.3 386.3 387.2 388.2 389.1 390.1 391.0 392.0 392.9 393.9 396.5 397.8 397.9 398.3 398.8 399.4 399.8 400.0 400.2 399.7 399.1 398.1 396.6 395.4 394.3 393.4 392.6 391.8 391.3 391.0 391.0 391.2 391.6 392.0 392.5 392.9 393.4 393.8 394.3 394.5 394.6 394.6 394.6 394.7 394.7 394.8 394.9 394.7 394.7 394.7 394.8 395.0 394.9 394.7 394.3 394.0 393.1 392.1 391.0 389.5 387.4 385.1 383.0 380.5 376.8 373.6 370.4 366.6 363.6 360.5 358.1 356.4 355.2 354.1 353.1 352.2 351.4 350.3 349.2 348.3 347.5 347.0 346.8 346.8 347.0 347.4 348.0 348.4 348.6 348.0 346.6 344.9 342.3 339.5 336.9 334.3 331.9 328.8 325.8 322.7 319.4 316.9 315.1 312.4 312.8 315.2 317.6 320.1 322.6 325.1 327.6 330.2 332.7 332.5 321.2 319.3 318.0 316.5 316.2 316.1 315.9 315.5 315.2 314.7 314.3 313.8 313.2 312.0 310.9 310.1 309.6 309.2 309.2 309.0 308.8 308.8 308.8 309.1 309.4 309.6 310.0 310.3 310.6 310.8 311.0 311.1 311.2 311.5 311.5 311.7 311.7 311.5 311.2 311.0 310.7 310.4 310.1 309.9 309.6 309.5 309.5 309.5 309.7 310.3 310.8 311.3 312.1 312.9 313.5 314.0 314.3 314.1 313.7 312.9 311.7 310.0 308.4 306.0 302.6 300.2 298.3 299.0 299.3 299.6 299.8 300.1 300.4 300.6 300.9 301.1 301.4 301.6 301.9 302.1 302.4 302.6 302.9 303.1 303.4 303.7 303.9 304.2 304.4 304.7 304.9 305.2 305.5 305.7 306.0 306.2 306.5 306.7 307.0 307.3 307.5 307.8 308.0 303.5 300.7 300.5 300.4 300.2 300.3 299.8 299.4 298.8 297.7 296.4 295.9 295.0 294.3 293.9 293.5 293.3 293.3 293.4 293.4 293.3 293.3 293.4 293.5 293.6 293.7 294.0 294.1 294.2 294.3 294.6 295.1 295.5 295.7 295.7 295.5 295.2 294.9 294.5 293.7 292.9 292.3 290.8 289.3 287.0 284.8 281.2 278.5 275.9 273.3 270.2 267.1 263.0 259.1 258.8 258.5 258.2 257.9 257.7 257.4 257.1 256.8 256.5 256.2 255.9 255.7 255.4 255.1 250.8 245.2 243.4 242.2 240.6 239.3 237.4 236.4 235.8 235.2 234.9 234.9 234.5 234.3 234.0 233.4 232.9 232.6 232.2 232.1 231.8 231.6 231.7 231.3 230.8 230.7 230.5 230.5 230.7 231.0 231.4 231.8 232.2 232.7 233.1 233.4 233.8 234.3 234.9 235.1 235.1 235.0 234.7 234.5 234.1 233.6 232.9 232.5 232.1 231.9 231.9 232.0 232.1 232.4 232.8 232.9 233.4 233.6 233.6 233.8 233.7 233.2 232.3 230.9 229.3 228.1 226.7 225.0 223.6 222.1 219.1 217.2 217.1 219.5 222.0 224.4 226.9 229.4 232.0 234.6 237.2 239.8 242.5 245.2 247.9 250.7 253.5 256.3 259.1 262.0 264.9 267.9 270.9 273.9 276.9 280.0 283.1 286.3 289.4 292.7 295.9 299.2 302.5 305.9 309.3 312.7 309.3 307.1 305.1 304.3 303.8 303.6 303.8 304.4 305.0 305.8 306.9 308.3 309.3 310.6 311.3 311.5 311.5 311.3 310.9 310.6 310.1 309.9 309.9 310.1 310.4 310.9 311.2 311.5 311.3 311.1 311.3 311.1 311.0 310.7 310.2 309.9 309.6 309.3 308.9 308.8 308.8 308.8 309.2 309.8 310.5 311.1 311.7 312.3 312.6 312.7 312.2 311.0 309.2 307.0 304.7 302.4 300.2 298.0 296.6 295.8 338.0 341.6 345.2 348.8 352.4 356.1 359.8 356.0 352.0 351.3 350.9 350.8 350.6 350.6 350.4 350.4 350.6 350.4 350.6 350.5 349.8 349.3 348.8 348.2 347.9 347.5 346.6 345.6 344.8 343.3 340.5 335.1 339.5 336.6 337.9 345.4 345.3 347.6 357.6 372.7 388.4 394.6 392.4 394.3 391.4 391.3 391.3 391.3 391.3 391.1 391.1 390.9 390.9 390.9 390.9 390.9 390.6 389.9 388.8 387.5 385.8 384.2 382.2 380.3 378.9 377.8 376.8 376.2 399.8 401.7 403.5 405.4 407.3 409.2 414.2 421.1 418.0 417.8 417.8 417.3 417.7 418.0 417.8 417.7 417.3 416.9 416.4 415.8 415.3 414.7 414.2 414.0 413.8 413.5 413.0 412.6 412.2 411.0 409.8 408.2 406.1 403.5 401.9 401.0 400.3 399.9 399.5 399.2 399.1 398.9 398.5 397.9 397.1 396.6 395.9 395.5 395.2 394.6 394.2 393.9 393.5 393.1 392.8 392.4 392.0 391.5 391.0 390.7 390.2 390.0 389.8 389.5 389.5 389.5 392.0 391.3 390.3 388.7 387.0 384.4 381.8 378.9 375.9 372.6 369.1 366.0 363.0 360.1 357.0 354.4 352.4 350.6 349.1 347.9 347.2 347.2 347.0 346.7 346.1 345.3 344.5 343.6 342.7 341.8 340.7 340.0 339.4 338.8 338.4 338.3 338.4 338.9 339.7 341.0 342.8 344.6 346.4 348.3 350.2 352.0 353.3 354.2 354.9 355.1 354.9 354.7 354.5 354.2 353.9 353.4 352.9 352.4 352.1 351.6 351.1 350.8 350.5 350.4 350.4 346.9 346.7 346.7 346.9 347.1 347.5 348.0 348.3 348.8 349.2 349.6 349.8 350.0 350.4 350.9 351.3 351.6 351.8 351.8 351.5 351.1 350.6 349.8 348.8 347.6 346.5 345.0 343.2 340.7 338.5 336.3 333.8 331.9 329.7 327.4 324.5 321.6 319.3 316.9 314.4 312.7 310.9 309.9 309.0 309.0 309.1 309.3 309.6 309.8 310.1 310.6 311.2 311.7 312.2 312.7 313.1 312.9 312.9 313.1 313.1 313.0 312.7 312.6 312.2 311.7 311.1 310.5 309.8 309.5 309.4 309.5 309.9 310.2 311.0 311.1 311.3 311.7 311.8 311.8 312.0 312.1 312.0 312.0 312.1 312.0 312.1 312.2 312.2 312.2 312.4 312.4 312.0 311.7 311.2 310.8 310.6 310.5 310.3 310.1 309.9 310.0 310.4 311.2 312.0 315.2 316.7 319.2 322.8 327.5 334.4 341.3 348.6 356.6 365.6 375.2 383.8 392.0 399.8 407.7 413.8 418.4 421.8 423.7 424.2 423.9 423.4 422.6 422.0 421.0 420.2 419.5 419.1 418.9 419.1 419.6 420.9 423.3 426.0 429.1 432.7 436.9 441.4 445.7 449.8 453.7 457.8 461.0 463.5 465.4 466.6 467.2 467.2 467.2 467.2 467.2 467.2 467.2 467.2 467.2 467.8 467.0 465.8 464.6 463.2 461.4 459.3 457.2 454.7 452.1 447.1 443.1 439.2 434.9 432.0 428.5 426.6 427.0 427.6 429.6 427.9 418.7 409.6 402.2 400.2 400.2 400.0 399.8 399.5 398.8 398.3 397.7 397.0 396.5 396.2 396.0 395.5 395.0 394.5 393.7 393.0 392.3 391.5 390.5 389.7 389.4 389.3 389.5 390.0 390.5 391.3 392.3 392.3 392.1 391.8 391.3 390.8 390.5 390.0 389.6 389.3 389.3 389.3 389.6 390.2 390.9 391.6 392.2 392.7 393.0 392.9 392.0 390.5 388.6 387.3 374.3 373.5 372.8 372.0 371.3 370.5 369.8 369.1 368.3 367.6 366.8 366.1 365.4 364.6 363.9 363.2 362.4 361.7 361.0 360.3 359.5 358.8 358.1 357.2 353.9 352.0 352.0 352.4 352.7 352.6 352.3 351.8 351.3 350.6 349.8 348.7 347.9 347.6 347.0 346.7 346.4 346.2 346.2 346.3 346.7 347.1 347.2 347.2 347.2 347.0 346.8 346.8 346.9 347.2 347.5 347.7 347.9 349.2 349.0 348.9 348.7 348.5 348.3 347.8 347.6 347.4 347.1 346.9 346.8 346.8 346.9 347.1 347.4 347.6 347.8 347.9 346.6 344.4 341.1 336.7 332.9 328.2 324.5 321.5 319.3 318.7 322.3 321.0 319.8 318.7 317.5 316.4 315.7 315.7 315.3 316.0 316.0 315.9 315.3 314.8 314.0 313.1 312.3 311.7 310.9 310.2 309.7 309.2 309.0 309.2 309.2 309.3 309.5 309.7 309.7 309.8 310.0 309.9 309.9 309.9 309.9 310.0 310.2 310.6 310.8 310.9 310.9 311.0 311.3 311.5 311.8 311.8 311.8 311.7 311.4 310.8 310.3 309.8 309.1 308.9 308.8 308.9 309.4 309.6 310.1 310.8 311.5 312.8 314.4 316.3 318.6 320.9 323.4 326.2 329.6 332.9 336.0 339.9 343.2 346.0 347.7 349.8 351.0 351.9 352.4 352.6 352.3 351.7 351.0 350.5 350.0 349.5 349.0 348.6 348.4 347.8 347.6 347.2 347.2 347.2 347.2 346.9 346.5 345.7 344.7 343.7 342.7 342.0 341.8 342.5 343.7 345.1 346.2 347.2 348.8 350.3 351.6 352.7 353.4 353.9 354.2 354.4 354.4 354.2 354.1 353.8 353.6 353.1 352.6 351.7 350.8 350.0 349.0 348.2 347.6 347.1 346.5 346.0 345.7 345.3 344.8 344.6 344.4 344.6 345.2 345.6 346.4 347.2 347.7 348.6 349.5 350.6 351.7 352.3 352.8 353.2 353.4 353.5 353.5 353.2 352.9 352.5 352.1 351.4 350.7 350.0 349.1 348.3 347.6 346.9 346.4 346.1 345.8 345.5 345.4 345.6 345.8 346.0 346.5 347.1 347.9 348.5 349.0 349.5 349.9 350.2 350.6 351.1 351.3 351.5 351.6 351.5 351.0 350.8 350.5 349.8 349.5 349.0 348.6 348.3 348.1 347.9 347.5 347.1 346.7 346.6 346.6 346.7 347.0 347.0 347.6 348.0 348.4 349.2 350.0 350.6 351.1 351.7 352.1 352.3 352.4 352.3 352.2 351.9 351.7 351.3 350.6 350.3 349.8 349.0 348.4 347.8 347.0 346.2 345.6 345.1 344.8 344.7 344.8 344.8 345.1 345.2 345.5 346.2 346.7 347.4 348.1 348.8 349.3 350.0 350.8 351.8 352.5 352.9 353.3 353.5 353.5 353.3 352.9 352.4 351.8 351.1 350.4 349.7 349.0 348.4 347.9 347.5 347.1 346.6 346.1 345.8 345.4 345.2 344.8 344.8 345.0 345.5 345.7 346.2 346.8 347.3 347.9 348.5 349.2 350.2 350.7 351.3 351.9 352.3 352.6 352.9 353.1 353.2 353.2 353.0 352.5 352.0 351.4 350.7 350.0 349.6 349.2 348.5 348.0 347.4 346.7 346.3 345.9 345.5 345.4 345.4 345.5 345.8 346.3 346.7 347.1 347.4 347.9 348.2 348.8 349.4 350.0 350.4 350.7 351.0 351.2 351.3 351.3 351.1 350.9 350.6 350.4 350.0 349.8 349.4 348.9 348.4 348.3 348.1 347.9 347.8 347.7 347.6 347.7 347.8 347.9 348.1 348.3 348.5 348.6 348.9 349.0 349.2 349.4 349.6 349.8 349.8 349.7 349.5 349.4 349.4 349.4 349.4 349.4 349.2 349.2 349.2 349.2 349.4 349.6 349.6 349.8 349.8 349.8 350.0 350.3 350.5 350.6 350.7 350.9 351.0 351.1 351.5 351.5 351.7 351.8 351.9 351.9 351.9 351.7 351.5 351.3 351.3 351.3 351.3 351.5 351.5 351.7 351.9 352.1 352.3 352.6 352.7 353.0 353.1 353.1 352.9 352.7 352.3 351.8 351.3 350.7 350.1 349.6 349.2 349.2 349.6 350.6 351.8 353.4 356.4 359.9 363.6 367.8 372.6 377.9 383.3 389.0 395.0 398.8 402.3 404.6 407.5 408.8 409.5 409.2 408.5 407.2 405.1 402.6 399.7 396.9 394.3 391.7 389.8 387.7 385.0 383.7 383.3 383.1 383.7 384.4 385.5 387.3 389.2 391.0 392.9 395.3 398.0 400.0 402.5 404.2 405.5 406.3 406.3 405.6 404.8 403.9 402.3 400.5 398.5 396.6 395.1 394.4 393.8 393.2 392.5 392.1 391.5 391.0 390.2 389.6 388.6 388.4 388.7 389.7 391.1 393.0 395.3 397.8 401.0 406.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4", + "f0_timestep": "0.005" + }, + { + "offset": 208.69, + "text": "AP 你 的 生 命 给 了 我 一 半 SP", + "ph_seq": "AP n i d e sh eng m ing g ei l e w o y i b an SP", + "ph_dur": "0.231 0.045 0.127 0.045 0.1062 0.0658 0.128 0.045 0.127 0.045 0.285 0.06 0.127 0.045 0.473 0.045 0.112 0.06 0.517 0.069", + "ph_num": "2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest C4 D#4 F4 D#4 A#4 D#4 D4 D#4 F4 rest", + "note_dur": "0.276 0.172 0.172 0.173 0.172 0.345 0.172 0.518 0.172 0.517 0.069", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "267.0 267.0 267.0 267.0 267.0 267.0 267.0 267.0 267.0 267.0 267.0 267.0 267.0 267.0 267.0 267.0 267.0 267.0 267.0 267.0 267.0 267.0 267.0 267.0 267.0 267.0 267.0 267.0 267.0 267.0 267.0 267.0 267.0 267.0 267.0 267.0 267.0 267.0 267.0 267.0 267.0 267.0 267.0 267.0 267.0 267.0 262.2 262.2 262.2 262.2 262.2 262.2 262.2 262.3 262.4 262.4 262.4 262.4 262.4 262.4 262.4 262.5 262.5 262.5 262.5 262.6 262.8 262.8 262.8 262.9 263.0 262.1 260.1 257.1 254.0 251.5 249.8 249.8 250.8 253.2 256.8 262.3 268.1 274.3 281.0 288.0 295.3 301.2 306.0 310.2 312.0 312.7 312.5 312.4 312.1 311.8 311.5 311.1 310.9 310.8 310.8 310.8 310.9 311.0 311.2 311.5 311.7 311.7 311.2 309.3 305.6 301.8 299.1 323.3 326.4 329.5 332.7 335.8 339.0 342.3 345.5 348.8 352.2 355.5 358.9 355.3 353.0 352.2 351.5 351.2 351.0 351.0 351.0 351.0 350.8 350.4 350.2 350.0 349.5 348.9 348.0 347.0 345.8 344.4 342.6 340.9 339.3 337.6 335.5 334.4 333.1 331.5 330.6 328.7 326.5 324.2 322.4 321.4 321.0 320.0 318.3 316.4 314.7 313.4 312.8 312.2 311.6 311.2 310.8 310.5 310.2 310.2 310.2 310.5 310.7 310.9 311.1 311.3 312.0 312.6 313.2 313.7 313.5 312.7 311.2 310.2 309.5 321.7 337.9 354.8 372.7 391.4 411.1 431.7 445.3 447.6 451.1 453.1 455.5 457.6 460.0 462.7 464.7 466.7 467.2 467.2 466.8 466.3 465.8 465.1 464.4 463.7 463.2 463.0 463.3 463.6 464.3 464.7 465.4 465.6 465.8 466.3 466.8 467.3 467.8 468.3 468.8 469.1 469.2 469.3 469.0 468.3 467.6 466.2 465.0 463.1 460.5 457.3 453.9 450.5 446.1 440.9 435.1 426.7 414.0 403.3 393.4 383.7 373.6 363.2 352.9 340.7 331.8 325.2 319.0 312.1 307.3 304.8 303.5 302.9 303.2 305.7 306.8 306.9 307.4 307.2 307.4 308.3 309.2 310.3 311.3 312.2 312.9 313.5 313.5 313.1 312.5 311.4 310.2 309.3 308.4 306.8 306.0 304.8 303.4 302.0 300.7 299.4 297.6 295.9 294.6 293.2 291.9 291.0 290.5 290.5 291.0 291.5 292.0 292.8 293.2 293.8 294.3 294.9 295.4 295.9 296.4 296.7 297.0 297.1 297.4 297.3 297.4 297.1 296.7 296.3 296.0 295.7 295.2 294.7 294.2 293.7 293.4 293.2 292.9 292.6 292.2 291.8 291.6 291.6 291.6 292.0 292.4 292.6 293.0 293.3 293.6 293.9 294.2 294.3 294.6 294.7 294.6 294.9 294.7 294.9 294.9 294.5 294.4 294.2 294.1 294.0 294.0 294.1 294.2 294.1 294.0 294.0 293.8 294.0 294.0 294.0 294.0 293.9 294.1 294.2 294.2 294.2 294.1 294.0 294.0 294.1 294.2 294.2 293.8 293.8 293.5 293.0 292.6 291.9 291.6 291.1 290.9 290.6 289.9 288.8 287.8 286.7 286.0 285.1 283.8 281.2 280.0 286.3 288.8 292.8 298.8 300.9 302.3 304.0 305.8 307.6 309.4 310.9 314.7 314.7 314.7 314.7 314.8 315.0 315.1 315.1 315.1 315.3 314.9 313.9 312.4 310.4 308.0 305.1 302.4 300.0 297.8 295.7 294.3 293.6 311.8 315.2 318.6 322.0 325.5 329.1 332.6 336.2 339.9 343.3 345.6 348.1 349.4 351.5 353.0 353.9 354.4 354.9 355.1 354.4 353.2 351.6 349.5 347.6 345.9 344.0 342.1 340.8 339.5 338.2 337.5 337.0 337.1 337.4 338.2 339.1 340.7 342.1 343.4 345.0 346.5 347.6 348.7 349.8 350.8 351.5 351.9 352.1 351.9 351.7 351.3 350.3 349.2 348.0 346.5 345.1 343.9 342.8 341.5 340.0 338.5 337.7 336.8 336.4 336.4 336.2 336.6 337.5 338.6 340.0 341.6 343.0 344.4 345.8 347.5 348.7 349.8 350.8 351.7 351.5 350.6 349.6 348.6 347.8 347.1 346.7 346.4 346.2 346.2 345.6 344.3 340.8 332.0 321.0 309.3 308.7 308.6 308.6 308.6 308.6 308.6 308.6 308.6 308.6 308.6 308.6 308.6 308.6 308.6 308.6 308.6 308.6 308.6 308.6 308.6 308.6 308.6 308.6 308.6 308.6 308.6 308.6 308.6 308.6 308.6 308.6", + "f0_timestep": "0.005" + }, + { + "offset": 211.448, + "text": "AP 你 的 爱 也 给 了 我 一 半 SP", + "ph_seq": "AP n i d e ai y E g ei l e w o y i b an SP", + "ph_dur": "0.231 0.045 0.128 0.045 0.127 0.172 0.045 0.128 0.045 0.3 0.045 0.127 0.045 0.472 0.045 0.113 0.06 0.517 0.069", + "ph_num": "2 2 1 2 2 2 2 2 2 1 1", + "note_seq": "rest A#3 D#4 F4 D#4 F4 D#4 D4 D#4 D#4 rest", + "note_dur": "0.276 0.173 0.172 0.172 0.173 0.345 0.172 0.517 0.173 0.517 0.069", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 239.6 238.2 238.2 238.6 239.3 240.1 240.5 240.3 239.7 238.3 235.4 232.9 230.9 229.1 226.2 225.1 225.3 226.1 227.3 228.8 230.2 231.5 232.3 232.9 233.3 233.1 232.7 231.9 230.7 228.8 226.7 224.9 221.5 218.5 216.3 216.4 216.9 223.0 234.1 245.8 258.0 270.9 284.4 298.6 308.9 301.6 302.9 305.1 305.5 307.1 308.5 309.4 310.0 310.4 310.8 311.0 311.2 311.3 311.3 311.5 311.7 311.7 311.8 312.1 312.2 312.3 312.3 312.0 311.7 311.2 310.8 310.4 310.0 309.6 309.5 310.3 311.8 316.5 320.8 323.7 327.0 329.7 333.3 336.7 340.3 343.0 345.1 347.1 348.7 349.9 350.5 350.8 350.5 349.8 349.0 347.4 346.1 344.2 342.2 340.3 338.3 336.7 334.7 332.4 330.2 327.5 323.4 318.0 315.8 314.0 311.1 309.7 309.1 308.9 308.9 309.2 309.6 310.2 310.9 311.3 311.8 312.4 313.0 313.0 312.4 310.2 308.4 307.3 306.1 304.3 305.6 309.0 305.5 303.1 305.3 308.2 311.1 314.1 317.1 320.0 323.1 326.1 329.2 332.3 335.5 338.6 341.8 345.1 348.3 349.4 349.6 350.5 351.3 352.1 353.3 353.8 354.1 354.1 353.7 353.5 353.2 352.5 351.4 350.2 349.4 348.5 347.7 347.3 346.9 346.7 346.9 347.1 347.4 347.9 348.2 348.7 349.1 349.5 349.8 350.0 350.3 350.6 350.9 351.3 351.5 351.7 351.7 351.7 351.6 351.3 350.9 350.4 349.8 349.0 348.0 346.9 345.5 344.1 342.6 340.6 337.9 335.6 333.0 330.7 328.5 324.3 319.5 316.4 313.0 310.1 306.3 303.8 302.3 301.6 301.7 302.5 306.0 312.3 315.3 314.7 314.6 313.1 312.2 312.4 312.4 312.5 312.8 312.9 312.9 312.7 312.3 311.8 311.0 309.9 309.1 308.1 306.2 304.7 303.3 301.3 299.5 297.9 296.9 296.3 296.2 296.6 297.1 297.6 298.0 297.7 297.5 297.1 296.7 296.7 296.7 296.7 296.7 296.7 296.6 296.3 296.3 296.3 296.2 296.3 296.4 296.3 296.1 295.7 294.9 294.0 293.3 292.9 292.5 292.2 292.0 291.9 291.8 291.8 292.0 292.2 292.3 292.3 292.1 292.1 292.3 292.5 293.0 293.3 293.3 293.5 293.6 293.8 294.1 294.3 294.6 294.9 295.0 294.9 294.8 294.7 294.6 294.3 293.9 293.7 293.4 293.2 293.2 293.3 293.4 293.5 293.5 293.5 293.4 293.3 293.3 293.3 293.3 293.5 293.7 293.7 293.7 293.7 293.8 293.9 294.0 294.2 294.3 294.3 294.3 294.2 294.0 293.8 293.3 293.0 292.6 292.6 292.5 292.6 292.8 292.6 292.8 293.0 293.0 293.0 292.9 292.9 293.3 294.0 295.1 296.0 297.2 299.3 300.8 302.4 304.3 305.9 307.4 308.6 309.6 310.4 310.9 311.4 309.9 309.7 309.4 309.0 308.4 307.7 306.9 306.1 305.3 304.4 303.4 302.6 301.9 301.4 300.9 300.5 300.5 300.5 300.7 301.1 301.5 302.3 303.1 304.0 305.0 306.0 307.2 308.6 309.7 310.8 311.8 313.0 314.0 314.8 315.5 315.9 316.4 316.6 316.7 316.5 315.9 315.5 314.7 313.8 312.7 311.6 310.5 309.3 308.3 307.2 306.3 305.5 305.0 304.6 304.4 304.4 304.5 305.0 305.8 306.5 307.7 308.9 310.0 311.1 312.3 313.4 314.2 315.0 315.5 315.8 315.7 315.5 315.2 314.6 313.7 312.7 311.8 310.9 309.7 308.6 307.7 306.8 306.0 305.2 304.7 304.5 304.4 304.4 304.6 305.1 305.7 306.3 307.0 308.1 309.1 310.1 310.9 311.9 312.8 313.4 314.0 314.3 314.5 314.7 314.5 314.3 314.2 313.7 313.4 312.8 312.3 311.8 311.2 310.5 309.9 309.3 308.7 308.1 307.6 307.3 307.0 306.7 306.3 306.3 306.3 306.5 306.9 307.6 308.4 309.3 310.2 311.0 311.6 312.0 292.0 292.0 292.0 292.0 292.0 292.0 292.0 292.0 292.0 292.0 292.0", + "f0_timestep": "0.005" + }, + { + "offset": 214.207, + "text": "AP 夏 天 不 懂 冬 日 的 严 寒 SP", + "ph_seq": "AP x ia t ian b u d ong d ong r ir d e y En h an SP", + "ph_dur": "0.156 0.12 0.112 0.06 0.128 0.045 0.1175 0.0545 0.127 0.045 0.3 0.045 0.128 0.045 0.472 0.045 0.1008 0.0712 0.518 0.069", + "ph_num": "2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest C4 D#4 F4 D#4 A#4 D#4 D4 D#4 F4 rest", + "note_dur": "0.276 0.172 0.173 0.172 0.172 0.345 0.173 0.517 0.172 0.518 0.069", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "278.6 278.6 278.6 278.6 278.6 278.6 278.6 278.6 278.6 278.6 278.6 278.6 278.6 278.6 278.6 278.6 278.6 278.6 278.6 278.6 278.6 278.6 278.6 278.6 278.6 278.6 278.6 278.6 278.6 278.6 278.6 278.6 278.6 278.6 278.6 278.6 278.6 278.6 278.6 278.6 278.6 278.6 278.6 278.6 278.6 278.6 278.6 278.6 278.6 278.6 278.6 262.5 262.4 262.4 262.2 262.0 261.8 261.6 261.3 261.1 261.0 260.9 260.9 260.9 260.9 261.1 261.5 261.9 262.4 262.6 262.9 262.9 262.6 261.9 261.0 259.8 258.4 257.1 255.7 254.5 253.3 252.4 251.9 276.5 280.3 284.1 288.0 291.9 295.9 300.0 304.1 307.4 307.6 308.1 308.3 309.3 309.7 310.3 311.4 312.1 312.5 312.4 312.0 311.0 309.3 307.7 306.6 306.1 305.4 303.7 302.1 300.2 298.6 297.5 301.8 307.6 313.6 319.6 325.8 332.0 350.0 349.8 349.7 349.5 349.3 349.0 348.8 348.6 348.4 348.4 348.4 348.8 349.4 349.9 350.3 350.5 350.5 350.2 349.8 349.3 348.6 347.8 347.3 346.9 346.8 346.5 345.5 344.1 342.4 341.1 328.5 330.0 332.8 335.7 338.5 314.3 314.2 314.0 313.8 313.7 313.4 313.1 312.7 312.4 312.2 312.0 311.8 311.8 312.4 311.7 310.8 310.0 309.5 309.3 310.0 310.4 310.4 310.6 310.6 310.7 310.1 308.5 306.7 302.5 300.6 307.3 318.5 333.9 350.0 366.8 384.5 403.1 422.5 442.9 464.2 467.2 465.8 463.3 462.5 462.5 462.1 462.1 462.1 462.2 462.3 461.8 461.3 460.4 459.5 458.6 457.9 457.2 456.9 456.8 457.5 458.5 459.5 460.4 461.3 462.5 463.4 464.3 465.0 465.6 466.3 467.1 467.7 468.2 468.5 469.0 469.5 469.8 469.9 469.8 469.5 468.9 467.9 467.0 465.9 464.8 463.2 461.3 459.3 454.5 453.6 451.3 447.8 442.7 436.0 428.9 421.1 412.5 402.1 392.5 383.3 374.1 364.7 355.0 347.0 339.7 333.3 326.9 321.7 317.8 314.9 312.9 311.8 311.8 311.7 311.6 311.5 311.3 311.2 311.0 310.7 310.5 310.3 310.2 310.2 310.2 309.9 309.1 307.7 305.7 302.9 300.2 297.2 294.1 290.6 287.4 284.6 282.3 280.2 278.5 277.7 302.6 303.8 303.2 301.4 301.8 302.3 302.9 303.5 303.4 303.0 302.4 301.3 299.8 298.6 297.4 296.3 295.4 294.6 293.8 292.9 292.1 291.7 291.1 290.9 290.8 290.6 290.6 290.5 290.6 290.6 290.9 291.3 291.7 292.2 292.8 293.4 293.8 294.6 295.1 295.5 295.9 296.0 296.0 295.9 295.8 295.5 295.1 294.8 294.5 294.5 294.5 294.6 294.7 294.7 294.7 294.7 294.7 294.5 294.5 294.5 294.4 294.5 294.5 294.5 294.7 294.9 294.9 295.1 295.2 295.2 295.4 295.4 295.4 295.5 295.5 295.7 295.7 295.6 295.7 295.4 294.9 294.3 293.5 292.3 291.4 290.2 289.0 287.5 286.3 285.1 282.8 281.2 279.5 277.1 273.5 269.8 267.8 267.3 268.4 272.3 278.7 286.1 292.1 296.2 300.4 304.4 305.7 307.7 308.9 310.0 310.9 311.8 311.8 311.8 311.8 311.8 311.8 311.5 310.6 309.5 307.8 305.9 304.0 302.1 300.2 298.1 296.7 295.7 295.0 294.7 319.7 323.3 326.8 330.4 334.1 337.8 341.5 345.3 349.1 353.0 356.9 356.3 355.0 356.2 357.7 358.7 359.7 360.1 360.0 359.4 358.7 358.0 357.0 355.3 353.8 352.2 350.7 349.1 348.2 347.5 347.0 346.8 346.9 347.4 348.0 348.6 349.6 350.6 351.7 353.1 354.1 355.3 356.2 356.8 357.2 357.5 357.6 357.5 357.3 356.9 356.4 355.8 355.1 354.0 353.3 352.6 351.3 350.6 349.9 349.0 348.3 347.7 347.2 346.8 346.9 347.4 347.8 348.4 349.6 350.4 351.3 352.1 352.9 353.7 354.7 355.7 356.5 357.2 357.9 358.4 358.6 356.1 355.8 355.4 354.6 353.9 352.9 352.0 350.8 349.6 348.7 347.9 347.0 346.2 345.7 345.5 345.4 345.4 345.9 346.7 347.5 348.4 349.4 350.4 351.3 351.8 352.0 352.2 351.9 351.3 350.6 350.0 349.2 348.1 347.2 346.5 345.9 345.4 289.1 289.1 289.1 289.1 289.1 289.1 289.1 289.1 289.1", + "f0_timestep": "0.005" + }, + { + "offset": 216.966, + "text": "AP 未 曾 想 过 人 生 的 辛 酸 SP", + "ph_seq": "AP w ei c eng x iang g uo r en sh eng d e x in s uan SP", + "ph_dur": "0.23 0.045 0.113 0.06 0.112 0.06 0.128 0.045 0.127 0.045 0.2172 0.1278 0.127 0.045 0.353 0.165 0.0957 0.0763 0.517 0.068", + "ph_num": "2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest A#3 D#4 F4 D#4 F4 G4 G#4 G4 G4 rest", + "note_dur": "0.275 0.173 0.172 0.173 0.172 0.345 0.172 0.518 0.172 0.517 0.068", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "269.3 269.3 269.3 269.3 269.3 269.3 269.3 269.3 269.3 269.3 269.3 269.3 269.3 269.3 269.3 269.3 269.3 269.3 269.3 269.3 269.3 269.3 269.3 269.3 269.3 269.3 269.3 269.3 269.3 269.3 269.3 269.3 269.3 269.3 269.3 269.3 269.3 269.3 269.3 269.3 269.3 269.3 269.3 269.3 269.3 235.3 235.2 234.9 234.5 233.9 233.4 232.9 232.3 231.8 231.5 231.2 230.9 231.0 231.1 231.7 232.5 233.4 234.3 235.3 236.2 236.8 237.2 238.8 238.3 237.8 237.0 235.3 233.4 231.2 228.5 225.1 221.9 218.3 215.7 215.5 218.0 225.4 233.0 240.8 248.9 257.3 266.0 274.9 284.2 293.8 303.7 307.4 306.2 306.0 307.4 309.3 310.6 311.3 309.2 309.3 309.7 310.2 310.8 311.3 311.8 312.0 312.2 312.0 311.9 311.6 311.3 311.0 310.6 310.1 309.7 309.2 309.2 309.9 312.4 315.8 320.2 325.2 330.7 336.8 341.8 345.8 348.8 350.6 350.9 350.7 350.3 349.8 349.2 348.9 348.7 348.6 348.6 348.6 348.6 348.6 348.6 348.6 348.6 348.6 348.6 348.6 348.6 347.8 345.6 342.1 337.9 333.0 327.9 322.3 318.1 314.9 312.7 310.9 315.7 313.7 313.3 313.2 312.7 312.3 312.0 311.7 311.5 311.2 311.1 310.9 310.9 311.1 311.1 311.1 310.9 310.3 309.5 308.6 307.0 305.8 304.5 304.0 304.2 305.7 307.8 311.2 314.3 317.9 322.8 327.8 332.8 338.5 343.9 347.0 348.9 350.4 351.7 352.1 351.9 351.5 350.9 350.4 350.0 349.6 349.0 348.3 347.5 346.6 345.7 345.1 344.4 343.5 342.6 342.1 341.6 341.3 341.3 341.4 341.9 342.6 343.3 344.6 346.0 347.0 348.1 349.2 350.5 351.0 351.7 351.0 350.0 348.4 346.4 343.8 341.0 336.7 331.2 324.5 321.5 324.8 328.1 331.4 334.7 338.1 341.5 344.9 348.4 351.9 355.5 359.1 362.7 366.3 370.0 373.8 377.5 381.3 385.2 389.1 393.0 397.0 401.0 405.0 396.2 392.2 392.1 392.4 393.0 393.7 394.2 394.3 394.5 394.4 394.2 394.0 393.7 393.4 392.9 392.5 392.0 391.2 390.5 389.7 389.2 388.6 387.4 385.0 382.2 379.5 376.9 373.2 370.6 368.1 362.9 361.5 375.2 389.5 404.2 409.9 414.1 418.0 421.4 423.5 424.4 424.5 424.5 424.4 423.8 422.8 421.8 419.9 418.3 416.2 414.1 412.2 410.1 408.3 407.2 406.5 406.0 405.9 406.2 406.9 407.7 408.6 409.6 410.8 412.4 413.6 414.7 415.8 416.8 417.5 417.9 418.2 418.3 418.4 418.4 418.1 417.9 417.7 417.1 416.5 416.3 415.7 415.2 414.6 413.9 413.2 412.3 411.6 411.1 410.7 410.4 410.6 410.8 411.7 412.7 413.9 414.5 415.3 416.1 416.9 418.1 419.1 419.8 420.0 419.7 418.8 417.9 416.0 413.2 409.0 405.1 400.1 398.8 398.6 398.3 398.0 397.7 397.4 397.1 396.8 396.6 396.3 396.0 395.7 395.4 395.1 394.8 394.6 394.3 394.0 393.7 393.4 393.1 392.8 392.6 392.3 392.0 391.7 391.7 392.2 393.4 394.0 394.5 394.7 394.7 394.3 393.9 393.4 391.8 390.3 388.6 386.4 383.7 380.2 375.7 369.9 363.8 358.2 354.9 353.9 357.0 361.2 365.4 369.6 373.9 378.3 382.7 387.2 391.7 396.3 400.9 405.6 410.3 415.1 414.5 412.9 411.1 410.4 409.4 408.2 407.0 405.8 404.4 402.9 401.5 400.1 398.2 396.7 395.2 393.4 392.0 390.9 390.5 390.4 390.4 390.6 391.1 392.0 393.0 394.0 395.1 396.1 397.1 397.9 398.6 399.4 399.8 400.2 400.5 400.3 400.1 399.6 399.0 398.4 397.8 397.1 396.3 395.5 394.5 393.6 393.0 392.2 391.5 390.9 390.5 390.2 390.0 389.8 389.9 390.1 390.4 391.1 391.8 392.4 393.4 394.2 395.1 395.9 396.8 397.9 398.7 399.5 400.1 400.5 400.7 400.7 400.6 400.3 399.8 399.2 398.2 397.0 395.9 394.6 393.8 393.2 392.4 392.1 391.8 391.6 391.3 391.0 390.8 390.4 390.0 389.5 388.8 387.5 385.9 385.9 386.8 388.2 390.6 391.4 392.1 389.2 388.2 388.2 388.2 388.2 388.2 388.2 388.2 388.2 388.2 388.2 388.2 388.2 388.2 388.2", + "f0_timestep": "0.005" + }, + { + "offset": 219.724, + "text": "AP 曾 经 有 过 多 少 的 遗 憾 SP", + "ph_seq": "AP c eng j ing y ou g uo d uo sh ao d e y i h an SP", + "ph_dur": "0.141 0.135 0.112 0.06 0.1416 0.0314 0.1056 0.0664 0.113 0.06 0.224 0.12 0.128 0.045 0.472 0.045 0.113 0.06 0.517 0.069", + "ph_num": "2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest C4 D#4 F4 D#4 A#4 D#4 D4 D#4 F4 rest", + "note_dur": "0.276 0.172 0.173 0.172 0.173 0.344 0.173 0.517 0.173 0.517 0.069", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "277.3 277.3 277.3 277.3 277.3 277.3 277.3 277.3 277.3 277.3 277.3 277.3 277.3 277.3 277.3 277.3 277.3 277.3 277.3 277.3 277.3 277.3 277.3 277.3 277.3 277.3 277.3 277.3 277.3 277.3 277.3 277.3 277.3 277.3 277.3 277.3 277.3 277.3 277.3 277.3 277.3 277.3 277.3 277.3 277.3 277.3 277.3 277.3 277.3 277.3 261.2 261.2 261.2 261.3 261.3 261.4 261.6 261.7 261.8 261.9 262.1 262.2 262.3 262.4 262.4 262.5 262.3 261.6 260.7 259.4 258.0 256.4 254.4 252.9 251.3 249.9 248.6 247.7 247.1 273.8 275.9 278.0 280.1 282.2 284.3 286.4 288.6 290.7 292.9 295.1 296.5 303.2 307.0 308.1 309.3 310.2 310.5 310.7 310.9 310.8 311.2 311.3 311.5 311.8 312.4 312.8 313.4 314.5 315.2 315.9 317.0 318.7 320.4 322.2 324.2 326.6 328.4 330.0 331.4 334.8 336.4 338.6 340.7 342.6 345.1 347.5 349.7 350.9 351.3 349.8 349.8 349.8 349.9 350.0 350.0 350.2 350.2 350.2 350.4 350.0 348.9 346.9 344.1 341.2 337.7 334.0 329.9 326.3 323.2 320.6 318.4 316.8 316.2 319.8 314.2 314.0 313.7 313.0 312.4 311.7 311.0 310.4 309.9 309.7 309.7 309.9 310.3 310.9 311.5 312.4 313.0 313.6 313.9 314.2 313.7 312.8 311.1 308.9 306.5 304.0 301.4 298.5 296.3 294.5 293.2 292.5 356.6 372.6 389.2 406.6 424.8 443.8 463.6 474.1 470.2 469.0 468.2 467.6 467.8 467.8 468.1 467.8 468.0 468.1 467.9 467.5 467.0 466.2 465.4 464.9 464.4 464.1 464.4 465.1 466.4 468.3 470.1 471.4 472.7 474.6 474.4 474.3 474.1 473.8 473.4 473.1 472.6 472.1 471.9 471.5 471.1 470.9 470.8 470.8 470.4 469.2 466.7 461.9 456.8 451.1 444.9 437.9 430.6 424.4 418.7 413.9 409.3 406.4 404.8 367.0 363.7 360.5 357.3 354.1 350.9 347.8 344.7 341.6 338.6 314.2 314.0 313.7 313.2 312.6 311.8 310.8 310.1 309.3 308.6 307.9 307.5 307.3 307.2 307.4 307.8 308.5 309.3 310.1 310.7 311.0 310.9 310.2 309.2 307.9 306.1 303.7 301.5 299.2 296.8 294.3 291.9 290.0 288.3 287.0 285.9 285.4 300.4 296.2 296.6 297.8 298.6 299.9 300.8 300.8 300.4 300.1 299.4 298.8 298.0 297.6 297.2 296.6 295.7 294.7 294.2 293.5 292.9 292.3 291.7 291.2 290.9 290.8 290.6 290.5 290.6 290.6 291.0 291.5 291.6 292.5 292.6 293.1 293.7 294.2 294.6 294.9 294.9 295.0 294.8 294.7 294.9 294.5 294.3 294.3 294.0 293.9 293.7 293.6 293.5 293.4 293.3 293.2 293.2 293.2 293.3 293.3 293.6 293.8 294.0 294.2 294.5 294.9 295.3 295.8 296.1 294.2 294.2 294.2 294.2 294.2 294.3 294.3 294.3 294.4 294.5 294.5 294.5 294.5 294.5 294.7 294.5 294.5 294.5 294.4 294.3 294.3 294.2 294.1 294.0 293.9 293.8 293.7 293.7 293.7 293.7 293.7 294.1 295.3 297.2 299.5 302.4 305.8 308.8 311.3 313.4 315.0 315.7 315.5 315.5 315.4 315.2 315.1 315.1 315.1 315.0 314.7 314.2 313.5 312.7 311.6 310.6 309.7 308.8 308.0 307.5 307.2 307.4 308.3 310.2 314.0 318.1 322.8 328.6 334.4 339.7 344.7 349.2 353.5 355.7 356.8 357.1 356.7 356.1 355.3 354.3 353.3 351.8 350.4 348.9 347.5 346.1 344.8 343.6 342.6 341.9 341.3 341.1 341.1 341.4 341.8 342.8 344.0 345.3 346.6 348.1 349.8 351.4 352.9 354.1 355.1 355.9 356.3 355.1 355.0 354.6 354.1 353.4 352.3 351.0 349.7 348.6 347.3 345.8 344.8 343.8 342.7 342.0 341.4 341.1 340.9 340.7 340.9 341.2 341.6 342.3 343.2 344.1 345.2 346.2 347.2 348.0 349.0 349.8 350.3 351.0 351.4 351.6 351.8 351.7 351.4 350.9 350.6 350.1 349.4 348.7 347.8 346.8 345.8 345.1 344.4 343.9 343.6 343.7 343.8 344.2 344.9 345.9 346.9 347.8 348.8 349.6 350.0 350.4 350.3 350.2 350.2 349.9 349.6 349.4 349.1 348.7 348.5 348.2 348.0 347.8 347.6 347.6 298.5 298.5 298.5 298.5 298.5", + "f0_timestep": "0.005" + }, + { + "offset": 222.483, + "text": "AP 最 后 全 都 微 笑 着 释 然 SP", + "ph_seq": "AP z ui h ou q van d ou w ei x iao zh e sh ir r an SP", + "ph_dur": "0.171 0.105 0.112 0.06 0.0928 0.0792 0.128 0.045 0.127 0.045 0.225 0.12 0.0982 0.0748 0.352 0.165 0.127 0.045 0.517 0.069", + "ph_num": "2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest A#3 D#4 F4 D#4 F4 D#4 D4 D#4 D#4 rest", + "note_dur": "0.276 0.172 0.172 0.173 0.172 0.345 0.173 0.517 0.172 0.517 0.069", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 244.7 242.4 237.7 236.5 235.0 234.3 234.0 233.8 234.1 234.2 234.3 234.4 233.9 233.0 231.9 230.2 228.2 226.5 224.9 221.8 220.6 217.3 221.7 228.2 234.9 241.8 248.9 256.2 263.7 271.4 279.4 287.6 296.0 304.7 311.3 308.8 307.7 309.2 309.2 309.5 309.7 309.9 310.4 310.6 310.8 310.9 311.1 310.7 309.8 308.4 306.5 304.2 302.0 300.0 298.3 296.7 295.8 306.1 310.3 314.5 318.8 323.2 327.6 332.0 336.5 341.1 345.8 350.5 355.2 360.1 356.5 354.1 353.0 352.2 351.6 351.2 350.7 350.3 349.9 349.5 349.2 348.9 348.5 348.1 347.6 347.1 346.2 344.6 343.4 341.4 339.4 337.2 333.9 329.4 324.4 319.4 315.2 309.6 305.9 301.9 296.3 293.8 307.7 320.4 317.5 316.6 316.6 316.2 315.4 314.3 313.2 311.9 310.8 310.1 309.3 309.0 308.8 308.4 308.4 308.3 308.3 308.1 308.2 308.4 308.6 309.1 309.7 310.5 311.9 313.8 315.9 318.9 321.4 324.0 328.3 331.5 334.3 337.7 340.3 342.9 345.2 347.1 349.0 350.5 351.1 351.3 351.1 350.2 349.6 348.6 347.8 347.0 346.3 345.6 344.9 344.3 343.7 343.2 343.0 342.9 343.1 343.3 343.8 344.8 346.0 347.0 348.2 349.8 350.5 350.9 350.9 350.4 349.3 347.7 345.2 341.7 337.6 333.5 327.7 320.4 314.0 313.7 313.7 313.7 313.7 313.7 313.7 313.7 313.7 313.7 313.7 313.7 313.7 313.7 313.7 313.7 313.7 313.7 313.7 313.7 313.7 313.7 313.7 313.7 313.7 313.7 313.7 313.7 312.2 312.2 312.2 312.2 312.2 312.2 312.2 312.2 312.0 311.6 311.1 310.6 310.3 309.5 307.9 305.7 302.4 299.5 296.9 294.6 292.9 291.8 286.9 287.9 288.9 289.9 290.9 292.0 293.0 294.0 295.0 296.1 297.1 298.1 298.5 296.4 296.7 296.4 296.7 297.6 297.9 297.9 297.8 297.5 296.9 296.2 295.7 295.0 294.2 293.5 292.7 292.0 291.4 291.1 290.9 290.5 290.3 290.2 290.2 290.5 290.6 290.8 291.3 291.7 292.4 292.8 293.0 293.7 294.0 294.3 294.9 294.9 294.9 294.9 294.8 294.6 294.4 294.2 293.8 293.6 293.4 293.2 293.1 293.0 292.8 292.8 292.5 292.3 292.1 291.7 291.5 291.6 291.9 292.5 293.2 294.0 294.8 295.5 296.2 296.9 297.2 297.2 297.0 296.0 294.6 292.4 289.7 284.9 280.6 277.4 278.7 285.1 285.8 286.5 287.2 287.9 288.7 289.4 290.1 290.8 291.5 292.3 293.0 293.7 294.4 295.2 295.9 296.6 297.4 298.1 298.8 299.6 300.3 301.1 301.8 302.5 303.3 304.0 308.1 310.4 310.8 310.9 311.2 311.5 311.6 311.5 311.2 310.9 310.3 309.5 308.9 308.0 306.4 304.9 303.5 302.0 301.0 300.8 301.1 301.8 303.0 304.0 305.6 307.8 309.0 310.2 311.3 311.9 312.5 313.2 313.7 314.2 314.5 314.6 314.7 314.5 314.4 314.3 314.2 314.0 313.7 313.3 312.6 312.0 311.5 310.6 309.8 309.0 307.9 306.8 306.0 305.1 304.3 303.4 302.9 302.3 302.3 302.6 302.9 303.4 304.6 305.7 307.2 308.8 310.1 311.3 312.4 313.6 314.8 315.8 316.6 317.1 317.3 317.1 317.1 316.5 315.8 315.0 313.7 312.2 311.0 310.1 309.0 307.4 306.1 305.0 303.8 303.1 302.6 301.9 301.7 301.6 301.9 302.6 303.5 304.5 305.9 307.3 308.5 309.6 310.7 312.0 312.9 313.8 314.0 314.0 313.9 313.3 312.7 312.2 311.7 311.1 310.2 309.4 308.6 307.7 306.8 306.5 306.3 306.6 307.0 307.4 307.7 307.4 306.7 305.0 303.0 300.3 296.2 289.1 279.2 272.9 270.0 271.5 271.5 271.5 271.5 271.5 271.5 271.5 271.5 271.5 271.5 271.5 271.5 271.5 271.5 271.5 271.5", + "f0_timestep": "0.005" + }, + { + "offset": 225.241, + "text": "AP 谢 谢 你 让 我 成 为 最 幸 福 的 小 孩 SP", + "ph_seq": "AP x ie x ie n i r ang w o ch eng w ei z ui x ing f u d e x iao h ai SP", + "ph_dur": "0.126 0.15 0.225 0.12 0.54 0.15 0.3 0.045 0.299 0.045 0.225 0.12 0.3 0.045 0.0981 0.0739 0.353 0.165 0.225 0.12 0.644 0.045 0.225 0.12 0.1033 0.0687 0.345 0.069", + "ph_num": "2 2 2 2 2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest F4 D#4 A#3 G4 G4 G#4 G4 F4 D#4 D#4 D4 D#4 D#4 rest", + "note_dur": "0.276 0.345 0.69 0.345 0.344 0.345 0.345 0.172 0.518 0.345 0.689 0.345 0.172 0.345 0.069", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 356.6 322.5 323.1 324.5 327.4 330.4 333.8 337.3 341.1 344.8 347.7 350.0 351.4 352.1 351.4 350.2 348.4 346.9 346.1 346.0 346.1 346.3 346.6 347.0 347.4 347.7 348.0 348.3 348.4 348.6 348.6 348.6 348.6 348.6 348.6 348.6 348.6 348.6 348.6 348.6 348.6 348.4 347.7 346.2 344.2 341.7 339.0 335.6 332.2 329.2 326.2 323.4 320.8 319.3 318.2 317.7 317.6 317.3 316.9 316.6 316.3 315.9 315.6 315.3 314.9 314.6 314.3 314.0 313.6 313.3 313.0 312.6 312.3 312.0 311.7 312.6 310.9 311.5 311.9 312.7 313.4 313.6 313.7 313.5 313.5 313.7 313.8 313.8 313.5 313.0 312.4 311.6 311.3 310.6 310.2 309.8 309.5 309.4 309.5 309.6 309.7 309.9 310.3 310.7 311.0 311.3 311.3 311.5 311.6 311.8 312.1 312.2 312.2 312.3 312.3 312.3 312.5 312.6 312.6 312.5 312.4 312.2 312.0 311.7 311.5 311.5 311.3 311.3 311.2 311.0 311.7 311.4 310.7 309.9 308.7 307.3 305.5 303.1 300.9 298.3 295.6 292.4 289.1 286.0 282.7 279.4 275.4 272.1 268.8 265.5 262.1 258.6 255.7 252.7 249.5 247.0 244.7 242.6 240.5 238.6 237.0 235.8 234.8 233.9 233.4 233.1 232.7 233.1 233.6 234.0 234.4 234.6 234.8 234.7 234.5 234.2 233.8 233.4 232.9 232.3 231.9 231.5 231.2 230.9 230.8 230.8 230.8 230.8 230.8 230.9 230.9 230.9 231.0 231.1 231.1 231.2 231.2 231.2 231.3 231.3 231.3 231.3 231.3 231.3 231.3 231.3 231.5 231.5 231.5 231.5 231.6 231.6 231.7 231.7 231.8 231.9 232.0 232.0 232.1 232.1 232.1 232.1 232.2 232.2 232.2 232.2 232.2 232.0 231.7 231.4 231.3 231.2 231.3 231.4 231.6 231.7 231.7 232.0 232.1 232.4 232.5 232.7 233.1 233.4 233.7 234.1 234.6 234.9 235.0 235.0 234.7 234.4 234.0 233.8 232.9 231.7 230.5 228.9 227.5 225.9 224.0 221.9 220.1 219.2 219.1 220.1 221.3 223.1 225.7 228.0 230.9 233.7 238.4 242.8 246.3 250.8 257.8 266.9 276.6 286.0 299.8 309.3 317.5 326.6 336.0 339.5 344.1 347.6 351.0 353.6 355.8 358.6 361.6 364.2 366.6 368.4 369.9 371.3 372.8 374.5 376.5 378.1 380.2 381.3 382.5 384.4 385.9 387.3 388.8 390.3 391.5 392.7 393.7 394.3 394.5 394.7 394.5 394.5 394.3 394.0 393.8 393.7 393.4 393.1 392.7 392.3 391.9 391.8 391.7 391.5 391.1 390.3 389.3 388.2 387.2 386.7 386.4 386.5 386.8 387.7 389.1 390.3 391.9 393.5 394.4 395.2 396.3 397.2 397.0 397.0 396.6 396.2 395.9 395.5 395.0 394.3 393.5 392.8 391.9 391.0 390.3 389.7 388.7 387.9 387.6 386.8 386.4 386.4 386.5 386.9 387.4 388.4 389.6 390.8 391.6 392.4 392.9 392.9 393.1 392.4 391.5 390.0 387.8 384.6 380.9 377.3 373.2 368.0 365.3 367.9 371.9 366.0 361.2 363.4 365.6 367.9 370.2 372.5 374.8 377.1 379.4 381.8 384.1 386.5 388.9 391.3 393.7 396.2 398.6 401.1 403.6 406.1 408.6 411.1 413.7 416.2 418.8 421.4 424.0 426.6 427.1 426.1 426.7 427.6 427.0 426.4 426.0 424.8 423.8 422.1 420.9 419.6 418.3 417.0 415.8 414.6 413.7 413.2 412.7 412.7 413.0 413.5 413.9 414.7 415.1 415.9 416.5 416.9 417.1 417.3 417.5 417.5 417.5 417.5 417.5 417.5 417.4 417.2 417.0 417.0 416.8 417.0 416.8 416.6 416.2 415.6 414.9 414.1 413.2 412.2 411.4 410.6 409.8 408.4 407.0 405.6 405.2 404.5 403.5 402.1 400.5 398.7 396.8 395.1 393.1 391.6 390.5 389.8 389.5 389.4 389.3 389.2 389.0 388.8 388.4 388.2 388.0 387.8 387.7 387.7 387.4 386.6 385.3 383.3 380.2 377.1 373.6 370.0 366.0 361.8 358.4 354.9 352.0 349.2 347.1 345.8 345.1 344.5 345.0 345.5 346.0 346.5 347.0 350.4 350.2 351.0 351.6 352.9 354.7 355.7 356.4 356.9 357.0 356.7 356.1 355.3 353.8 352.2 350.8 349.4 348.4 347.8 347.4 347.2 347.4 347.5 347.9 348.3 348.6 349.0 349.4 350.0 350.3 350.6 350.9 351.0 351.0 351.0 351.2 351.3 351.0 350.7 350.5 350.3 350.2 350.2 350.0 349.8 349.3 348.8 348.6 348.4 348.1 347.8 347.8 348.0 348.3 348.8 349.4 350.4 351.9 353.2 354.4 355.5 356.3 356.5 355.9 354.2 352.7 350.6 348.4 344.3 338.1 335.7 336.0 335.7 335.1 334.4 333.7 333.0 332.3 331.6 330.9 330.2 329.6 328.9 328.2 327.5 326.8 326.2 325.5 324.8 324.1 323.5 322.8 322.1 321.5 320.8 320.2 319.5 318.8 318.2 317.5 316.9 316.2 315.5 316.5 317.7 317.6 317.3 316.9 316.7 315.8 315.4 314.9 314.2 313.8 313.4 312.7 312.3 311.8 311.2 310.8 310.4 310.0 309.5 309.1 308.7 308.6 308.6 309.1 309.5 309.9 310.5 311.3 311.9 312.4 312.7 312.6 312.6 312.5 312.3 312.1 311.9 311.0 309.3 307.4 304.7 301.8 298.5 296.3 293.9 292.0 292.9 294.5 296.1 297.7 299.4 301.0 302.6 304.3 305.9 307.6 309.3 311.0 312.7 314.4 316.1 317.8 319.6 321.3 323.0 324.8 326.6 328.4 327.4 323.0 321.0 320.4 319.9 319.3 319.3 319.1 318.7 318.0 317.3 316.6 315.7 314.7 313.8 312.6 311.2 310.0 308.9 308.0 307.7 307.7 307.7 307.9 308.0 308.2 308.5 309.0 309.7 310.4 311.3 312.1 312.9 313.7 314.1 314.7 313.6 313.4 313.2 312.9 312.5 312.0 311.5 310.9 310.5 310.2 309.8 309.7 309.8 311.7 311.8 312.7 314.0 315.4 317.2 319.5 322.2 324.7 327.4 330.6 333.1 335.6 337.9 340.1 342.0 343.2 344.2 344.6 344.6 344.0 342.9 341.0 338.9 336.5 333.8 330.6 327.4 324.5 321.8 319.1 316.4 314.4 312.9 311.8 311.2 311.1 311.1 311.1 311.3 311.5 311.7 311.9 312.1 312.2 312.4 312.6 312.6 311.8 311.6 311.4 311.2 311.1 312.2 312.4 312.7 312.9 312.9 312.8 312.4 311.7 310.8 309.9 309.3 308.7 307.9 306.9 305.6 304.1 301.7 300.4 300.1 299.9 300.0 301.2 294.7 283.7 279.4 281.7 287.2 288.2 289.2 290.3 291.3 292.4 293.4 294.5 295.5 296.6 297.7 297.6 296.9 296.4 296.0 295.8 295.6 294.9 294.3 293.8 293.2 293.2 293.2 292.8 292.7 292.4 292.1 291.9 291.6 291.5 291.5 291.5 291.5 291.5 291.8 292.5 292.8 293.5 294.3 294.9 295.4 295.5 295.1 294.2 292.7 290.5 287.7 284.7 281.1 275.6 271.7 271.8 273.0 274.3 275.5 276.8 278.1 279.3 280.6 281.9 283.2 284.5 285.8 287.1 288.4 289.7 291.1 292.4 293.7 295.1 296.4 297.8 299.2 300.9 301.2 301.9 303.1 304.7 306.7 308.6 310.4 312.4 313.6 314.3 314.7 314.6 314.4 314.3 314.0 313.7 313.4 313.3 313.1 313.0 312.7 312.0 311.0 309.6 308.0 306.3 304.5 302.8 300.9 299.4 298.2 297.3 296.8 301.6 303.6 305.7 307.8 309.9 312.0 314.3 316.9 316.6 318.0 317.8 318.0 318.0 317.8 317.5 317.3 316.7 315.7 314.7 313.8 312.6 311.1 310.2 309.3 308.3 307.7 307.6 307.7 307.7 307.9 308.1 308.7 309.2 309.6 310.2 310.9 311.6 312.3 312.7 313.2 313.8 314.2 314.8 315.3 315.7 315.8 315.8 315.7 315.2 314.4 313.5 312.6 311.5 310.2 309.5 309.1 308.6 308.6 308.4 309.0 309.4 310.2 311.0 311.7 312.0 311.8 311.3 310.4 309.2 309.0 309.0 309.2 311.9 310.2 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3 308.3", + "f0_timestep": "0.005" + }, + { + "offset": 230.586, + "text": "AP 感 谢 你 的 爱 SP", + "ph_seq": "AP g an x ie n i d e ai SP", + "ph_dur": "0.216 0.06 0.1032 0.0688 0.128 0.045 0.127 0.045 0.285 2.819 0.069", + "ph_num": "2 2 2 2 1 1 1", + "note_seq": "rest D#4 F4 D#4 D4 A#4 rest", + "note_dur": "0.276 0.172 0.173 0.172 0.345 2.759 0.069", + "note_slur": "0 0 0 0 0 0 0", + "f0_seq": "309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.9 309.7 309.4 309.3 309.1 309.5 309.8 310.2 310.8 311.3 311.2 310.6 309.5 307.5 304.5 301.2 294.9 290.5 291.9 295.9 300.0 304.1 308.3 312.5 316.8 321.1 325.5 330.0 334.6 339.2 343.8 348.5 353.3 358.2 359.1 355.6 354.3 353.0 351.9 351.1 350.4 349.9 349.6 349.5 349.2 348.9 348.4 347.5 346.4 345.3 344.0 342.5 340.9 338.4 336.3 333.8 331.6 329.6 327.3 324.5 321.7 319.1 317.1 315.7 314.0 312.6 311.8 311.5 312.2 312.6 312.9 313.1 312.4 312.2 312.1 311.8 311.7 311.5 311.5 311.2 310.6 309.8 308.9 308.2 307.4 306.3 304.4 301.3 298.5 294.6 287.6 281.1 274.2 267.8 261.9 256.3 250.2 249.2 256.4 263.9 271.5 279.4 287.5 295.8 304.4 298.6 298.5 298.2 298.2 298.8 299.0 298.8 298.4 297.9 297.3 296.6 295.8 295.2 294.2 293.5 293.0 292.3 292.0 291.5 291.2 291.1 291.0 291.0 291.2 291.5 291.9 292.4 293.2 293.9 294.3 294.9 295.0 295.0 295.0 295.0 295.1 295.2 295.4 295.7 295.9 295.9 295.7 296.3 295.6 294.7 293.6 292.5 291.5 291.0 292.9 300.8 315.0 336.0 364.4 403.9 443.5 482.7 520.1 553.1 577.2 585.0 583.6 580.1 574.0 566.0 557.3 547.4 536.7 523.3 511.8 501.0 490.9 481.1 472.4 465.9 460.8 457.7 456.3 456.2 456.8 457.8 459.1 460.8 462.1 463.3 463.8 464.2 464.0 464.0 463.8 463.4 463.1 462.8 462.3 461.9 461.6 461.2 460.9 460.7 460.5 460.5 460.4 460.3 460.3 461.2 462.0 462.8 463.7 464.8 466.1 467.0 468.7 469.4 470.1 470.8 471.0 471.0 471.2 471.3 471.2 471.0 470.8 470.1 469.5 469.0 468.3 467.6 467.0 466.3 465.4 464.7 464.3 464.3 464.3 464.3 464.3 464.1 463.9 463.8 464.1 464.3 464.6 464.6 464.6 464.8 465.4 465.8 466.4 467.1 467.8 468.3 468.9 469.4 469.7 469.8 469.9 469.9 469.9 469.7 469.6 469.1 469.1 469.0 468.9 469.0 469.0 468.9 468.5 468.1 467.7 467.3 466.6 466.3 465.6 465.3 464.8 464.6 464.3 464.3 464.1 464.2 464.5 464.4 464.3 464.3 464.3 464.7 465.1 465.1 465.4 465.6 465.6 465.8 466.2 466.4 466.6 466.7 466.9 467.0 467.0 467.1 467.1 467.1 467.3 467.5 467.6 468.3 468.9 468.9 469.1 469.3 469.4 469.6 469.8 469.8 469.5 469.0 468.4 468.0 467.8 467.7 467.5 467.1 466.4 465.6 465.0 464.2 463.4 462.7 462.4 462.2 462.3 462.6 463.0 463.5 464.1 464.7 465.2 465.8 466.4 466.9 467.8 468.5 469.3 470.1 470.4 470.6 471.0 471.4 471.7 471.9 471.9 471.4 471.2 470.8 470.1 469.4 468.7 467.7 466.6 465.6 464.6 463.5 462.5 461.9 461.2 460.5 460.1 460.0 460.0 460.1 460.3 460.8 461.5 462.1 462.8 463.6 464.6 465.6 466.7 467.6 468.6 469.4 470.1 470.7 471.1 471.6 471.6 471.8 471.5 471.3 471.0 470.6 470.1 469.5 468.8 468.0 467.1 466.4 465.4 464.7 464.0 463.3 462.6 462.0 461.5 461.1 460.6 460.5 460.5 460.5 460.9 461.3 462.0 462.9 464.0 465.4 466.5 467.8 469.0 470.3 471.8 472.9 473.8 474.6 475.3 475.6 475.9 475.8 475.4 475.0 474.4 473.3 472.4 471.0 469.9 468.4 466.8 465.4 464.0 462.4 460.8 459.7 458.6 457.6 456.8 456.1 455.7 455.5 455.6 456.0 456.5 457.6 459.2 461.0 462.9 465.0 466.9 468.8 471.1 472.7 474.3 475.5 476.3 476.8 477.0 476.6 476.0 474.9 473.7 472.4 470.8 468.8 466.8 465.0 463.2 461.4 459.4 457.9 456.7 455.7 454.8 454.2 454.2 454.4 455.0 456.0 457.5 459.1 460.9 462.9 465.6 467.6 469.5 471.2 472.8 474.1 474.9 475.1 475.2 474.9 474.3 473.3 472.2 471.0 469.7 467.9 466.3 464.7 463.1 461.6 460.0 458.7 457.6 456.8 456.1 455.6 455.5 455.5 455.9 456.7 457.9 459.3 460.8 462.7 464.5 466.4 468.3 470.3 472.1 473.5 474.9 475.8 476.6 477.0 476.9 476.5 475.7 474.6 473.5 472.1 470.6 468.6 466.7 464.8 462.9 461.1 459.2 457.9 456.7 455.8 454.9 454.5 454.5 454.5 455.1 455.9 457.1 458.4 459.8 461.5 463.5 465.1 466.9 468.7 470.5 472.1 473.4 474.4 475.1 475.7 476.0 475.7 475.2 474.6 473.8 472.6 471.0 469.7 468.3 466.7 464.9 463.3 461.9 460.5 459.2 458.0 457.1 456.4 456.1 456.0 456.0 456.4 457.0 457.7 458.6 459.7 461.3 462.7 464.2 465.6 467.2 468.9 470.2 471.3 472.4 473.5 474.1 474.4 474.8 474.7 474.3 473.8 473.2 472.4 471.3 469.9 468.8 467.7 466.4 465.0 463.6 462.5 461.3 460.0 459.3 458.7 458.2 457.9 457.9 457.9 458.3 458.9 459.7 460.7 461.9 463.2 464.6 465.9 467.1 468.5 469.7 470.6 471.4 471.9 472.1 472.3 472.1 471.9 471.6 471.1 470.5 469.9 469.2 468.3 467.6 466.7 466.0 465.0 464.3 463.6 462.9 462.3 461.8 461.3 461.1 461.1 461.1 461.1 461.3 461.5 461.9 462.5 463.1 463.6 464.3 465.0 465.7 466.4 467.1 467.7 468.2 468.7 469.1 469.1 469.4 469.2 469.0 468.7 468.5 468.1 467.4 467.0 466.4 465.8 465.1 464.6 464.0 463.3 462.9 462.4 462.2 461.9 461.9 461.9 461.9 461.9 462.1 462.4 462.6 462.8 463.1 463.5 463.8 464.3 464.5 464.9 465.2 465.5 465.7 465.9 466.2 466.2 466.2 467.8 467.8 467.8 467.8 467.8 467.8 467.8 467.8 467.8", + "f0_timestep": "0.005" + }, + { + "offset": 238.71, + "text": "SP AP 啦 啦 啦 啦 啦 SP", + "ph_seq": "SP AP l a l a l a l a l a SP", + "ph_dur": "0.14 0.4 0.06 0.255 0.09 0.27 0.075 0.442 0.075 0.427 0.09 0.69 0.4", + "ph_num": "1 2 2 2 2 2 1 1", + "note_seq": "rest rest A#4 D#5 F5 D5 D#5 rest", + "note_dur": "0.2 0.4 0.345 0.345 0.517 0.517 0.69 0.4", + "note_slur": "0 0 0 0 0 0 0 0", + "f0_seq": "490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.2 490.4 492.1 494.6 496.9 498.8 500.3 500.8 499.1 494.5 490.9 487.4 480.9 475.0 470.6 466.6 463.3 462.1 462.4 463.3 465.0 466.1 467.0 467.2 467.2 467.2 467.2 467.0 466.8 466.7 466.4 466.2 466.0 465.9 466.0 466.3 466.5 467.0 467.6 468.1 468.9 469.1 469.4 469.4 469.6 469.9 470.1 470.2 470.2 470.2 469.9 469.9 469.7 469.6 469.1 468.9 468.6 468.3 468.3 468.3 468.5 469.0 469.5 470.4 471.9 474.4 478.2 484.0 492.6 499.6 506.9 516.5 531.2 541.8 553.5 564.3 574.8 585.2 596.0 615.8 631.1 631.5 627.9 625.1 622.7 621.5 621.2 620.8 620.8 620.2 619.0 618.4 617.1 615.7 615.0 614.4 614.0 614.1 614.6 615.4 616.8 618.2 619.6 620.8 621.7 623.0 623.6 623.9 624.6 625.0 625.4 625.9 626.2 626.5 626.9 626.9 627.1 627.2 626.9 626.6 626.2 625.9 625.6 625.2 624.8 624.1 623.2 622.1 620.8 619.6 618.2 616.3 614.9 613.7 613.7 614.4 617.6 621.5 626.2 631.1 635.9 641.0 647.0 653.8 661.4 670.8 680.3 689.2 697.1 706.6 716.0 715.6 715.6 715.2 713.8 713.5 713.5 713.3 712.4 710.9 708.8 706.8 705.1 703.3 701.4 699.7 698.1 696.7 694.4 693.1 691.9 691.0 690.2 689.8 689.2 689.0 689.6 690.6 692.0 693.9 695.6 697.2 698.9 700.9 702.1 703.5 704.1 704.5 704.5 704.3 703.7 702.9 702.0 700.8 699.7 699.0 698.3 697.2 695.8 694.8 694.2 693.6 693.3 693.0 692.6 692.4 692.4 692.6 693.0 693.6 694.3 695.0 696.0 697.4 698.5 699.3 700.1 700.4 700.5 700.5 700.5 700.2 699.9 699.7 699.3 698.7 698.2 696.7 695.2 692.8 690.4 686.5 682.5 677.9 670.4 663.6 656.2 649.8 642.9 635.5 627.9 619.5 612.5 605.7 600.1 595.5 590.0 586.7 583.6 580.9 582.9 586.0 592.1 596.1 597.7 598.8 598.8 598.5 598.7 598.9 598.6 598.1 596.9 595.2 593.8 592.1 591.0 589.8 588.1 586.8 585.8 584.8 583.9 583.5 583.2 582.9 582.5 582.3 582.3 582.4 582.9 583.2 583.9 585.0 586.0 586.9 587.5 587.8 588.1 588.5 588.8 589.1 589.4 589.7 589.4 589.4 588.8 588.7 588.7 588.7 588.7 588.7 588.7 588.5 588.2 587.8 587.6 587.3 587.0 587.0 587.0 587.3 587.3 587.7 588.0 588.2 588.6 589.1 589.5 589.7 589.9 590.0 590.0 589.6 589.2 588.2 587.3 585.7 584.6 583.2 581.8 580.2 579.2 578.7 578.4 578.4 578.7 579.4 580.6 582.3 584.0 586.0 588.7 590.7 592.7 595.9 600.2 605.2 609.8 615.0 619.3 622.6 625.7 628.0 630.2 632.8 635.0 637.0 637.9 637.9 637.5 637.5 636.9 635.6 633.9 632.5 631.3 629.8 628.4 626.8 624.9 623.3 621.5 619.4 618.0 616.3 615.1 613.9 613.0 612.4 612.3 612.7 613.8 615.2 616.9 618.7 620.5 622.7 624.8 626.6 629.5 631.7 633.5 635.0 636.2 637.3 637.5 637.3 636.9 636.4 635.7 634.6 632.8 630.9 629.0 626.5 624.4 622.6 620.8 618.3 616.5 615.0 613.1 612.2 611.9 612.1 612.6 613.4 614.6 616.4 618.7 620.5 622.3 624.7 626.2 627.4 628.8 630.3 630.8 631.2 631.3 630.9 630.2 629.6 628.8 627.5 626.3 625.1 623.8 622.6 621.5 620.6 619.9 618.9 618.2 617.7 617.4 617.1 616.9 616.9 617.0 617.4 618.1 618.8 619.5 620.1 621.0 622.6 623.5 624.7 625.9 626.7 627.1 627.6 627.9 627.5 627.2 626.8 626.3 626.6 626.9 627.5 629.1 630.0 630.5 631.2 631.0 630.5 629.7 627.5 622.3 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7 618.7", + "f0_timestep": "0.005" + }, + { + "offset": 241.793, + "text": "AP 啦 啦 SP", + "ph_seq": "AP l a l a SP", + "ph_dur": "0.216 0.06 0.615 0.075 2.413 0.069", + "ph_num": "2 2 1 1", + "note_seq": "rest F5 D#5 rest", + "note_dur": "0.276 0.69 2.413 0.069", + "note_slur": "0 0 0 0", + "f0_seq": "694.8 694.8 694.8 694.8 694.8 694.8 694.8 694.8 694.8 694.8 694.8 694.8 694.8 694.8 694.8 694.8 694.8 694.8 694.8 694.8 694.8 694.8 694.8 694.8 694.8 694.8 694.8 694.8 694.8 694.8 694.8 694.8 694.8 694.8 694.8 694.8 694.8 694.8 694.8 694.8 694.8 694.8 694.8 694.8 694.8 694.8 694.8 700.3 714.5 728.3 739.8 748.7 753.4 751.4 746.0 736.4 721.0 709.0 699.8 694.2 690.8 689.4 690.2 693.1 696.8 700.6 703.7 705.8 708.0 709.0 709.0 708.6 707.6 706.1 704.7 702.9 701.6 700.7 699.5 698.5 697.7 696.7 696.0 694.8 694.4 694.0 693.6 693.6 693.6 693.9 694.0 694.3 694.6 694.8 695.0 695.2 695.3 695.7 696.1 696.4 696.4 696.9 697.2 697.6 698.2 698.5 698.7 699.1 699.5 699.9 700.1 700.1 700.0 699.7 699.7 699.7 699.7 699.7 699.0 698.5 698.1 697.7 697.7 697.3 697.0 696.8 696.6 696.0 695.5 695.1 694.4 694.0 693.6 693.2 693.2 693.2 693.2 693.2 693.5 693.9 694.2 694.6 695.2 696.1 697.1 697.7 698.1 698.1 698.5 699.4 700.1 700.4 700.7 700.9 701.2 701.5 701.7 701.4 700.9 700.3 700.0 699.4 698.7 697.7 695.2 693.2 690.9 688.2 684.8 681.2 677.9 674.0 670.0 665.8 662.1 659.2 655.5 652.6 649.8 647.9 645.7 643.8 641.6 639.4 637.8 636.8 636.2 636.8 637.5 638.3 638.8 639.5 640.0 639.3 637.4 636.1 634.2 632.3 631.7 630.8 629.8 628.9 628.3 627.8 627.2 626.3 625.5 624.9 624.1 623.1 622.5 621.9 620.6 619.7 619.4 618.8 618.4 618.3 618.3 618.6 618.9 619.6 620.5 621.4 622.4 623.5 624.6 625.2 625.6 625.9 626.2 626.2 626.2 626.2 626.5 626.3 626.2 626.1 625.7 625.4 625.0 624.7 624.3 624.0 623.7 623.3 623.0 623.0 622.7 622.6 622.4 622.0 621.5 621.0 620.8 620.7 620.5 620.3 620.1 620.1 619.8 620.1 619.7 620.0 620.1 620.7 621.1 621.7 622.4 622.8 623.0 623.1 623.3 623.3 623.3 623.4 623.7 623.7 624.0 624.4 624.4 624.7 624.8 625.0 625.1 625.1 625.0 624.6 624.2 623.6 623.1 622.6 622.3 622.3 621.9 621.3 620.9 620.8 620.5 620.2 620.1 620.1 620.1 620.1 620.2 620.6 620.9 621.5 621.9 622.6 622.6 622.9 623.3 623.6 623.9 623.8 623.5 623.3 623.2 622.8 622.4 621.8 621.5 621.1 620.8 620.8 620.8 620.8 620.8 620.8 620.8 620.8 621.0 621.4 621.8 622.4 622.7 623.2 623.8 624.1 624.4 624.7 624.8 625.1 624.8 623.9 622.8 622.1 621.5 620.8 620.1 619.5 618.8 617.8 617.6 617.6 617.2 617.6 617.6 617.6 617.6 617.9 618.4 619.0 619.7 620.5 621.0 621.3 621.7 622.0 622.4 623.3 624.5 625.1 625.7 626.6 626.6 626.8 626.7 626.4 625.8 625.0 624.1 623.3 622.7 622.0 620.9 620.3 619.7 619.1 618.7 618.1 617.7 617.6 617.6 617.8 618.0 618.1 618.7 619.3 620.0 621.2 622.1 623.1 623.7 624.4 625.1 625.4 626.2 626.5 626.3 626.2 625.9 625.3 624.8 624.3 623.8 623.2 622.9 622.6 621.8 621.2 620.3 619.4 619.1 618.8 618.5 618.3 618.5 618.7 618.8 619.2 619.4 619.5 620.1 620.6 621.2 621.9 622.3 622.3 622.3 622.5 622.9 623.2 623.5 623.9 624.1 624.1 624.1 623.9 623.6 623.3 623.3 623.3 623.3 622.7 622.3 622.0 621.7 621.5 621.4 621.0 620.4 619.7 619.7 619.7 619.7 619.4 619.4 619.4 619.4 619.4 619.7 619.7 620.0 620.3 620.5 620.8 621.5 622.1 622.4 622.7 623.3 623.7 623.7 624.1 624.4 624.8 624.8 625.0 624.9 625.0 625.1 625.1 625.0 624.7 624.3 623.6 623.2 622.5 621.9 621.4 620.8 620.5 620.2 619.8 619.5 619.4 619.2 619.2 619.4 619.5 619.8 620.3 620.9 621.5 622.4 623.3 624.2 625.1 625.4 626.1 626.5 626.9 627.2 627.3 627.1 626.9 626.8 626.5 625.9 625.4 624.8 623.7 623.0 622.3 621.7 621.3 620.9 620.6 620.3 620.1 619.9 619.9 620.1 620.2 620.5 620.9 621.2 621.9 621.9 622.5 622.6 622.9 623.2 623.5 623.9 624.3 624.6 624.9 625.2 625.5 625.4 625.1 624.7 624.1 623.8 623.1 622.4 622.0 621.4 621.2 620.7 620.1 619.5 618.8 618.3 618.3 618.3 618.4 618.7 619.0 619.7 620.1 620.7 621.1 621.4 621.8 622.1 622.6 623.3 623.8 624.2 624.5 624.8 624.7 624.1 624.1 624.1 623.8 623.9 623.8 623.5 623.3 623.3 623.3 623.2 623.0 622.9 622.4 621.7 620.8 619.6 618.7 617.8 617.0 616.9 617.2 617.7 618.8 619.7 620.8 621.9 622.9 623.9 624.6 625.2 625.5 625.6 625.9 625.9 625.5 625.5 624.8 624.1 623.8 623.3 622.8 622.3 621.8 621.3 620.7 620.0 618.8 618.0 617.2 617.2 617.2 617.5 618.2 619.3 620.8 622.6 624.6 626.4 627.8 629.2 630.9 631.9 632.8 633.9 633.9 633.5 632.3 630.6 629.0 628.3 628.6 632.6 647.0 652.7 639.0 639.0 639.0 639.0 639.0 639.0 639.0 639.0 639.0 639.0 639.0 639.0 639.0 639.0 639.0 639.0 639.0 639.0 639.0", + "f0_timestep": "0.005" + }, + { + "offset": 246.297, + "text": "SP AP 啦 啦 啦 啦 啦 SP", + "ph_seq": "SP AP l a l a l a l a l a SP", + "ph_dur": "0.155 0.4 0.045 0.284 0.06 0.285 0.06 0.285 0.06 0.112 0.06 1.897 0.345", + "ph_num": "1 2 2 2 2 2 1 1", + "note_seq": "rest rest A#5 G#5 G5 F5 D#5 rest", + "note_dur": "0.2 0.4 0.344 0.345 0.345 0.172 1.897 0.345", + "note_slur": "0 0 0 0 0 0 0 0", + "f0_seq": "791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 791.3 808.5 833.0 862.9 890.6 905.3 910.8 910.5 908.6 906.1 902.7 896.9 894.3 893.3 894.9 902.1 909.1 916.5 924.7 929.3 932.1 934.2 935.6 935.9 935.3 934.2 932.5 931.1 930.2 929.5 929.1 928.7 928.6 929.0 929.5 930.0 930.8 931.8 932.5 933.3 934.2 934.8 935.7 936.1 937.4 938.3 938.3 938.8 939.7 939.5 938.6 937.0 933.8 930.4 926.4 921.6 916.8 911.5 905.8 897.3 891.3 882.0 871.9 860.9 852.2 845.0 836.4 829.7 824.6 820.4 817.8 817.1 818.3 821.3 825.0 830.4 836.9 842.0 843.2 844.0 843.5 842.4 841.6 840.9 839.9 838.4 836.9 835.3 833.3 830.6 829.3 827.7 825.7 824.9 823.7 823.1 822.6 822.9 823.3 823.8 824.6 825.1 825.8 826.8 827.7 828.9 830.0 831.8 833.0 834.5 835.9 836.4 837.2 837.7 838.2 838.0 837.1 835.7 833.7 831.4 828.7 826.3 823.7 820.6 818.2 814.1 810.2 809.1 807.6 806.3 805.4 804.8 804.9 805.4 806.0 806.7 807.2 808.2 809.1 810.2 812.0 813.5 814.3 814.5 814.5 814.1 813.4 811.6 809.6 807.0 804.2 801.6 798.6 796.2 793.7 791.8 790.1 788.5 786.6 784.9 783.8 782.9 782.0 781.1 780.4 779.9 779.7 779.5 779.5 779.5 779.6 780.0 780.4 781.0 781.7 782.9 783.7 785.0 786.0 786.5 787.3 788.2 789.0 789.6 790.0 790.2 789.9 789.9 789.3 788.5 787.6 786.5 784.8 782.3 779.6 775.9 772.3 768.7 764.9 760.5 755.0 750.2 745.5 740.9 737.3 734.5 730.9 726.4 723.3 720.2 716.7 713.5 711.1 709.7 708.9 708.0 707.7 707.2 706.3 705.6 704.9 704.3 702.9 701.6 700.3 699.1 697.8 696.5 695.4 694.2 692.6 691.1 689.5 687.3 685.3 683.3 679.6 677.0 673.1 670.5 666.1 662.9 658.7 652.2 647.1 642.7 639.0 636.4 634.8 633.8 633.4 632.7 632.3 632.0 632.0 632.4 632.4 632.4 632.1 631.8 631.5 630.9 630.3 629.4 628.3 627.1 626.1 624.9 623.7 622.5 620.8 619.6 618.5 616.9 615.4 614.6 614.2 613.9 613.9 614.4 615.3 616.3 617.4 618.3 619.7 621.2 622.6 623.5 625.1 626.0 626.7 627.5 628.4 629.1 629.6 630.0 630.0 629.4 628.9 628.0 627.1 626.2 625.6 624.4 623.5 622.6 621.4 620.2 619.1 618.3 617.4 616.7 616.4 616.2 616.4 617.0 617.6 618.2 619.4 620.3 621.3 622.4 623.2 623.8 624.4 625.0 625.5 625.9 625.9 626.1 625.8 625.4 625.1 624.4 624.1 623.5 623.0 622.7 622.1 621.9 621.7 621.4 621.2 621.0 620.8 620.9 621.2 621.2 621.5 621.5 621.5 621.5 621.8 622.4 622.8 623.4 623.9 624.2 624.6 624.8 624.8 624.8 624.8 625.1 624.8 625.1 625.1 624.8 624.5 624.1 623.8 623.2 622.6 621.7 620.8 620.3 620.1 620.1 620.0 619.7 619.4 619.0 619.0 619.3 619.4 619.7 620.0 620.3 620.6 621.2 622.0 623.0 624.0 624.8 625.6 626.2 627.1 627.7 628.0 628.4 628.4 628.2 627.6 626.7 625.8 625.1 624.4 623.7 622.9 621.7 620.8 619.2 618.3 617.6 616.5 615.8 615.5 615.5 615.7 616.5 617.4 618.8 620.5 621.5 622.5 623.5 624.5 624.8 625.1 625.6 625.9 626.5 626.9 627.2 627.5 627.7 627.5 626.9 626.4 625.9 625.2 624.5 623.9 623.0 621.7 620.5 619.6 618.3 618.0 617.4 617.2 617.5 618.0 618.8 619.9 620.8 621.3 621.7 622.3 623.0 623.3 624.1 624.4 624.4 624.7 624.8 624.5 624.2 623.9 623.5 623.3 623.2 623.0 623.0 623.0 622.9 622.6 622.2 621.9 621.6 621.3 620.6 620.2 619.9 620.0 620.3 620.6 620.9 621.2 621.4 622.0 622.3 623.0 623.3 623.6 623.7 623.7 624.0 623.8 623.7 623.7 623.5 623.2 622.8 622.5 622.1 621.5 621.1 620.8 620.8 620.5 620.5 620.2 620.1 619.8 619.7 619.7 619.7 619.7 619.7 619.9 620.2 620.6 621.3 621.9 622.4 623.0 623.6 624.2 625.0 625.6 625.9 625.9 625.4 625.0 624.4 623.4 622.3 621.4 620.5 619.2 618.3 617.7 617.0 616.3 615.9 615.6 615.7 615.8 616.2 616.8 617.6 619.1 620.2 620.9 621.2 621.7 622.3 622.6 623.0 623.3 623.3 623.3 623.1 622.8 622.3 621.8 621.4 620.9 620.4 619.9 619.2 618.3 617.8 617.2 616.9 616.6 616.8 617.1 617.7 618.2 618.7 619.4 620.1 621.1 622.3 623.1 623.7 624.9 625.5 626.6 627.2 628.2 629.0 629.1 628.3 627.3 626.4 625.4 624.1 622.9 621.7 620.6 619.5 618.0 616.5 614.5 609.8 605.1 598.6 590.0 582.4 571.6 552.0 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9 534.9", + "f0_timestep": "0.005" + }, + { + "offset": 250.069, + "text": "AP 啦 啦 啦 啦 SP", + "ph_seq": "AP l a l a l a l a SP", + "ph_dur": "0.201 0.075 0.24 0.105 0.269 0.075 0.413 0.105 2.241 0.5", + "ph_num": "2 2 2 2 1 1", + "note_seq": "rest A#4 D#5 D5 D#5 rest", + "note_dur": "0.276 0.345 0.344 0.518 2.241 0.5", + "note_slur": "0 0 0 0 0 0", + "f0_seq": "493.0 493.0 493.0 493.0 493.0 493.0 493.0 493.0 493.0 493.0 493.0 493.0 493.0 493.0 493.0 493.0 493.0 493.0 493.0 493.0 493.0 493.0 493.0 493.0 493.0 493.0 493.0 493.0 493.0 493.0 493.0 493.0 493.0 493.0 493.0 493.0 493.0 493.0 493.0 493.0 493.0 496.5 502.3 504.1 505.5 506.9 509.5 511.8 514.3 516.7 518.7 518.7 517.3 513.4 507.2 499.5 493.2 485.1 476.9 471.8 467.0 464.6 463.9 463.5 463.7 463.7 464.0 464.2 464.3 464.3 464.5 464.8 465.0 465.2 465.4 465.6 465.6 465.6 465.6 465.6 465.7 465.9 466.3 466.7 467.2 467.6 468.6 469.2 469.7 469.9 469.9 469.8 469.6 469.2 468.4 468.0 467.5 467.5 467.5 467.3 466.8 466.1 465.7 465.4 465.5 465.8 466.2 466.8 467.8 469.9 473.4 478.2 484.8 494.5 504.6 512.1 524.2 536.9 550.4 562.9 577.1 590.6 604.1 619.1 624.8 623.8 622.3 621.0 620.0 619.7 619.7 619.0 618.7 618.0 616.8 615.8 614.8 613.7 612.3 611.0 610.3 609.7 609.7 610.3 610.9 612.3 614.4 615.9 617.3 618.7 620.7 622.1 623.3 624.6 625.7 626.5 627.0 627.4 627.7 627.7 627.3 627.3 626.6 626.0 625.5 624.6 623.9 623.3 622.4 621.2 619.9 618.5 616.6 614.4 612.6 610.5 608.2 607.0 606.1 604.9 604.3 604.0 604.1 604.6 605.1 605.8 606.5 606.6 606.8 607.0 607.0 607.0 607.0 606.3 604.9 604.0 603.6 602.9 602.5 602.0 601.1 599.7 598.3 597.1 595.8 594.0 592.8 591.2 590.4 589.0 588.0 587.2 585.6 585.1 584.3 583.6 583.1 582.8 582.5 582.3 582.5 583.2 583.8 584.6 586.5 587.7 588.5 590.0 590.6 591.2 591.6 592.0 592.3 592.4 592.3 591.9 591.6 591.3 590.7 589.9 589.4 589.0 588.3 588.0 588.0 588.0 587.8 587.7 587.7 587.7 587.7 587.8 588.1 588.8 589.2 589.8 590.4 590.8 591.1 591.1 591.1 590.8 590.7 590.5 590.4 590.2 589.9 589.6 589.1 588.5 587.9 587.3 586.5 585.6 585.4 584.6 584.6 584.4 584.5 585.0 585.9 586.7 587.5 588.5 589.5 590.7 592.1 593.4 594.8 596.6 598.6 601.4 604.0 606.6 610.3 614.0 618.7 624.1 627.7 629.7 631.0 631.3 631.3 631.1 630.2 629.3 628.4 627.2 626.0 624.7 623.7 622.5 621.0 619.4 617.6 616.1 614.8 613.8 613.2 612.6 612.7 613.0 613.9 614.6 615.6 617.0 618.2 619.7 621.3 622.8 624.2 625.5 626.7 627.9 628.8 629.9 630.2 630.2 629.8 629.5 628.9 628.3 627.2 626.5 625.7 624.6 623.7 622.9 621.9 621.0 620.2 618.8 618.0 616.7 615.8 615.5 615.2 615.4 615.7 616.2 617.2 618.5 619.7 620.8 621.8 623.0 623.9 624.8 625.6 626.2 626.5 627.2 627.3 627.3 627.1 626.7 626.1 625.7 625.1 624.3 623.8 623.2 622.5 621.8 621.2 620.8 620.5 620.1 619.8 619.5 619.1 618.8 618.7 618.7 618.8 619.0 619.1 619.4 619.6 620.2 620.8 621.7 622.3 622.6 623.1 623.6 623.9 624.1 624.1 623.8 623.7 623.5 622.9 622.6 622.6 622.3 621.8 621.2 620.8 620.5 620.7 621.4 621.8 622.2 622.3 622.4 622.6 622.6 622.6 622.7 623.0 623.3 623.0 623.0 623.0 622.6 622.6 622.4 622.0 621.9 621.9 622.0 622.1 621.8 621.4 621.1 620.7 620.3 619.7 619.7 619.4 619.7 619.7 619.7 620.2 620.7 621.2 622.1 623.2 623.9 624.6 625.4 625.9 626.2 626.3 626.6 626.6 626.6 626.6 626.3 626.0 625.3 624.7 623.9 622.9 621.5 620.1 619.0 617.3 616.0 615.4 615.1 615.4 615.8 616.4 617.2 618.7 620.0 621.1 622.3 623.4 624.3 625.1 626.0 626.7 627.0 627.3 627.6 628.0 627.7 627.7 627.4 626.7 626.1 625.5 624.8 624.1 623.3 622.3 621.2 620.2 619.0 618.3 617.6 616.9 616.3 616.2 616.5 616.8 617.4 618.5 619.4 620.2 621.2 622.1 622.8 623.4 623.8 624.1 624.1 624.1 624.1 623.8 623.9 623.8 623.7 623.5 623.3 623.0 622.4 622.0 621.4 621.2 621.1 620.8 620.5 620.5 620.2 620.4 621.0 621.5 621.8 621.7 621.7 622.1 622.5 623.1 623.5 623.8 624.1 624.4 625.1 625.1 625.1 625.1 624.2 623.8 623.3 622.4 621.4 620.4 619.5 618.9 618.7 618.7 618.7 619.1 619.4 619.7 619.7 620.0 620.6 621.2 622.0 622.5 622.6 622.8 623.2 623.5 623.8 624.3 624.8 624.8 624.8 624.8 624.8 625.1 625.1 625.4 625.5 625.3 625.1 625.0 624.5 624.0 623.3 622.5 622.1 621.2 620.8 620.1 619.8 619.0 618.7 618.7 618.7 618.8 619.2 619.5 619.9 620.2 620.6 620.8 620.8 620.8 620.8 621.1 621.9 622.5 622.9 623.4 624.1 625.1 625.9 626.6 626.9 626.9 626.9 626.6 625.8 625.5 624.8 623.7 623.0 622.4 621.5 620.4 619.6 619.0 618.3 617.8 617.6 617.6 617.7 618.5 619.1 619.7 620.6 621.2 621.5 621.9 622.5 622.9 623.4 623.7 623.9 624.2 624.4 624.4 624.4 624.4 624.1 623.3 623.0 622.1 620.8 619.6 618.5 617.8 617.0 616.3 616.2 616.2 616.7 617.5 618.1 619.0 619.9 620.5 621.5 622.3 623.3 623.9 624.5 625.3 625.5 625.5 625.1 624.4 623.6 622.3 620.9 619.5 618.1 616.9 615.2 614.0 613.2 612.7 612.9 613.2 614.0 615.0 616.7 619.0 621.3 623.5 625.9 627.7 629.5 631.7 633.5 634.4 635.2 635.6 636.0 635.8 636.8 637.2 632.9 628.0 626.8 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2 626.2", + "f0_timestep": "0.005" + } +] \ No newline at end of file diff --git a/samples/03_撒娇八连.ds b/samples/03_撒娇八连.ds new file mode 100644 index 0000000..4a7ce95 --- /dev/null +++ b/samples/03_撒娇八连.ds @@ -0,0 +1,14 @@ +[ + { + "offset": 0.047, + "text": "AP 好 不 好 嘛 SP AP 求 SP 求 你 啦 SP AP 拜 托 SP 拜 托 SP 行 不 行 呀 AP 我 不 管 嘛 SP AP 你 最 好 啦 AP 我 爱 你 呀 AP 人 家 要 嘛 SP", + "ph_seq": "AP h ao b u h ao m a SP AP q iu SP q iu n i l a SP AP b ai t uo SP b ai t uo SP x ing b u x ing y a AP w o b u g uan m a SP AP n i z ui h ao l a AP w o ai n i y a AP r en j ia y ao m a SP", + "ph_dur": "0.1316 0.0554 0.1758 0.0592 0.19 0.103 0.1838 0.1382 0.557 0.0004 0.4 0.0676 0.176 0.0293 0.0877 0.1808 0.1122 0.24 0.17 0.411 0.0067 0.4 0.0323 0.1498 0.1142 0.176 0.0305 0.0865 0.3818 0.1162 0.439 0.012 0.135 0.2269 0.0361 0.2242 0.0988 0.2586 0.1214 0.469 0.315 0.095 0.154 0.051 0.1989 0.0361 0.3526 0.1164 0.38 0.083 0.4 0.045 0.1189 0.0861 0.2053 0.0877 0.2783 0.0727 0.411 0.35 0.06 0.2009 0.4739 0.1162 0.233 0.06 0.293 0.291 0.06 0.2759 0.0761 0.1841 0.0499 0.5192 0.0668 0.469 0.5", + "ph_num": "2 2 2 2 1 1 2 1 2 2 2 1 1 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 1 2 1 2 2 1 2 2 2 2 1 1", + "note_seq": "rest F4 B4 F4 E4 rest rest G#4 rest C#5 F#4 F4 rest rest F#4 G4 rest G4 F#4 F#4 rest F4 C5 E4 E4 rest F#4 A#4 G#4 E4 F#4 rest rest F#4 C#5 F#4 F#4 rest F#4 C#5 F4 E4 rest D4 G#4 B4 D#4 rest", + "note_dur": "0.187 0.235 0.293 0.322 0.557 0.068 0.4 0.176 0.117 0.293 0.41 0.411 0.039 0.4 0.264 0.176 0.117 0.117 0.293 0.439 0.147 0.263 0.323 0.38 0.469 0.41 0.205 0.235 0.176 0.293 0.38 0.128 0.4 0.205 0.293 0.351 0.411 0.41 0.263 0.528 0.293 0.293 0.351 0.352 0.205 0.586 0.469 0.5", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "367.4 367.4 367.4 367.4 367.4 367.4 367.4 367.4 367.4 367.4 367.4 367.4 367.4 367.4 367.4 367.4 367.4 367.4 367.4 367.4 367.4 367.4 367.4 367.4 367.4 367.4 367.4 367.4 367.4 367.4 367.4 367.4 367.4 367.4 367.4 367.4 367.4 367.5 367.9 367.3 366.0 363.4 361.2 360.0 357.6 354.9 353.6 352.5 351.6 350.8 350.4 350.0 349.0 348.0 346.7 345.7 345.5 345.1 344.0 344.0 343.9 343.0 342.4 341.8 340.5 338.4 337.7 339.5 342.2 345.7 348.1 348.1 348.9 354.1 359.3 364.7 370.1 375.7 381.3 387.0 392.7 398.6 404.6 410.6 416.7 422.9 429.2 435.7 442.2 448.8 455.4 454.9 451.2 450.2 450.0 453.0 460.3 471.7 478.6 483.6 488.0 492.9 499.6 504.6 507.2 510.3 513.1 520.9 533.6 531.7 529.8 527.9 526.0 524.2 522.3 520.5 518.6 516.8 515.0 513.1 511.3 509.5 507.7 505.9 504.1 502.3 500.6 498.8 497.0 495.3 493.5 491.8 490.0 488.3 486.5 484.8 483.1 481.4 479.7 478.0 476.3 476.5 473.8 469.3 465.0 457.3 447.7 437.3 429.9 423.8 418.0 412.3 407.0 401.2 397.7 394.4 391.4 388.7 386.1 383.7 381.3 379.4 377.2 375.2 373.4 371.6 369.9 368.3 366.7 365.3 363.9 362.8 361.8 361.0 360.3 359.8 359.1 358.3 357.2 356.2 355.5 355.0 354.5 354.2 353.7 353.2 352.6 352.0 351.3 350.6 349.8 349.1 348.2 347.0 345.4 343.5 341.8 340.2 338.4 338.2 339.3 340.4 341.1 341.3 341.3 340.8 340.5 340.4 340.1 339.8 339.3 338.5 337.5 337.1 336.8 336.7 336.4 335.6 335.4 335.3 335.8 336.1 338.0 339.3 337.9 336.6 336.7 336.2 336.3 336.7 337.1 337.7 338.3 339.0 339.2 339.4 339.6 339.6 339.6 340.1 340.2 340.1 340.2 340.1 339.8 339.6 339.4 339.3 339.0 338.8 338.7 338.6 338.4 338.1 338.1 337.5 337.1 336.8 336.6 336.4 336.4 336.2 336.0 336.1 336.0 336.0 336.1 336.4 336.4 336.2 336.3 336.1 336.0 335.8 335.5 334.8 334.6 334.1 333.8 333.7 333.5 333.1 333.3 332.7 332.5 332.5 332.4 332.3 332.2 332.0 331.7 331.2 330.9 330.5 330.1 329.9 329.5 328.9 328.6 327.9 326.8 325.8 325.1 324.3 323.6 322.5 321.4 321.3 321.3 321.4 322.1 324.2 325.7 326.0 326.4 326.4 326.6 327.5 328.5 328.3 328.1 327.7 327.3 327.0 327.1 327.4 326.8 327.6 328.5 329.4 330.3 331.1 332.0 332.9 333.8 334.7 335.5 336.4 337.3 338.2 339.1 340.0 340.9 341.8 342.7 343.6 344.5 345.5 346.4 347.3 348.2 349.1 350.1 351.0 351.9 352.8 353.8 354.7 355.7 356.6 357.5 358.5 359.4 360.4 361.3 362.3 363.3 364.2 365.2 366.2 367.1 368.1 369.1 370.1 371.0 372.0 373.0 374.0 375.0 376.0 377.0 378.0 379.0 380.0 381.0 382.0 383.0 384.0 385.0 386.1 387.1 388.1 389.1 390.2 391.2 392.2 393.3 394.3 395.4 396.4 397.5 398.5 399.6 400.6 401.7 402.8 403.8 404.9 406.0 407.0 408.1 409.2 410.3 411.4 412.5 413.6 414.6 410.0 398.8 395.2 392.2 390.0 389.2 389.5 390.4 391.8 394.0 396.9 401.3 405.9 408.3 410.8 413.2 414.7 415.5 418.4 422.8 427.1 434.9 437.1 429.5 432.4 435.3 438.2 441.1 444.1 447.0 450.0 453.0 456.0 459.1 462.1 465.2 468.3 471.4 474.6 477.7 480.9 484.1 487.4 490.6 493.9 497.2 500.5 503.9 507.2 510.6 514.0 517.4 520.9 524.4 527.9 531.4 536.8 540.0 541.0 541.4 541.4 541.9 542.5 542.9 543.6 544.5 545.3 546.1 547.9 549.6 551.4 552.8 553.7 554.4 554.3 554.0 554.3 554.4 554.2 553.7 553.0 551.8 550.2 548.1 545.8 543.3 540.2 537.1 535.3 534.6 535.1 535.4 535.0 534.2 533.3 531.7 529.8 527.8 525.5 523.0 520.7 518.4 516.0 512.9 510.7 508.7 506.6 504.0 501.5 499.4 497.0 495.1 492.0 488.5 485.0 481.3 477.6 474.0 469.7 467.0 463.9 459.3 454.2 449.4 445.4 441.8 439.4 436.5 432.6 429.0 426.2 424.4 422.8 418.2 415.6 413.9 409.1 404.4 402.6 400.5 398.4 395.5 393.3 391.3 389.3 387.6 386.6 385.7 384.2 382.6 381.4 380.4 379.1 377.2 376.5 375.7 375.0 373.9 372.9 372.0 371.1 370.4 369.4 367.8 366.6 365.9 365.4 365.1 365.1 364.6 364.0 363.4 362.9 362.4 361.9 361.5 361.5 362.0 363.0 363.8 364.4 364.8 364.9 364.7 363.3 362.7 363.5 365.5 367.4 368.3 368.5 368.9 367.2 365.4 363.6 361.5 359.7 359.0 358.7 358.3 357.8 357.3 356.8 356.5 356.3 356.2 356.2 356.2 356.3 356.4 356.6 356.6 356.6 356.6 356.4 356.1 355.5 355.0 354.5 354.0 353.3 352.9 352.7 352.5 352.1 351.8 351.5 350.9 350.5 350.2 349.8 349.5 349.2 348.8 348.3 348.0 347.6 347.3 347.0 346.4 345.6 344.4 343.4 342.4 341.6 341.0 340.4 339.7 339.1 338.6 338.1 337.8 337.7 337.4 337.0 337.1 337.3 337.3 337.7 338.2 338.4 338.9 340.5 341.8 344.0 346.4 348.6 350.6 353.0 356.8 361.8 361.9 362.5 362.9 363.2 363.4 363.7 363.9 364.2 364.4 364.6 364.9 365.1 365.4 365.6 365.9 366.1 366.4 366.6 366.8 367.1 367.3 367.6 367.8 368.1 368.3 368.6 368.8 369.1 369.3 369.5 369.8 370.0 370.3 370.5 370.8 371.0 371.3 371.5 371.8 372.0 372.3 372.5 372.8 373.0 373.3 373.5 373.8 374.0 374.3 374.5 374.8 375.0 375.3 375.5 375.8 376.0 376.3 376.5 376.8 377.0 377.3 377.5 377.8 378.0 378.3 378.5 378.8 379.0 379.3 379.5 379.8 380.0 380.3 380.6 380.8 381.1 381.3 381.6 381.8 382.1 382.3 382.6 382.8 383.1 383.4 383.6 383.9 384.1 384.4 384.6 384.9 385.2 385.4 385.7 385.9 386.2 386.4 383.6 375.9 368.7 366.6 365.2 363.6 362.4 361.6 361.4 361.5 362.2 363.0 363.8 364.5 365.1 365.5 365.5 365.5 366.2 366.7 367.8 369.0 369.2 367.9 367.2 364.2 360.0 356.0 356.8 361.6 366.9 367.4 368.9 370.4 371.9 373.4 374.8 376.3 377.9 379.4 380.9 382.4 383.9 385.5 387.0 388.6 390.1 391.7 393.3 394.8 396.4 398.0 399.6 401.2 402.8 404.4 406.0 407.9 409.5 407.9 406.3 404.4 401.7 399.0 396.8 394.9 393.1 391.8 390.4 389.1 388.1 387.5 387.1 386.8 386.8 386.8 386.8 386.7 386.4 385.9 385.4 384.8 383.7 382.2 377.6 370.7 372.4 377.4 376.7 370.2 367.7 367.7 369.3 371.7 374.1 376.5 379.0 381.4 383.9 386.4 388.9 391.4 394.0 396.5 399.1 401.7 404.3 403.5 400.6 398.4 397.5 396.8 396.2 395.3 394.4 393.6 393.0 392.2 391.8 391.6 391.4 391.2 391.0 390.8 390.6 390.4 390.0 389.4 388.7 387.9 387.1 386.2 385.3 384.2 382.7 381.0 379.4 378.1 376.9 375.8 375.3 374.7 374.1 373.1 371.6 369.6 367.7 365.7 364.7 364.1 363.4 362.5 361.3 360.4 359.7 359.0 358.6 358.1 356.7 354.6 354.8 353.1 350.9 350.0 347.8 346.7 347.3 347.9 348.6 349.2 349.9 350.5 351.1 351.8 352.5 353.1 353.8 354.4 355.1 355.7 356.4 357.0 357.7 358.4 359.0 359.7 360.4 361.0 361.7 362.4 363.0 363.7 364.4 365.1 365.7 366.4 367.1 367.8 368.5 369.1 369.8 370.5 371.2 371.9 372.6 376.0 379.1 381.5 382.7 382.5 381.3 379.9 377.6 375.0 373.5 372.2 371.1 370.2 369.4 368.5 367.6 366.6 365.4 364.3 363.2 362.0 360.7 359.9 359.5 359.5 359.5 359.5 359.5 359.7 359.7 360.0 360.4 360.6 360.6 360.5 360.5 360.3 360.2 360.1 360.1 360.1 360.1 360.1 360.1 359.9 359.6 359.1 358.5 358.0 357.5 357.0 356.6 356.6 356.7 356.9 357.3 357.9 358.4 358.6 358.8 359.0 359.2 359.0 358.6 358.1 357.4 356.7 356.2 355.5 354.8 354.0 353.5 352.9 352.2 351.5 350.6 349.9 349.6 349.4 348.3 348.2 348.2 346.6 344.9 344.8 347.3 356.6 357.4 356.6 355.9 355.8 355.9 356.0 356.1 356.1 356.2 356.3 356.4 356.5 356.6 356.7 356.8 356.9 356.9 357.0 357.1 357.2 357.3 357.4 357.5 357.6 357.6 357.7 357.8 357.9 358.0 358.1 358.2 358.3 358.4 357.6 353.5 351.7 347.8 344.6 341.8 339.2 336.7 334.8 334.0 333.7 333.3 333.0 332.7 332.2 331.6 331.0 330.0 329.7 329.2 329.0 328.9 329.1 329.4 330.4 331.3 332.8 335.2 337.8 340.4 343.2 346.2 348.4 351.0 354.1 358.0 362.0 365.1 367.4 369.6 372.3 375.2 378.4 382.1 386.2 389.5 390.1 389.9 388.0 397.4 415.7 434.8 454.8 475.7 489.6 502.6 498.6 487.1 481.7 479.8 479.8 482.6 489.3 495.9 500.7 504.1 507.5 510.9 514.9 519.1 522.9 526.0 528.5 531.2 534.2 536.6 539.5 543.8 548.5 553.2 558.3 563.4 568.3 573.7 577.1 580.7 588.1 597.3 604.5 600.0 595.5 591.1 586.6 582.2 577.9 573.6 569.3 565.0 560.8 556.6 552.4 548.3 544.2 540.1 536.0 532.0 528.0 524.1 520.2 516.3 512.4 508.6 504.8 501.0 497.2 493.5 489.8 486.1 482.5 478.9 471.8 465.0 460.0 456.6 452.6 447.4 442.5 435.5 428.5 422.1 414.6 404.2 397.5 392.7 385.9 381.5 379.6 376.0 370.0 368.1 363.7 360.6 357.0 352.9 349.6 347.5 344.6 342.3 340.4 338.8 336.6 333.6 332.4 331.3 331.3 330.5 327.1 325.1 324.5 324.0 323.5 323.0 322.9 322.7 323.1 324.0 325.1 326.2 326.5 326.0 325.1 324.2 323.3 322.8 322.5 322.5 322.6 323.3 324.0 324.6 324.7 324.2 323.8 323.0 322.3 322.0 322.3 322.8 323.3 324.0 324.7 325.7 326.2 326.1 325.7 325.5 325.3 325.3 325.4 325.5 325.6 325.7 326.0 326.6 327.4 328.5 329.7 330.9 331.5 331.6 331.7 331.5 331.4 331.2 330.9 330.3 329.5 328.7 328.1 327.0 326.3 325.7 325.0 324.4 324.1 323.6 323.1 322.6 322.2 322.0 321.9 321.8 321.9 321.3 321.0 320.5 319.8 319.4 319.2 319.0 319.0 319.0 318.7 318.1 317.7 317.4 317.2 316.9 316.5 316.1 315.6 314.7 313.8 313.3 312.4 311.6 311.4 310.2 309.6 309.7 309.8 310.3 311.3 311.8 311.8 312.2 312.6 312.7 312.6 311.8 310.8 309.6 308.6 308.3 308.8 308.8 309.7 310.6 311.5 312.4 313.3 314.3 315.2 316.1 317.0 317.9 318.9 319.8 320.7 321.7 322.6 323.6 324.5 325.5 326.4 327.4 328.3 329.3 330.2 331.2 332.2 333.1 334.1 335.1 336.1 337.1 338.0 339.0 340.0 341.0 342.0 343.0 344.0 345.0 346.0 347.0 348.1 349.1 350.1 351.1 352.2 353.2 354.2 355.2 356.3 357.3 358.4 359.4 360.5 361.5 362.6 363.6 364.7 365.8 366.8 367.9 369.0 370.1 371.1 372.2 373.3 374.4 375.5 376.6 377.7 378.8 379.9 381.0 382.1 383.3 383.8 378.8 370.7 366.3 366.4 365.7 365.0 362.2 360.7 359.0 355.8 354.3 353.3 354.1 355.3 355.3 352.8 350.1 349.2 348.4 349.2 349.9 353.0 355.9 357.8 358.8 359.9 360.1 359.9 359.3 358.7 358.2 357.9 358.1 358.4 359.3 359.8 359.7 359.5 359.3 359.7 361.1 361.6 362.1 362.2 361.1 359.7 358.7 358.2 357.0 356.1 355.3 354.3 353.4 352.3 350.6 348.6 345.9 348.2 354.0 360.9 366.0 369.3 372.1 374.8 377.4 380.0 383.3 387.5 391.1 394.5 401.8 410.5 420.7 431.9 438.6 438.7 440.6 441.3 445.3 448.4 450.5 451.9 452.6 452.6 452.4 452.4 452.4 452.2 451.8 451.0 450.5 449.7 449.7 451.4 451.7 452.8 452.0 448.4 449.2 449.2 449.1 461.6 470.3 470.4 470.5 470.6 470.7 470.8 470.9 471.0 470.5 467.1 455.8 444.9 435.7 428.3 424.6 423.8 424.3 425.6 427.5 427.5 426.7 424.4 421.5 418.9 416.4 414.8 413.8 413.0 412.2 411.2 409.8 408.4 406.3 403.9 401.6 399.3 397.0 395.0 393.1 390.9 388.2 386.1 383.8 381.5 379.3 377.0 374.3 371.6 368.8 365.6 362.6 359.8 357.2 354.9 352.7 351.0 349.7 348.3 347.0 345.7 344.2 342.8 340.7 338.7 336.7 334.3 331.7 329.6 327.5 326.4 325.5 324.6 323.5 322.8 325.5 327.9 328.1 327.5 327.4 327.4 327.6 327.8 328.2 328.9 329.2 329.4 329.4 329.2 328.7 328.1 327.7 327.6 328.2 329.5 332.0 336.4 342.0 340.7 339.2 338.3 337.7 337.5 337.7 338.0 338.7 339.4 340.0 340.9 341.9 343.1 344.3 345.8 347.5 349.7 351.9 353.8 355.7 357.5 359.2 361.1 362.9 364.2 365.3 366.4 367.4 368.3 369.6 370.6 371.7 372.7 373.5 374.3 375.3 375.8 376.4 376.8 377.0 377.0 376.8 376.4 376.0 375.6 375.4 374.8 374.2 373.6 372.9 372.4 371.8 371.4 370.7 370.0 369.3 368.6 367.9 367.3 366.8 366.1 365.4 364.6 363.6 362.6 361.5 360.3 359.3 358.5 358.0 358.1 359.3 361.8 363.5 365.4 366.8 367.4 367.2 366.6 365.3 368.5 369.2 369.4 369.5 369.6 369.7 369.9 370.0 370.1 370.2 370.4 370.5 370.6 370.7 370.9 371.0 371.1 371.2 371.4 371.5 371.6 371.7 371.9 372.0 372.1 372.3 372.4 372.5 372.6 372.8 372.9 373.0 373.1 373.3 373.4 373.5 373.6 373.8 373.9 374.0 374.1 374.3 374.4 374.5 374.7 374.8 374.9 375.0 375.2 375.3 375.4 375.5 375.7 375.8 375.9 376.1 376.2 376.3 376.4 376.6 376.7 376.8 376.9 377.1 377.2 377.3 377.5 377.6 377.7 377.8 378.0 378.1 378.2 378.4 378.5 378.6 378.7 378.9 379.0 379.1 379.3 379.4 379.5 379.6 379.8 379.9 380.0 380.2 375.6 372.2 370.7 369.9 369.3 371.3 369.0 369.1 368.7 368.1 367.9 367.8 367.7 368.7 369.8 370.4 370.9 371.8 373.2 373.8 373.6 373.3 372.6 372.1 371.8 371.4 370.8 370.6 370.3 370.2 370.1 369.9 369.5 368.9 365.7 364.5 364.5 365.3 366.7 369.0 371.9 373.0 378.7 384.6 390.5 396.5 402.6 408.8 415.1 421.5 428.0 434.6 441.3 448.1 455.0 462.0 469.1 476.3 477.8 476.8 476.5 476.2 477.1 478.4 479.4 481.8 484.6 488.0 492.5 496.7 501.1 505.4 509.6 513.7 517.3 520.9 525.5 529.3 533.9 538.8 544.0 548.8 552.9 556.5 560.7 563.4 566.9 570.3 572.6 574.0 574.6 573.3 570.9 569.6 568.9 568.0 567.1 566.9 568.3 572.7 577.3 574.7 570.4 566.1 561.8 557.5 553.3 549.1 545.0 540.8 536.7 532.7 528.6 524.6 520.7 516.7 512.8 508.9 503.8 496.7 489.6 484.9 478.0 470.7 463.5 455.7 448.6 443.7 438.2 434.0 429.9 426.2 423.0 419.6 416.0 412.2 409.6 406.9 404.2 401.4 398.5 395.9 392.9 390.4 388.2 386.4 384.6 383.0 382.0 381.3 380.2 378.9 377.8 376.6 375.4 374.5 373.6 372.9 372.1 371.2 370.3 369.5 368.8 368.1 367.7 366.8 365.6 363.8 361.4 359.5 358.5 358.0 357.5 357.0 356.4 355.5 354.9 354.9 355.5 356.4 357.4 358.2 358.8 359.0 359.0 358.8 358.8 358.7 358.6 359.2 360.3 362.1 364.5 366.0 366.3 366.5 366.3 365.3 364.0 363.4 362.9 362.3 362.6 362.9 363.1 363.5 364.0 364.5 365.0 365.8 366.5 367.2 367.9 368.6 369.4 369.9 370.4 370.9 370.9 370.6 370.4 370.1 369.8 369.6 369.3 369.0 368.7 368.5 368.2 367.9 367.7 367.4 367.1 366.9 366.6 366.3 366.1 365.8 366.2 366.5 366.5 366.3 366.1 365.7 365.4 365.0 364.7 364.1 363.4 362.9 362.6 362.4 362.4 363.2 364.7 366.5 368.5 370.9 373.7 379.5 386.7 391.3 393.6 394.9 394.5 393.9 393.4 392.8 392.2 391.7 391.1 390.5 390.0 389.4 388.9 388.3 387.7 387.2 386.6 386.1 385.5 385.0 384.4 383.9 383.3 382.8 382.2 381.7 381.1 380.6 380.0 379.5 378.9 378.4 377.8 377.3 376.7 376.2 375.7 375.1 374.6 374.0 373.5 373.0 372.4 371.9 371.4 370.8 370.3 369.8 369.2 368.7 368.2 367.6 367.1 366.6 366.1 363.1 362.8 364.3 365.5 365.4 365.5 366.1 366.0 365.7 365.1 364.5 364.1 364.3 364.1 363.9 363.7 362.3 360.1 358.6 357.8 356.6 355.7 354.4 353.3 352.5 352.2 351.8 351.3 351.4 352.9 355.4 358.7 362.4 366.0 368.1 367.2 366.9 367.4 368.2 369.0 370.1 372.6 368.9 367.0 364.2 359.0 352.7 347.5 345.8 345.3 345.4 345.5 345.7 346.2 347.1 347.8 348.4 349.1 349.6 349.4 349.0 348.6 347.9 347.4 347.8 347.7 347.1 345.6 342.0 336.1 330.2 329.9 334.4 340.2 346.1 352.1 358.2 363.5 365.1 364.8 365.1 367.5 372.6 379.3 383.0 383.7 380.6 379.1 377.2 374.9 373.0 372.1 365.3 368.4 371.5 374.7 377.9 381.1 384.3 387.6 390.8 394.1 397.5 400.9 404.3 408.5 416.0 420.9 426.9 433.4 439.7 446.5 453.6 459.7 464.6 469.2 473.7 477.3 481.7 486.7 489.9 492.7 495.6 498.9 502.5 506.5 510.2 513.4 516.3 519.1 522.0 524.9 527.8 531.1 535.2 538.3 541.7 544.2 546.1 548.2 550.4 551.8 553.2 554.0 554.6 554.9 554.8 554.5 553.8 552.4 551.5 549.6 547.4 545.0 542.1 538.4 534.2 531.2 528.1 525.3 523.1 520.8 517.7 513.7 509.2 503.6 499.4 494.6 489.3 484.5 480.3 477.1 472.5 468.5 465.9 464.1 462.1 459.8 457.6 452.6 446.9 443.1 438.6 433.7 426.7 415.3 405.8 405.6 405.4 400.5 395.1 392.0 383.8 384.2 383.0 376.2 372.4 370.8 368.7 367.7 360.7 359.0 357.3 354.8 352.0 349.2 346.8 345.8 344.0 342.7 341.1 339.7 338.8 338.6 338.9 338.9 338.9 338.5 336.8 333.5 329.4 328.5 328.7 329.5 329.5 329.3 329.2 329.2 329.1 329.2 331.0 332.5 335.0 338.1 340.3 341.3 342.2 342.4 342.6 341.9 341.1 340.6 339.3 338.4 338.1 337.0 336.7 336.1 335.1 334.1 332.5 330.6 330.1 330.1 329.6 328.4 326.9 326.8 326.2 325.1 325.8 326.5 325.4 322.8 323.2 321.4 320.7 320.6 320.0 320.9 321.9 321.5 322.5 322.9 323.0 322.9 322.8 322.7 322.6 322.5 322.4 322.3 322.2 322.1 322.1 322.0 321.9 321.8 321.7 321.6 321.5 321.4 321.3 321.2 321.2 321.1 321.0 320.9 320.8 320.7 320.6 320.5 320.4 320.3 320.3 320.2 320.1 320.0 319.9 319.8 319.7 319.6 319.5 319.5 319.4 319.3 319.2 319.1 319.0 318.9 318.8 318.7 318.6 318.6 318.5 318.4 318.3 318.2 318.1 318.0 317.9 317.8 317.8 317.7 317.6 317.5 317.4 317.3 317.2 317.1 317.0 317.0 316.9 316.8 316.7 316.6 316.5 316.4 316.3 316.3 316.2 316.1 316.0 315.9 315.8 315.7 315.6 315.5 315.5 315.4 315.3 315.2 315.1 315.0 314.9 314.8 314.7 314.7 314.6 314.5 314.4 314.3 314.2 314.1 314.0 314.0 313.9 312.7 310.7 307.4 300.5 295.1 290.7 287.0 284.5 282.4 280.6 281.1 282.5 283.2 283.3 283.2 283.0 282.6 281.9 281.2 282.2 281.9 280.9 280.7 282.2 282.6 282.4 281.9 280.5 279.9 280.8 282.4 283.7 284.3 284.0 283.3 282.8 283.4 284.9 286.8 289.5 292.3 294.1 295.9 297.5 299.1 300.6 302.1 303.8 306.0 308.1 310.5 313.1 315.7 318.0 320.8 321.9 322.1 320.6 317.8 314.1 310.6 310.1 317.6 325.4 333.4 341.6 350.0 358.5 367.3 376.3 385.5 389.2 388.3 387.3 388.9 387.9 386.4 384.5 382.1 380.3 379.3 378.8 378.3 377.6 377.2 377.8 379.0 380.4 382.0 383.5 384.6 385.7 386.7 387.8 388.9 389.7 390.9 392.2 394.0 396.1 398.4 400.5 402.2 403.5 404.9 406.2 407.7 409.0 410.2 411.0 411.4 411.2 411.0 411.0 410.4 410.3 410.7 411.5 412.8 414.8 416.8 419.3 421.3 423.5 426.3 429.3 433.7 436.0 436.6 436.5 435.8 434.8 434.4 435.4 436.5 438.1 439.7 441.8 444.1 446.2 448.9 451.1 453.2 455.4 458.3 461.5 464.6 467.2 469.7 471.7 473.6 475.5 477.9 480.6 482.9 485.0 487.0 489.1 491.1 492.7 494.1 495.1 495.6 495.6 495.2 494.5 493.7 493.1 492.7 492.7 493.5 495.1 496.9 498.6 499.8 500.1 499.6 498.4 496.6 494.7 492.6 490.3 487.8 485.4 482.3 479.3 475.8 472.0 468.2 464.4 459.9 455.5 450.1 444.7 441.3 438.8 436.0 433.4 429.5 424.7 415.6 408.6 403.1 399.2 396.5 394.0 391.8 388.6 385.9 383.6 381.6 379.6 377.6 375.9 376.5 376.8 374.1 370.5 368.0 365.7 363.8 361.4 358.3 355.3 352.6 350.4 349.0 347.8 346.3 345.2 343.6 341.6 340.4 340.1 339.3 337.5 336.0 334.8 333.9 332.9 331.2 329.6 328.1 326.5 325.2 324.8 325.2 325.1 322.3 319.5 316.7 314.0 311.3 311.7 316.0 317.5 316.4 314.6 306.4 302.6 303.3 303.4 297.1 297.2 297.7 297.1 295.3 294.2 293.9 293.6 293.3 293.0 292.6 292.2 291.6 291.2 290.9 290.5 290.5 290.3 289.6 289.2 288.9 288.6 288.6 288.3 287.6 287.1 286.8 286.8 286.1 285.4 285.0 285.0 284.6 283.9 283.4 282.8 282.2 282.2 281.6 281.0 280.5 280.4 280.2 279.6 278.9 278.3 277.7 276.4 275.6 275.1 274.4 273.5 272.4 271.0 270.2 269.5 268.3 266.7 265.4 265.4 264.6 263.3 261.3 260.8 259.5 257.1 256.6 255.6 253.9 252.1 251.0 250.2 248.8 247.2 245.6 244.6 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2 244.2", + "f0_timestep": "0.005" + } +] \ No newline at end of file diff --git a/samples/04_仙瑶.ds b/samples/04_仙瑶.ds new file mode 100644 index 0000000..c26165c --- /dev/null +++ b/samples/04_仙瑶.ds @@ -0,0 +1,122 @@ +[ + { + "offset": 1.569, + "text": "SP 你 是 不 食 烟 火 的 仙 瑶 AP 舞 凤 翔 鸾 相 交 的 SP 窈 窕 SP", + "ph_seq": "SP n i sh ir b u sh ir y En h uo d e x ian y ao AP w u f eng x iang l uan x iang j iao d e SP y ao t iao SP", + "ph_dur": "0.465 0.135 0.241 0.12 0.272 0.09 0.527 0.195 0.678 0.045 0.242 0.12 0.136 0.045 0.362 0.18 0.316 0.045 1.446 0.678 0.045 0.256 0.105 0.242 0.12 0.603 0.12 0.572 0.15 0.272 0.09 0.136 0.045 0.723 0.135 0.045 0.422 0.12 0.904 0.4", + "ph_num": "2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 1", + "note_seq": "rest A4 G4 E4 B4 A4 D5 D5 F#4 G4 rest A4 G4 E4 B4 A4 D5 E5 rest A4 B4 rest", + "note_dur": "0.6 0.361 0.362 0.722 0.723 0.362 0.181 0.542 0.361 1.446 0.723 0.361 0.362 0.723 0.722 0.362 0.181 0.723 0.18 0.542 0.904 0.4", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.2 407.3 408.0 409.5 411.5 414.6 417.5 421.2 424.6 428.4 431.6 434.4 436.8 438.2 439.0 439.0 438.8 438.0 437.5 436.3 435.4 434.4 433.7 433.2 432.9 432.9 432.9 432.9 432.9 432.9 432.9 432.9 433.0 433.2 433.2 433.2 433.3 433.4 433.4 433.4 433.4 433.4 433.4 433.5 433.7 433.7 434.1 434.4 434.8 435.7 436.2 437.1 438.0 439.0 440.0 441.1 442.1 443.1 444.1 444.9 445.5 446.3 446.8 447.2 447.4 447.6 447.5 446.7 445.9 444.2 442.3 439.8 437.6 434.8 431.6 428.4 425.2 421.6 418.7 415.0 412.2 409.1 406.5 404.2 402.3 400.7 399.3 398.6 398.2 397.7 396.3 393.7 389.5 385.5 380.2 375.6 371.0 367.5 364.6 362.8 386.8 386.9 387.0 387.4 387.9 388.5 389.1 389.7 390.4 391.0 391.7 392.3 392.8 393.2 393.6 393.6 393.9 394.3 395.8 397.9 400.7 404.0 407.7 411.2 415.3 419.4 423.2 426.6 429.7 431.8 433.0 433.7 432.2 429.0 424.2 418.3 411.9 405.6 400.3 396.6 394.5 393.8 393.8 393.8 394.0 394.0 394.2 394.3 394.3 394.5 393.4 390.6 386.3 380.6 373.8 366.2 357.8 349.4 341.1 333.1 325.6 319.0 313.5 309.2 306.0 304.3 303.4 303.8 304.4 305.4 306.4 307.7 308.9 310.4 312.0 313.7 315.3 317.3 319.0 320.8 322.5 324.2 325.7 327.1 328.4 329.4 330.4 331.0 331.4 331.6 331.6 331.5 331.3 331.3 331.1 330.9 330.5 330.2 329.9 329.6 329.2 328.8 328.5 328.1 327.7 327.4 327.1 326.9 326.7 326.5 326.4 326.4 326.4 326.5 326.7 327.1 327.5 328.1 328.7 329.4 330.0 330.5 331.0 331.4 331.8 331.9 332.1 331.9 331.8 331.6 331.3 330.9 330.5 330.0 329.4 329.0 328.5 328.0 327.5 327.1 326.8 326.6 326.4 326.4 326.4 326.4 326.5 326.9 327.1 327.5 327.9 328.4 329.0 329.4 329.8 330.2 330.5 330.7 331.0 331.0 331.0 331.2 331.3 331.2 330.8 330.0 329.1 327.6 326.0 324.0 322.1 320.0 318.0 316.1 314.3 312.5 311.2 310.1 309.4 308.8 308.9 309.5 310.7 312.7 315.4 318.7 322.9 327.5 333.3 339.3 346.2 353.6 361.6 370.2 379.2 388.8 398.6 408.7 419.1 429.5 440.0 450.3 460.4 470.4 479.6 488.8 496.5 504.0 510.2 515.7 520.2 523.4 525.5 526.5 526.3 526.0 525.1 524.2 522.8 521.3 519.5 517.4 515.3 513.0 510.7 508.4 506.1 503.9 501.7 499.6 497.7 495.9 494.6 493.3 492.5 491.9 491.7 491.6 491.6 491.6 491.6 491.6 491.6 491.8 491.9 491.9 491.9 492.1 492.2 492.2 492.3 492.4 492.5 492.5 492.5 492.5 492.5 492.5 492.7 492.4 492.0 491.4 490.6 489.5 488.3 487.1 485.4 483.7 482.0 480.3 478.4 476.7 475.2 473.6 472.0 470.6 469.4 468.3 467.2 466.6 466.1 466.0 466.1 466.7 468.1 469.9 472.4 475.1 478.7 482.2 486.0 489.7 493.5 496.9 500.1 502.6 504.8 506.0 507.0 506.5 505.4 502.9 500.2 496.2 492.1 487.7 483.4 479.3 475.8 472.7 470.9 469.4 469.5 469.8 470.6 471.6 473.3 475.1 477.3 479.5 482.1 484.6 486.9 489.1 491.3 493.3 495.2 496.5 497.6 498.1 498.4 497.9 497.1 495.8 494.2 492.3 489.7 487.1 484.0 480.8 477.2 473.7 470.0 466.3 462.4 458.7 455.0 451.5 448.1 444.9 442.0 439.5 437.2 435.1 433.6 432.2 431.5 430.9 430.9 430.9 431.1 431.3 431.6 431.9 432.4 432.9 433.5 434.1 434.8 435.4 436.0 436.5 437.1 437.7 438.2 438.5 438.8 439.1 439.3 439.4 439.5 439.5 439.5 439.5 439.5 439.5 439.5 439.5 439.7 439.7 439.7 439.9 440.0 440.0 440.0 440.0 440.0 440.0 440.1 440.2 439.7 438.9 437.0 434.9 431.6 428.2 424.2 420.1 415.8 411.7 407.8 404.3 400.9 398.6 396.6 395.4 394.7 395.1 395.6 397.4 399.5 402.6 406.0 410.1 414.8 420.0 426.1 432.4 439.4 446.7 454.6 462.8 471.2 479.8 488.7 497.7 506.9 515.6 524.3 532.8 541.1 548.9 556.2 563.0 568.7 574.2 578.3 582.0 584.0 585.8 586.8 587.0 587.0 587.9 587.2 585.8 584.0 581.7 578.6 575.6 571.7 568.4 564.5 561.1 557.8 554.7 552.3 550.2 548.9 548.1 559.9 585.6 606.1 616.1 615.6 614.3 612.6 610.3 607.6 604.7 601.4 598.6 595.4 593.0 590.6 588.9 587.7 587.3 587.1 586.7 586.3 585.6 585.1 584.5 584.3 584.3 584.4 584.8 585.1 585.7 586.5 586.9 587.3 587.7 588.3 587.9 587.3 586.7 585.9 585.0 583.8 582.7 581.6 580.1 578.6 576.9 575.2 573.6 571.8 570.0 568.0 566.0 563.8 561.7 559.5 557.3 555.0 552.7 550.4 548.1 545.8 543.5 541.2 538.8 536.4 534.2 532.1 530.0 527.9 525.7 523.7 521.7 519.8 518.0 516.2 514.6 513.1 511.7 510.4 509.1 507.8 506.6 505.5 504.6 503.6 502.8 502.2 501.7 501.4 501.1 500.9 500.8 496.7 490.1 474.8 457.9 435.3 413.5 392.2 373.5 357.9 347.4 340.0 337.8 338.0 338.4 339.2 340.2 341.4 343.0 344.6 346.6 348.6 350.8 353.0 355.2 357.5 359.8 362.0 364.1 365.9 367.7 369.3 370.6 371.5 372.2 372.7 373.0 372.7 372.5 372.1 371.7 371.1 370.4 369.7 368.9 368.1 367.4 366.7 366.2 365.9 365.6 365.5 365.5 365.5 365.7 365.8 365.9 366.0 366.3 366.5 366.8 367.1 367.4 367.6 367.9 368.1 368.3 368.6 368.8 368.9 368.9 368.9 369.1 369.0 368.9 368.9 368.9 368.9 368.9 368.9 368.9 368.9 368.9 368.9 368.9 368.9 368.8 368.7 368.7 368.7 368.7 368.7 368.7 368.7 368.7 368.7 368.7 368.7 368.7 368.7 368.7 368.8 368.9 369.0 369.1 369.3 369.6 369.7 369.9 370.2 370.5 370.7 370.9 371.0 371.2 371.4 371.6 371.7 371.7 371.8 371.9 371.8 371.7 371.7 371.6 371.5 371.4 371.3 371.1 371.0 370.7 370.6 370.4 370.2 370.0 369.9 369.7 369.5 369.3 369.2 369.1 369.0 368.9 368.7 368.7 368.7 368.7 368.7 368.8 369.0 369.5 370.1 370.8 371.7 372.8 374.0 375.2 376.6 378.1 379.5 381.0 382.4 383.9 385.3 386.8 388.3 389.6 390.9 391.9 392.8 393.6 394.2 394.7 395.0 395.2 395.0 394.9 394.8 394.6 394.5 394.3 394.0 393.7 393.3 393.1 392.8 392.4 392.1 391.7 391.4 391.1 390.9 390.6 390.5 390.4 390.3 390.2 390.2 390.2 390.2 390.2 390.2 390.4 390.4 390.4 390.5 390.6 390.8 390.9 391.2 391.4 391.5 391.6 391.7 391.8 391.8 391.9 392.0 392.0 392.0 392.1 392.2 392.0 391.8 391.6 391.2 390.9 390.2 389.6 389.0 388.3 387.4 386.5 385.7 384.7 383.7 382.6 381.5 380.5 379.5 378.4 377.3 376.2 375.2 374.1 373.1 372.2 371.4 370.5 369.7 369.0 368.4 367.8 367.2 366.9 366.5 366.2 366.0 366.0 366.1 366.7 367.8 369.8 372.4 375.4 378.8 382.4 386.0 389.4 392.1 394.5 396.3 397.4 397.5 397.0 395.9 394.5 392.5 390.4 388.0 385.7 383.2 380.9 378.8 377.1 375.7 374.9 374.4 374.4 374.7 375.6 376.7 378.1 379.7 381.6 383.7 385.8 387.9 390.0 391.8 393.6 394.7 395.8 396.4 396.9 396.5 395.9 394.5 392.9 390.8 388.6 386.2 383.8 381.4 379.1 376.9 375.2 373.6 373.0 372.6 372.8 373.2 374.3 375.6 377.1 378.9 380.9 382.9 385.0 386.9 388.7 390.3 391.7 392.5 393.2 393.6 393.2 392.7 391.8 390.8 389.4 387.9 386.3 384.5 382.8 381.5 380.2 379.2 378.5 378.1 378.0 378.1 378.4 378.9 379.6 380.4 381.4 382.4 383.6 384.8 385.9 386.9 387.8 388.6 389.4 389.9 390.4 390.6 390.6 390.6 390.6 390.6 390.6 390.7 390.8 390.9 390.9 391.0 391.1 391.1 391.1 391.2 391.3 391.3 391.3 391.3 391.3 391.6 392.0 392.3 392.7 393.0 393.4 393.8 394.1 394.5 394.9 395.2 395.6 396.0 396.3 396.7 397.0 397.4 397.8 398.1 398.5 398.9 399.2 399.6 400.0 400.3 400.7 401.1 401.5 401.8 402.2 402.6 402.9 403.3 403.7 404.0 404.4 404.8 405.2 405.5 405.9 406.3 406.7 407.0 407.4 407.8 408.2 408.5 408.9 409.3 409.7 410.0 410.4 410.8 411.2 411.6 411.9 412.3 412.7 413.1 413.4 413.8 414.2 414.6 415.0 415.4 415.7 416.1 416.5 416.9 417.3 417.7 418.0 418.4 418.8 419.2 419.6 420.0 420.4 420.7 421.1 421.5 421.9 422.3 422.7 423.1 423.5 423.8 424.2 424.6 425.0 425.4 425.8 426.2 426.6 427.0 427.4 427.8 428.2 428.6 428.9 429.3 429.7 430.1 430.5 430.9 431.3 431.7 432.1 432.5 432.9 433.3 433.7 434.1 434.5 434.9 435.3 435.7 436.1 436.5 436.9 437.3 437.7 438.1 438.5 438.9 439.3 439.5 439.5 439.7 439.9 440.2 440.5 440.8 441.0 441.3 441.6 441.9 442.2 442.4 442.5 442.7 442.8 443.0 442.9 442.8 442.7 442.5 442.0 441.6 441.2 440.8 440.4 440.0 439.6 439.2 438.7 438.3 437.9 437.6 437.5 437.5 437.5 437.5 437.5 437.6 437.8 438.1 438.4 438.7 438.8 439.0 439.3 439.5 439.5 439.7 439.4 439.2 439.0 438.6 438.0 437.0 436.0 434.7 433.0 431.4 429.5 427.4 425.3 423.1 420.6 418.4 416.0 413.7 411.5 409.1 407.1 405.2 403.2 401.5 400.0 398.8 397.7 396.7 395.9 395.3 395.0 395.0 395.0 395.1 395.3 395.5 395.8 396.2 396.6 396.9 397.3 397.6 397.8 397.9 397.9 398.4 399.2 400.9 404.0 407.3 411.2 415.8 420.9 425.7 430.5 434.7 438.2 441.1 442.8 443.2 442.5 440.6 437.9 434.3 430.1 425.5 420.6 415.8 411.0 406.5 402.5 399.0 396.3 394.6 394.0 394.7 394.9 395.0 395.0 395.1 394.8 393.8 391.7 388.9 384.8 380.4 374.7 368.9 362.6 356.1 349.3 342.6 336.1 329.9 323.8 318.5 313.6 309.5 306.0 303.3 301.2 299.7 299.0 299.1 299.3 300.1 301.0 302.2 303.6 305.2 307.0 308.9 310.9 312.9 315.1 317.3 319.4 321.3 323.1 324.7 326.1 327.2 328.3 328.7 329.1 329.2 329.1 329.1 329.1 329.0 328.9 328.7 328.5 328.4 328.2 328.0 327.8 327.6 327.5 327.4 327.2 327.1 326.9 326.8 326.8 326.8 326.8 326.8 326.8 326.9 327.1 327.3 327.5 327.9 328.2 328.6 329.0 329.5 329.8 330.1 330.5 330.8 331.1 331.4 331.5 331.6 331.7 331.6 331.5 331.4 331.3 331.0 330.8 330.6 330.4 330.1 329.8 329.4 329.1 328.8 328.5 328.2 328.0 327.8 327.6 327.5 327.4 327.4 327.4 327.4 327.4 327.5 327.8 328.0 328.2 328.4 328.7 329.1 329.4 329.7 330.0 330.3 330.6 330.9 331.2 331.4 331.6 331.8 332.0 332.1 332.2 332.3 332.2 332.1 332.1 332.0 331.9 331.9 331.9 331.8 331.7 331.7 331.7 331.7 331.7 331.6 331.2 330.2 329.1 327.7 326.1 324.3 322.4 320.4 318.7 316.9 315.4 314.0 313.0 312.2 311.8 311.7 312.1 312.9 314.1 315.8 318.0 320.7 323.6 327.2 331.1 335.5 340.1 345.2 350.6 356.4 362.5 368.7 375.4 382.2 389.3 396.4 403.4 410.6 417.9 424.9 431.9 438.5 445.0 451.1 456.8 462.1 466.9 471.2 474.5 477.6 479.9 482.0 482.8 484.8 485.1 485.6 486.9 488.4 490.3 492.2 494.1 496.0 497.9 499.2 500.3 500.8 501.0 500.8 500.8 500.8 500.6 500.5 500.2 499.9 499.7 499.6 499.2 498.9 498.6 498.2 497.7 497.4 497.0 496.6 496.1 495.8 495.4 494.9 494.5 494.2 493.9 493.6 493.3 493.0 492.8 492.7 492.5 492.4 492.2 492.2 492.2 492.1 492.0 491.7 491.4 490.8 490.2 489.4 488.6 487.5 486.3 485.1 483.7 482.3 480.8 479.3 477.6 475.9 474.0 472.2 470.2 468.2 466.3 464.4 462.5 460.5 458.4 456.4 454.3 452.1 450.0 448.0 446.0 444.0 442.1 440.3 438.4 436.6 434.9 433.3 431.8 430.4 429.0 427.7 426.5 425.4 424.3 423.4 422.5 421.9 421.3 420.7 420.4 420.1 420.1 427.3 427.6 427.9 428.3 428.6 428.9 396.8 397.0 397.6 398.4 399.7 401.1 402.8 404.7 406.8 409.0 411.2 413.8 416.2 418.5 420.9 423.5 425.9 428.3 430.4 432.5 434.4 436.2 437.5 438.6 439.3 439.9 440.3 440.1 440.0 439.8 439.6 439.4 439.1 438.8 438.4 438.0 437.7 437.4 437.2 437.0 437.0 437.0 437.0 437.2 437.6 438.0 438.8 439.6 440.3 441.0 441.6 441.9 442.0 442.1 441.7 441.1 440.4 439.1 437.7 436.0 434.3 432.2 430.1 428.1 426.0 423.9 421.9 419.9 418.3 416.7 415.4 414.3 413.7 413.2 413.0 424.2 438.7 474.3 511.8 548.2 576.7 587.6 587.4 587.3 587.1 586.8 586.4 586.0 585.7 585.2 584.6 584.4 584.2 584.1 583.9 583.9 583.9 584.1 584.5 584.8 585.2 585.7 586.3 586.9 587.4 587.8 588.0 588.0 588.1 587.6 586.3 584.6 582.7 580.7 578.0 575.2 572.7 570.2 568.2 566.5 565.2 564.5 564.7 565.4 567.0 569.2 572.3 575.6 579.3 583.0 586.5 589.7 592.4 594.0 595.0 595.4 595.2 594.9 594.6 594.0 593.5 592.9 592.3 591.5 590.8 590.3 589.8 589.4 589.2 589.0 589.0 588.8 588.7 588.7 588.6 588.4 588.2 588.0 587.6 587.3 587.1 586.9 586.8 586.7 586.7 586.7 586.8 587.3 588.6 590.8 593.9 597.6 602.0 606.6 612.1 617.7 623.7 629.6 635.5 641.4 647.1 652.1 657.0 660.6 663.9 666.3 668.0 668.7 668.7 668.5 676.2 675.9 675.6 675.2 674.8 674.1 673.1 672.1 670.9 669.6 668.3 667.0 665.4 664.1 662.6 661.2 659.8 658.2 657.0 655.7 654.7 653.6 652.6 651.9 651.3 650.7 650.6 650.6 650.4 649.9 649.2 648.3 647.1 645.6 643.6 641.5 639.2 636.4 633.4 630.3 626.9 623.2 619.3 615.1 611.0 606.6 601.9 597.1 592.4 587.3 582.3 577.0 571.8 566.4 561.0 555.6 550.3 544.8 539.4 534.0 528.9 523.6 518.3 513.1 507.9 502.9 498.1 493.3 488.6 484.1 479.7 475.3 471.2 467.9 464.2 460.4 456.8 453.5 450.3 447.3 444.4 441.8 439.3 437.0 434.9 433.1 431.4 430.0 428.7 427.6 426.7 426.1 425.5 425.3 425.2 425.0 425.0 425.0 424.9 424.7 424.5 424.5 424.4 424.2 424.0 424.0 424.0 424.0 421.6 422.4 423.3 424.5 425.9 427.4 429.0 430.8 432.6 434.4 436.0 437.4 438.6 439.5 440.1 440.6 440.7 440.6 440.5 440.5 440.4 440.3 440.1 440.0 439.7 439.5 439.3 439.1 438.8 438.6 438.3 438.0 437.7 437.6 437.4 437.1 436.9 436.8 436.6 436.5 436.3 436.2 436.2 436.2 436.2 436.2 436.3 436.4 436.5 436.7 436.9 437.2 437.6 438.1 438.5 438.8 439.1 439.5 439.9 440.3 440.8 441.0 441.3 441.6 441.8 442.0 442.0 442.0 442.2 442.0 441.6 441.0 440.3 439.4 438.2 437.0 435.4 433.9 432.4 430.7 428.9 427.1 425.4 423.6 421.8 420.3 418.9 417.5 416.3 415.2 414.3 413.5 412.8 412.3 412.2 413.3 416.1 421.9 429.8 440.5 452.1 464.6 476.9 487.5 496.0 501.5 504.6 504.4 504.2 504.1 503.9 503.7 503.4 502.9 502.6 502.3 501.8 501.4 500.7 500.1 499.6 499.1 498.7 498.2 497.7 497.2 496.7 496.4 496.1 495.8 495.5 495.4 495.3 495.3 495.2 495.1 494.9 494.7 494.4 494.1 493.8 493.5 493.0 492.6 492.1 491.6 491.1 490.7 490.2 489.9 489.6 489.2 488.9 488.6 488.5 488.5 488.5 488.5 488.6 488.7 488.9 489.0 489.3 489.6 489.9 490.3 490.8 491.2 491.7 492.1 492.4 492.8 493.3 493.6 493.9 494.3 494.5 494.7 494.8 495.0 495.2 495.3 495.0 494.6 494.2 493.6 492.8 491.9 490.9 489.7 488.5 487.1 485.7 484.1 482.5 480.8 479.1 477.5 475.8 474.1 472.5 471.0 469.7 468.4 467.2 466.1 465.2 464.4 463.6 463.2 462.9 462.9 463.3 463.7 465.5 467.5 470.2 473.2 476.5 480.3 484.3 488.2 492.2 495.7 499.0 501.9 504.5 506.4 507.6 508.2 508.0 507.5 506.2 504.7 502.8 500.7 498.3 495.8 493.2 490.9 488.7 486.3 484.0 482.4 481.0 480.1 479.5 479.3 479.5 479.9 480.6 481.7 482.9 484.4 486.0 487.8 489.7 491.6 493.5 495.4 497.1 498.7 500.1 501.4 502.2 502.9 503.2 503.3 502.9 502.5 502.0 501.2 500.2 499.2 498.2 496.9 495.7 494.6 493.6 492.6 491.8 491.0 490.6 490.2 490.2 490.2 490.3 490.6 491.0 491.5 492.1 492.6 493.2 494.0 494.7 495.3 495.8 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2", + "f0_timestep": "0.005" + }, + { + "offset": 13.157, + "text": "SP 题 画 诗 也 难 描 SP 千 古 词 不 敢 扰 AP 华 灯 照 墨 香 里 印 色 SP 正 妙 SP", + "ph_seq": "SP t i h ua sh ir y E n an m iao SP q ian g u c i0 b u g an r ao AP h ua d eng zh ao m o x iang l i y in s e SP zh eng m iao SP", + "ph_dur": "0.473 0.105 0.286 0.075 0.242 0.12 0.497 0.045 0.437 0.105 0.287 0.075 0.723 0.211 0.15 0.301 0.06 0.242 0.12 0.121 0.06 0.467 0.075 0.316 0.045 0.542 0.814 0.09 0.136 0.045 0.241 0.12 0.452 0.09 0.121 0.06 0.136 0.045 0.316 0.045 0.121 0.06 0.361 0.408 0.135 0.377 0.165 1.626 0.144", + "ph_num": "2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 1", + "note_seq": "rest A4 B4 E4 D5 G4 A4 rest B3 A4 G4 B4 G4 E4 rest A4 G4 B3 A4 B4 A4 D5 D5 rest D4 E4 rest", + "note_dur": "0.578 0.361 0.362 0.542 0.542 0.362 0.723 0.361 0.361 0.362 0.181 0.542 0.361 0.542 0.904 0.181 0.361 0.542 0.181 0.181 0.361 0.181 0.361 0.543 0.542 1.626 0.144", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 401.4 402.2 405.9 409.8 414.0 418.2 422.0 425.9 429.5 432.5 435.1 437.0 438.2 439.0 439.1 438.9 438.7 438.5 438.1 437.5 437.0 436.5 435.9 435.4 435.2 435.0 434.9 434.9 435.0 435.4 436.1 436.8 437.6 438.4 439.2 440.1 440.9 441.7 442.2 442.6 442.8 442.8 442.8 442.8 442.8 442.8 442.8 442.8 442.8 442.8 442.8 442.8 442.8 442.5 441.3 439.0 435.6 431.4 426.7 421.8 416.8 412.2 408.2 405.0 402.8 401.7 402.9 408.2 419.4 436.5 456.2 476.4 494.5 508.4 515.7 515.9 515.0 513.6 511.7 509.5 507.1 504.8 502.5 500.4 498.8 497.6 497.1 496.9 496.6 496.1 495.6 494.6 493.7 492.6 491.2 489.6 487.9 486.3 484.3 482.2 480.1 478.0 475.7 473.2 470.9 468.5 466.0 463.5 461.1 458.9 456.5 454.2 452.0 449.9 447.9 446.0 444.3 442.7 441.2 439.8 438.7 437.7 436.8 436.1 435.5 435.2 434.9 434.3 432.0 427.2 419.9 411.9 402.7 392.0 380.8 369.8 359.7 350.6 343.0 334.4 306.1 285.0 281.3 281.8 282.7 284.0 285.5 287.5 289.8 292.3 295.0 298.0 301.1 304.4 307.7 310.9 314.2 317.3 320.2 322.9 325.3 327.4 329.2 330.6 331.5 331.9 332.0 331.9 331.7 331.6 331.3 330.9 330.5 330.1 329.8 329.5 329.3 329.2 329.1 329.1 329.1 329.2 329.6 329.9 330.3 330.8 331.2 331.7 332.2 332.6 332.9 333.1 333.1 333.2 333.0 332.8 332.5 332.0 331.5 331.0 330.3 329.7 329.1 328.4 327.9 327.4 327.0 326.7 326.4 326.4 326.4 326.5 327.0 327.4 328.2 329.1 330.1 331.2 332.1 333.1 334.0 334.9 335.6 336.0 336.4 336.7 337.7 340.8 345.7 352.2 359.8 367.9 379.2 391.9 406.1 421.5 438.1 455.8 473.9 492.4 510.9 529.0 546.4 562.4 576.7 588.6 598.1 605.0 609.1 610.0 609.7 609.1 607.9 606.8 605.4 603.8 602.1 600.4 598.4 596.2 594.2 592.4 590.4 589.0 587.8 586.7 585.7 585.3 585.3 585.3 585.7 586.3 586.9 587.4 587.7 588.0 588.0 588.0 588.0 588.0 588.0 588.0 588.0 588.0 588.0 587.8 587.5 586.2 585.9 585.6 585.1 584.3 583.3 582.0 580.6 578.9 577.2 575.4 573.3 570.9 568.5 566.0 563.3 560.4 557.3 554.2 551.5 548.1 544.6 541.1 537.4 533.8 529.9 525.9 522.0 518.1 514.1 509.9 506.0 501.9 497.8 493.7 489.7 485.7 481.5 477.6 473.7 469.8 465.9 462.0 458.4 454.7 451.0 447.4 444.0 440.6 437.5 434.3 431.2 428.2 425.3 422.5 419.9 417.5 415.1 412.8 410.6 408.5 406.5 404.8 403.2 401.6 400.2 399.1 397.9 397.0 396.1 395.4 394.8 394.3 393.9 393.8 390.4 392.4 394.6 397.0 399.2 401.2 402.5 403.2 403.2 402.8 402.1 400.9 399.6 398.1 396.4 394.9 393.5 392.2 391.3 390.8 390.6 390.6 390.8 391.0 391.4 391.8 392.1 392.7 393.2 393.8 394.3 394.7 395.1 395.3 395.4 395.6 395.4 395.4 395.3 395.0 394.6 394.4 394.0 393.7 393.5 393.3 393.1 393.1 393.1 392.9 392.9 392.9 392.9 392.8 392.7 392.7 392.7 392.5 392.4 392.4 392.4 392.4 392.4 392.4 392.4 392.4 392.4 392.4 392.6 392.7 392.7 392.9 392.9 392.9 392.9 393.1 393.0 392.9 392.9 392.9 392.7 392.5 392.4 392.3 392.1 392.0 391.8 391.4 391.2 391.0 390.8 390.6 390.4 390.2 390.1 389.9 389.7 389.5 389.3 389.3 389.3 389.3 389.3 389.3 389.3 389.3 389.4 389.5 389.5 389.7 389.9 390.1 390.3 390.5 390.6 390.8 391.0 391.2 391.3 391.3 391.5 391.7 391.8 391.8 391.8 391.8 392.0 392.1 392.7 393.4 394.5 395.9 397.4 399.0 400.9 403.2 405.6 408.1 410.7 413.5 416.3 419.1 421.9 424.8 427.6 430.2 432.9 435.4 437.8 440.0 442.0 443.7 445.4 446.4 447.3 447.9 448.3 448.1 447.0 444.9 441.4 437.4 433.1 428.8 424.8 421.3 418.9 417.6 417.3 417.5 418.5 419.8 421.7 424.0 426.5 429.2 432.3 435.3 438.1 440.8 443.3 445.6 447.1 448.3 449.0 449.1 448.5 447.4 445.9 444.1 442.0 439.9 437.8 436.0 434.3 433.1 432.4 432.2 432.4 432.9 433.8 434.9 436.2 437.5 438.9 440.3 441.3 442.0 442.6 442.7 442.5 442.5 442.3 442.1 441.9 441.6 441.2 441.0 440.8 440.6 440.5 438.5 435.2 432.0 428.8 425.5 422.4 419.2 416.1 413.0 409.9 406.8 403.8 400.7 397.7 394.8 391.8 388.9 386.0 383.1 380.2 377.4 374.5 371.7 369.0 366.2 363.5 360.7 358.0 355.4 352.7 350.1 347.4 344.8 342.3 339.7 337.2 334.6 332.1 329.6 327.2 324.7 322.3 319.9 317.5 315.1 312.8 310.4 308.1 305.8 303.5 301.2 299.0 296.7 294.5 292.3 290.1 288.0 285.8 283.7 281.5 279.4 277.3 275.3 273.2 271.2 269.1 267.1 265.1 263.1 261.2 259.4 257.3 255.1 253.1 251.2 249.2 247.7 246.6 246.2 246.0 245.9 245.9 245.8 245.7 245.6 245.4 245.3 245.2 245.1 245.0 245.0 245.0 245.0 245.0 245.2 245.6 246.0 246.4 246.9 247.3 247.7 247.9 248.0 248.1 248.1 248.1 248.2 248.2 248.3 248.4 248.5 251.1 253.9 257.6 262.0 267.3 273.3 280.1 287.5 295.5 303.9 312.7 321.1 328.9 337.7 346.3 354.6 362.3 369.3 375.4 380.3 383.8 386.0 387.3 387.6 388.1 388.7 389.4 390.2 390.8 391.2 391.2 390.9 390.5 390.0 387.6 388.1 388.7 389.5 391.0 392.7 394.6 396.9 399.3 401.9 404.8 407.7 410.7 413.7 416.9 419.9 422.7 425.6 428.2 430.5 432.6 434.4 435.9 437.0 437.8 438.4 438.6 439.0 439.7 441.0 442.5 443.8 445.0 446.0 446.7 444.9 443.6 441.4 438.8 435.8 432.4 428.3 424.0 419.6 415.0 410.4 405.9 401.5 397.2 393.4 390.0 386.9 384.5 382.6 380.9 380.0 379.6 379.5 379.8 380.5 381.3 382.4 383.7 385.0 386.4 387.8 389.1 390.2 391.3 392.1 392.7 393.0 393.1 393.1 393.1 393.3 393.7 394.0 394.3 394.6 395.0 395.3 395.6 395.7 395.9 396.1 396.1 396.0 395.0 393.1 390.4 387.2 383.5 379.6 375.8 372.1 368.9 366.3 364.3 368.7 370.8 374.8 380.4 387.8 395.9 404.6 413.4 421.6 429.0 434.2 437.6 439.2 439.2 439.4 439.7 440.2 440.6 441.3 441.9 442.5 443.2 443.8 444.4 444.9 445.3 445.4 443.6 444.3 445.4 447.7 450.8 454.5 458.6 463.1 468.1 473.0 478.3 483.3 488.1 492.7 496.7 500.1 502.7 504.4 505.4 505.6 505.2 504.7 504.3 503.5 502.4 501.4 500.3 499.0 497.8 496.5 495.0 493.7 492.5 491.3 490.1 489.3 488.6 488.0 487.6 487.4 487.4 487.5 487.9 488.4 489.1 489.9 490.9 492.1 493.3 494.5 495.7 496.9 498.1 499.2 500.2 500.9 501.5 501.9 502.3 498.8 499.1 499.3 498.4 495.9 492.2 487.2 480.9 473.8 465.6 456.9 447.8 438.6 429.6 420.6 412.0 404.0 396.8 390.3 384.7 380.0 376.7 374.3 373.1 372.7 372.6 372.6 372.6 372.4 372.2 372.1 371.9 371.7 371.5 371.4 371.2 371.0 370.8 370.6 370.5 370.3 370.1 370.0 370.0 370.0 370.0 370.2 371.0 372.5 374.5 377.4 380.6 384.2 387.8 391.3 394.7 397.8 400.1 401.9 403.0 403.4 403.0 402.2 401.0 399.5 397.9 396.2 394.3 392.8 391.2 390.1 389.3 388.8 388.8 389.0 389.4 390.2 390.9 391.7 392.4 393.2 393.9 394.5 394.7 394.9 394.7 394.7 394.6 394.4 394.2 394.0 393.6 393.4 393.2 393.1 393.1 393.1 387.9 386.9 385.3 382.5 379.0 374.8 370.1 365.1 359.7 354.0 348.4 343.0 337.9 333.1 328.7 324.9 321.8 319.4 317.7 316.7 316.6 316.7 317.7 319.0 320.5 322.3 324.1 325.8 327.6 328.9 329.8 330.4 330.5 330.3 330.2 330.0 329.7 329.2 328.9 328.5 328.0 327.7 327.3 326.9 326.7 326.5 326.4 326.4 326.5 327.0 327.9 329.2 330.6 332.2 334.0 336.0 337.8 339.4 340.9 342.2 343.0 343.4 343.4 342.8 341.4 339.6 337.2 334.5 331.7 328.9 326.4 324.1 322.2 321.0 320.4 320.4 320.9 322.3 324.2 326.5 329.2 331.9 334.5 336.9 338.6 339.7 340.3 339.9 339.4 338.5 337.4 336.1 334.8 333.5 332.2 331.2 330.3 329.8 329.6 329.6 329.8 329.9 330.2 330.6 331.0 331.4 331.9 332.4 332.8 333.2 333.7 333.8 334.1 334.2 334.2 334.0 333.8 333.6 333.4 333.2 333.0 332.8 332.7 332.5 332.3 332.1 331.9 331.7 331.5 331.3 331.2 331.0 330.8 330.6 330.4 330.2 330.0 329.9 329.7 329.5 329.3 329.1 328.9 328.7 328.6 328.4 328.2 328.0 327.8 327.6 327.4 327.3 327.1 326.9 326.7 326.5 326.3 326.2 326.0 325.8 325.6 325.4 325.2 325.1 324.9 324.7 324.5 324.3 324.1 324.0 323.8 323.6 323.4 323.2 323.0 322.9 322.7 322.5 322.3 322.1 322.0 321.8 321.6 321.4 321.2 321.1 320.9 320.7 320.5 320.3 320.1 320.0 319.8 319.6 319.4 319.2 319.1 318.9 318.7 318.5 318.3 318.2 318.0 317.8 317.6 317.5 317.3 317.1 316.9 316.7 316.6 316.4 316.2 316.0 315.8 315.7 315.5 315.3 315.1 315.0 314.8 314.6 314.4 314.3 314.1 313.9 313.7 313.5 313.4 313.2 313.0 312.8 312.7 312.5 312.3 312.1 312.0 311.8 311.6 311.4 311.3 311.1 310.9 310.7 310.6 310.4 310.2 310.0 309.9 309.7 309.5 309.3 309.2 309.0 308.8 308.6 308.5 308.3 308.1 307.9 307.8 307.6 307.4 307.2 307.1 306.9 306.7 306.6 306.4 306.2 306.0 305.9 305.7 305.5 305.4 305.2 305.0 304.8 304.7 304.5 304.3 304.1 304.0 303.8 303.6 303.5 303.3 303.1 303.0 302.8 302.6 302.4 302.3 304.2 308.8 316.9 326.4 339.1 353.7 370.3 386.0 403.7 417.2 430.4 438.8 443.6 444.7 444.4 443.8 443.0 441.8 440.8 439.2 438.0 436.8 435.7 434.7 434.1 433.7 432.9 431.1 428.7 426.2 423.5 421.1 419.3 418.3 418.0 417.5 416.8 415.7 414.2 412.5 410.3 407.7 405.2 402.6 399.9 397.4 394.7 392.4 390.5 388.8 387.5 386.4 385.7 385.7 385.7 386.0 386.5 387.1 387.9 388.6 389.6 390.3 391.1 391.8 392.3 392.9 392.9 393.0 392.8 392.6 392.4 392.1 391.7 391.4 391.2 390.8 390.6 390.6 390.3 389.4 387.7 384.7 380.9 376.2 370.9 364.8 358.2 351.2 343.8 336.2 328.4 320.7 312.9 305.3 298.1 291.1 284.5 278.3 272.6 267.4 262.8 258.8 255.5 252.9 250.6 248.9 247.7 247.2 247.1 246.9 246.5 246.0 245.4 244.6 243.8 243.1 242.3 241.6 240.9 240.4 240.1 239.9 240.0 240.1 240.5 241.0 241.8 242.7 243.6 244.6 245.5 246.2 246.8 247.3 247.6 247.6 247.5 247.2 247.0 246.7 246.2 245.8 245.4 245.0 244.5 244.1 243.8 243.6 243.4 243.4 243.4 243.5 243.7 244.0 244.3 244.7 245.1 245.6 246.1 246.5 246.9 247.2 247.6 247.8 247.9 248.0 248.0 247.9 247.9 247.8 247.7 247.4 247.3 249.9 249.8 249.8 249.8 249.7 249.7 249.6 249.5 249.3 249.2 249.1 249.1 249.0 248.9 248.8 248.8 248.8 248.8 249.3 250.8 253.5 257.4 262.2 268.5 275.7 284.0 293.2 303.3 314.2 325.9 336.6 348.0 360.5 373.0 385.0 396.4 406.9 416.3 424.3 430.7 434.9 437.2 438.2 438.2 438.2 438.4 438.8 439.2 439.7 440.1 440.5 440.9 441.4 441.8 442.2 442.5 443.0 443.2 443.4 443.6 443.7 442.0 437.4 429.9 420.9 413.2 408.6 407.2 408.1 409.8 412.8 416.7 421.5 426.9 433.0 439.7 446.6 453.7 460.8 467.4 473.2 479.2 484.5 488.9 492.4 494.6 495.6 495.9 495.9 496.1 496.5 496.7 497.0 497.4 497.7 497.9 498.0 498.0 497.3 495.4 492.6 488.9 484.6 479.6 474.3 468.6 463.0 457.8 452.8 448.2 444.3 441.4 439.2 438.0 437.5 437.5 437.6 437.8 438.1 438.6 439.0 439.4 440.0 440.5 441.0 441.6 442.0 442.5 442.7 442.9 443.1 443.2 443.1 442.9 442.7 442.5 442.3 441.9 441.4 441.0 440.6 440.2 439.7 439.3 439.1 439.0 439.0 439.0 439.2 439.6 440.3 441.1 442.0 442.7 443.2 443.6 443.8 443.8 443.8 443.8 443.8 443.8 443.8 443.8 443.8 443.8 443.8 443.8 444.5 446.8 450.7 456.1 463.2 471.8 481.6 492.3 503.8 515.7 527.8 539.9 549.9 559.6 569.2 577.2 583.4 587.3 589.5 589.7 589.9 590.3 590.8 591.4 592.0 592.8 593.5 593.9 594.2 594.2 594.3 594.0 593.7 593.1 592.6 592.0 591.4 591.0 590.7 590.4 588.7 584.2 578.1 571.1 563.8 557.0 551.2 547.7 546.1 546.4 547.5 549.1 551.2 553.7 556.9 560.4 564.2 568.0 571.8 575.6 578.9 582.0 584.1 586.0 587.5 588.3 588.6 588.2 587.7 587.1 586.3 585.3 584.3 583.4 582.3 581.4 580.8 580.4 580.2 580.6 581.6 583.4 586.0 589.4 593.0 596.6 599.6 602.1 604.1 605.2 605.7 605.0 603.8 602.1 599.9 597.4 594.7 591.9 589.0 586.2 583.8 581.8 580.1 579.1 578.6 578.7 579.2 580.1 581.3 582.9 584.8 586.8 588.8 590.7 592.1 593.2 593.9 594.5 594.2 593.9 593.3 592.6 591.9 590.7 589.6 588.7 587.7 586.7 585.8 585.0 584.4 584.0 579.5 574.1 568.6 563.3 558.0 552.7 547.5 542.3 537.2 532.1 527.1 522.1 517.2 512.3 507.5 502.7 497.9 493.2 488.6 484.0 479.4 474.9 470.4 466.0 461.6 457.2 452.9 448.6 444.4 440.2 436.0 431.9 427.8 423.8 419.8 415.8 411.9 408.0 404.2 400.4 396.6 392.8 389.1 385.5 381.8 378.2 374.6 371.1 367.6 364.1 360.7 357.3 353.9 350.6 347.3 344.0 340.7 337.5 334.3 331.2 328.1 325.0 321.9 318.9 315.8 312.9 309.9 307.0 304.1 301.2 298.4 295.6 292.8 290.0 287.3 284.6 281.9 279.2 276.6 274.0 271.4 268.8 266.3 263.8 261.3 258.8 256.4 253.9 251.5 249.2 246.8 244.5 242.2 239.9 237.6 235.4 233.2 231.0 228.8 226.6 224.5 222.4 220.3 219.2 222.0 224.8 228.6 232.8 237.4 242.4 247.7 253.2 258.7 264.3 269.8 275.1 280.0 284.6 288.5 291.9 294.4 296.2 297.4 297.7 297.6 297.4 297.3 297.0 296.7 296.5 296.2 295.9 295.5 295.2 294.9 294.6 294.3 294.2 294.1 294.0 294.0 294.0 294.1 294.3 294.4 294.6 294.9 295.4 295.7 295.9 296.3 296.7 296.9 297.1 297.4 297.5 297.6 297.6 297.7 297.5 297.4 297.2 297.0 296.7 296.3 295.9 295.7 295.4 294.9 294.7 294.5 294.3 294.3 294.3 294.4 294.5 294.9 295.4 295.8 296.2 296.7 297.2 297.5 297.8 298.0 298.2 298.2 298.1 297.9 297.8 297.5 297.1 296.6 296.3 296.0 295.5 295.1 294.8 294.5 294.2 294.0 294.0 294.0 293.8 293.8 293.8 293.8 293.6 293.5 293.5 293.4 293.2 293.1 293.0 292.8 292.5 292.4 292.2 292.1 292.0 292.0 291.8 291.7 291.6 291.6 291.6 291.6 291.6 291.6 291.7 291.8 291.9 292.1 292.3 292.4 292.6 292.8 293.0 293.2 293.3 293.4 293.6 293.7 293.8 293.8 293.8 293.9 293.8 293.8 293.8 293.8 293.8 293.8 293.7 293.7 293.5 293.5 293.5 293.7 293.5 293.5 293.4 293.2 292.9 292.6 292.4 292.1 291.8 291.5 291.1 290.8 290.5 290.2 290.0 289.7 289.6 289.5 289.5 289.5 290.0 291.2 293.3 295.9 299.0 302.7 306.7 311.0 315.2 319.4 323.5 327.2 330.4 332.9 334.6 335.6 335.9 335.7 335.4 334.9 334.3 333.7 332.9 332.1 331.2 330.4 329.5 328.8 328.2 327.5 327.1 326.6 326.4 326.4 326.4 326.6 326.8 327.3 327.7 328.2 328.9 329.5 330.1 330.8 331.3 331.8 332.3 332.6 332.9 333.1 331.2 331.3 331.5 331.6 331.8 331.9 331.9 331.9 332.1 332.0 331.9 331.9 331.7 331.3 331.2 330.9 330.6 330.3 329.9 329.6 329.3 329.1 328.9 328.6 328.5 328.3 328.3 328.3 328.3 328.3 328.4 328.6 328.9 329.2 329.5 329.8 330.2 330.6 331.0 331.4 331.9 332.3 332.6 332.9 333.3 333.6 333.8 333.9 334.0 334.1 333.8 333.7 333.4 333.0 332.4 331.8 331.2 330.2 329.2 328.2 327.2 326.2 325.1 324.0 323.0 322.1 321.3 320.7 320.1 319.6 319.3 319.1 319.2 319.5 320.2 321.5 322.9 324.5 326.5 328.7 331.1 333.5 335.8 337.9 339.8 341.6 343.0 343.9 344.4 344.5 344.1 343.4 342.4 341.2 339.7 337.9 336.0 334.0 332.0 329.9 327.9 326.1 324.4 322.8 321.6 320.6 320.0 319.7 319.8 320.3 321.7 323.6 326.1 329.0 332.0 335.2 338.3 341.1 343.2 344.9 346.0 346.4 346.2 345.7 345.1 344.2 343.2 341.9 340.5 339.0 337.3 335.6 333.9 332.1 330.2 328.6 326.9 325.4 324.0 322.6 321.5 320.6 319.9 319.4 319.1 319.2 319.5 320.6 322.0 324.0 326.1 328.3 330.8 333.4 335.9 338.0 339.7 341.1 341.5 341.7 341.4 340.9 340.3 339.4 338.4 337.2 336.0 334.5 333.1 331.8 330.4 329.0 327.7 326.6 325.5 324.7 324.1 323.6 323.2 323.2 323.2 323.6 324.2 324.8 325.7 326.6 327.7 328.8 330.0 331.2 332.1 333.1 333.9 334.6 335.0 335.3 335.3 335.1 335.0 334.8 334.3 334.0 333.7 333.1 332.5 332.0 331.4 330.8 330.2 329.7 329.1 328.6 328.3 328.3 328.3 328.3 328.3 328.3 328.3 328.3 328.3 328.3 328.3 328.3 328.3 328.3 328.3 328.3 328.3 328.3 328.3 328.3 328.3 328.3 328.3 328.3 328.3 328.3 328.3 328.3", + "f0_timestep": "0.005" + }, + { + "offset": 25.786, + "text": "AP 眉 眼 里 藏 的 笑 SP 如 星 落 九 霄 AP 纤 姿 舞 的 曼 妙 SP 惹 月 色 倾 倒 SP", + "ph_seq": "AP m ei y En l i c ang d e x iao SP r u x ing l uo j iu x iao AP x ian z i0 w u d e m an m iao SP r e y ve s e q ing d ao SP", + "ph_dur": "0.525 0.075 0.316 0.045 0.271 0.09 0.242 0.12 0.136 0.045 0.241 0.12 0.361 0.498 0.045 0.241 0.12 0.121 0.06 0.437 0.105 0.241 0.12 0.723 0.905 0.18 0.271 0.09 0.302 0.06 0.316 0.045 0.121 0.06 0.241 0.12 0.362 0.497 0.045 0.316 0.045 0.242 0.12 0.528 0.195 0.316 0.045 0.361 0.217", + "ph_num": "2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 1", + "note_seq": "rest E4 D4 E3 G3 A3 A3 rest A3 G3 A3 B3 B3 rest E4 D4 E3 G3 A3 A3 rest B3 A4 A4 D4 E4 rest", + "note_dur": "0.6 0.361 0.361 0.362 0.181 0.361 0.361 0.543 0.361 0.181 0.542 0.361 0.723 1.085 0.361 0.362 0.361 0.181 0.361 0.362 0.542 0.361 0.362 0.723 0.361 0.361 0.217", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 254.3 256.9 260.8 265.1 269.5 273.9 278.3 282.5 286.3 289.6 292.3 294.2 295.3 295.9 295.7 295.7 295.7 295.7 295.5 295.4 295.2 295.1 294.9 294.8 294.7 294.5 294.4 294.2 294.1 294.0 294.0 294.0 294.0 294.6 296.3 299.3 303.2 307.9 313.0 317.9 322.3 325.8 328.1 329.1 329.1 329.1 329.1 329.1 329.3 329.4 329.6 329.6 329.7 329.9 330.2 330.4 330.4 330.5 330.7 330.8 331.0 331.0 331.0 331.1 331.1 330.9 330.4 329.6 328.6 327.4 326.0 324.4 322.7 320.6 318.6 316.6 314.4 312.3 310.1 307.8 305.7 303.7 301.7 299.8 298.1 296.7 295.4 294.2 293.2 292.5 292.0 291.7 291.6 291.6 291.6 291.6 291.6 291.6 291.6 291.6 291.6 291.6 291.6 291.6 291.6 291.6 291.6 291.6 291.6 291.6 291.6 291.6 291.6 291.6 291.6 291.6 291.6 291.6 291.5 290.8 289.0 286.2 282.5 278.0 272.8 267.1 260.6 253.8 246.7 239.5 232.3 225.0 217.9 211.0 204.5 198.3 192.6 187.3 182.5 178.2 174.5 171.3 168.6 166.5 165.1 164.3 164.0 163.8 163.4 162.8 162.1 161.3 160.5 159.7 159.0 158.5 158.1 158.0 158.1 158.5 159.1 160.0 161.0 162.1 163.3 164.5 165.6 166.5 167.3 167.7 167.9 167.9 167.8 167.6 167.4 167.1 166.7 166.4 166.0 165.6 165.2 164.9 164.7 164.4 164.3 164.2 164.2 164.3 164.5 164.7 165.0 165.3 165.6 165.9 166.2 166.4 166.5 166.6 166.4 165.8 165.0 163.8 162.4 161.0 159.3 157.7 156.2 154.9 153.7 152.7 152.1 151.9 152.1 153.1 155.0 157.6 161.2 165.2 169.7 174.3 178.9 183.3 186.9 189.8 191.7 192.8 192.9 193.0 193.2 193.5 194.0 194.3 194.8 195.3 195.7 196.2 196.5 196.6 196.8 196.9 196.9 196.9 197.0 197.1 197.2 197.3 197.5 197.6 197.7 197.7 197.7 197.8 197.5 196.7 195.3 193.6 191.5 189.2 187.0 184.9 183.1 181.6 181.1 183.7 190.0 198.7 208.2 216.4 221.1 221.3 221.2 221.1 221.0 220.8 220.6 220.4 220.3 220.3 220.1 220.1 220.0 219.8 219.6 219.3 219.0 218.7 218.4 218.0 217.7 217.5 217.3 217.2 217.1 217.1 217.1 217.3 217.5 217.9 218.3 218.7 219.3 219.8 220.3 220.7 221.1 221.4 221.5 221.6 221.3 220.6 219.4 217.7 215.6 213.1 210.4 207.7 204.8 202.0 199.4 197.0 195.0 193.2 191.9 191.0 190.6 190.6 190.7 190.8 190.9 191.0 191.2 191.5 191.7 192.0 192.3 192.7 193.0 193.3 193.6 193.9 194.3 194.6 194.9 195.2 195.4 195.6 195.7 195.8 195.9 196.0 196.2 196.6 197.5 199.0 200.8 202.9 205.2 207.8 210.4 213.0 215.5 217.7 219.7 221.3 222.4 223.1 223.1 222.9 222.6 221.9 221.2 220.4 219.7 218.8 218.1 217.6 217.2 217.1 217.1 217.1 217.3 217.5 217.8 218.1 218.5 218.9 219.3 219.6 220.0 220.5 220.8 221.1 221.3 221.5 221.5 221.6 221.4 221.1 220.6 220.0 219.2 218.3 217.2 216.1 214.9 213.6 212.3 211.0 209.8 208.6 207.4 206.3 205.4 204.5 203.9 203.8 203.7 203.7 203.6 203.5 203.4 203.3 203.2 203.1 203.0 202.9 202.8 202.7 202.6 202.5 202.4 202.3 202.2 202.1 202.0 201.9 201.8 201.7 201.6 201.5 201.4 201.3 201.2 201.1 201.0 200.9 200.8 200.7 200.6 200.5 200.4 200.3 200.2 200.1 200.0 199.9 199.8 199.7 199.6 199.5 199.4 199.3 199.3 199.2 199.1 199.0 198.9 198.8 198.7 198.6 198.5 198.4 198.3 198.2 198.1 198.0 197.9 197.8 197.7 197.6 197.5 197.4 197.3 197.2 197.1 197.0 196.9 196.8 196.8 196.7 196.6 196.5 196.4 196.3 196.2 196.1 196.0 195.9 195.8 195.7 195.6 195.5 195.4 195.3 195.2 195.1 195.0 194.9 194.9 194.8 194.7 194.6 194.4 194.3 194.2 194.0 193.9 193.7 193.6 193.5 193.4 193.4 193.4 193.4 193.5 193.7 194.9 196.5 198.4 200.8 203.6 206.6 209.7 212.8 215.7 218.3 220.6 222.3 223.3 223.8 223.7 223.4 223.0 222.4 221.8 221.0 220.3 219.6 218.9 218.4 218.0 217.9 217.9 218.0 218.3 218.7 219.3 219.8 220.3 220.8 221.1 221.3 221.2 220.7 219.6 217.9 215.6 212.9 209.9 206.8 203.7 200.7 197.9 195.5 193.4 191.9 191.0 190.6 190.7 191.0 191.4 191.9 192.4 193.1 193.8 194.6 195.4 196.0 196.6 197.1 197.4 197.6 197.8 197.7 197.6 197.4 197.2 196.9 196.6 196.2 195.9 195.6 195.2 194.9 194.6 194.4 194.2 194.1 194.1 194.1 194.3 194.6 195.1 195.7 196.1 196.5 196.8 196.9 196.7 196.4 196.0 195.5 195.0 194.5 194.1 193.8 193.7 193.9 194.4 195.2 196.3 197.7 199.4 201.3 203.4 205.7 208.0 210.3 212.5 214.6 216.5 218.2 219.6 220.6 221.3 221.6 221.6 221.5 221.4 221.2 221.0 220.7 220.5 220.2 219.9 219.6 219.4 219.2 219.0 218.9 218.9 218.9 218.9 219.0 219.2 219.4 219.7 220.0 220.2 220.6 220.8 221.1 221.4 221.6 221.8 221.9 222.0 222.0 221.9 221.7 221.5 221.1 220.7 220.4 220.0 219.6 219.3 218.9 218.6 218.4 218.3 218.2 218.2 218.3 218.6 219.0 219.5 220.1 220.8 221.4 222.0 222.7 223.2 223.6 223.9 224.1 224.0 223.3 221.9 219.7 217.0 213.9 210.6 207.3 204.4 201.4 198.7 196.3 194.5 193.3 192.9 192.9 192.9 192.9 193.1 193.2 193.4 195.1 195.9 198.4 202.0 206.8 212.4 220.0 220.0 220.0 220.0 220.1 220.1 220.1 220.3 220.3 220.3 220.4 220.4 220.5 220.5 220.5 220.5 220.7 220.9 221.6 222.7 224.2 225.9 227.9 230.1 232.5 234.8 237.2 239.4 241.4 243.1 244.4 245.3 245.9 246.3 246.5 246.8 247.1 247.4 247.8 248.2 248.5 248.7 249.1 249.2 249.4 249.5 249.6 251.3 250.9 250.1 249.1 247.7 245.8 243.8 241.5 239.2 237.0 234.9 232.7 230.7 228.9 227.5 226.4 225.6 225.3 225.5 226.3 227.7 229.6 232.0 234.7 237.5 240.5 243.3 245.8 248.1 249.8 250.8 251.3 251.1 251.0 250.9 250.8 250.5 250.3 250.1 249.7 249.4 249.0 248.7 248.4 248.1 247.8 247.6 247.3 247.1 247.0 246.9 246.9 246.8 246.8 246.8 246.8 246.8 246.8 246.8 246.7 246.7 246.7 246.6 246.5 246.5 246.4 246.4 246.3 246.2 246.2 246.2 246.1 246.1 246.1 246.1 246.1 246.1 246.1 246.1 246.1 246.1 246.4 246.6 247.0 247.5 247.9 248.5 249.2 250.0 250.6 251.3 252.0 252.7 253.3 253.8 254.3 254.7 255.0 255.2 255.3 255.2 254.6 253.8 252.7 251.4 250.0 248.4 246.9 245.4 244.0 242.8 242.1 241.6 241.4 241.6 241.9 242.4 243.2 244.0 245.1 246.3 247.6 248.8 250.1 251.4 252.6 253.7 254.6 255.4 255.9 256.3 256.5 256.4 256.1 255.7 255.2 254.6 253.8 252.8 251.8 250.7 249.6 248.4 247.2 246.1 245.0 244.0 243.1 242.3 241.7 241.2 240.8 240.6 240.6 240.6 241.0 241.4 242.0 242.7 243.6 244.4 245.3 246.3 247.2 247.9 248.6 249.2 249.6 249.9 250.1 250.0 249.9 249.6 249.3 249.0 248.7 248.3 248.0 248.1 248.2 248.4 248.6 248.8 249.0 249.2 249.4 249.6 249.7 249.9 250.1 250.3 250.5 250.7 250.9 251.1 251.3 251.5 251.6 251.8 252.0 252.2 252.4 252.6 252.8 253.0 253.2 253.4 253.5 253.7 253.9 254.1 254.3 254.5 254.7 254.9 255.1 255.3 255.5 255.7 255.9 256.1 256.2 256.4 256.6 256.8 257.0 257.2 257.4 257.6 257.8 258.0 258.2 258.4 258.6 258.8 259.0 259.2 259.4 259.6 259.8 260.0 260.1 260.3 260.5 260.7 260.9 261.1 261.3 261.5 261.7 261.9 262.1 262.3 262.5 262.7 262.9 263.1 263.3 263.5 263.7 263.9 264.1 264.3 264.5 264.7 264.9 265.1 265.3 265.5 265.7 265.9 266.1 266.3 266.5 266.7 266.9 267.1 267.3 267.5 267.7 267.9 268.1 268.3 268.5 268.7 268.9 269.1 269.3 269.6 269.8 270.0 270.2 270.4 270.6 270.8 271.0 271.2 271.4 271.6 271.8 272.0 272.2 272.4 272.6 272.8 273.0 273.2 273.4 273.7 273.9 274.1 274.3 274.5 274.7 274.9 275.1 275.3 275.5 275.7 275.9 276.1 276.4 276.6 276.8 277.0 277.2 277.4 277.6 277.8 278.0 278.2 278.5 278.7 278.9 279.1 279.3 279.5 279.7 279.9 280.1 280.4 280.6 280.8 281.0 281.2 281.4 281.6 281.8 282.1 282.3 282.5 282.7 282.9 283.1 283.3 283.5 283.8 284.0 284.2 284.4 284.6 284.8 285.1 285.3 285.5 285.7 285.9 286.1 286.3 286.6 286.8 287.0 287.2 287.4 287.6 287.9 288.1 288.3 288.5 288.7 289.0 289.2 289.4 289.6 289.8 290.0 290.3 290.5 290.7 290.8 290.8 290.8 290.8 290.8 290.8 291.0 291.7 292.8 294.3 296.0 298.1 300.4 303.0 305.8 308.7 311.6 314.6 317.7 320.4 323.1 325.6 327.7 329.5 331.0 331.9 332.4 332.7 332.7 332.7 332.7 332.7 332.8 332.9 332.9 333.0 333.1 333.1 333.1 333.1 333.3 332.9 332.2 331.2 329.7 327.9 325.7 323.2 320.4 317.6 314.7 311.8 308.8 306.0 303.3 300.9 298.7 296.7 295.0 293.7 292.8 292.3 292.1 292.1 292.1 292.2 292.4 292.5 292.6 292.8 293.0 293.2 293.4 293.7 293.8 294.0 294.1 294.3 294.3 294.4 294.5 294.4 294.3 294.3 294.1 294.0 293.8 293.6 293.4 293.2 292.9 292.8 292.6 292.6 292.6 292.6 292.6 292.6 292.6 292.6 292.6 292.6 292.6 292.6 292.6 292.6 292.6 292.6 292.1 290.8 288.6 285.5 281.7 276.9 271.5 265.6 259.2 252.5 245.5 238.3 231.1 224.0 217.1 210.3 203.8 197.7 191.9 186.6 181.7 177.3 173.3 169.9 167.1 164.7 162.9 161.5 160.8 160.6 160.6 160.6 160.7 160.8 161.0 161.1 161.4 161.6 161.8 162.1 162.4 162.6 162.9 163.1 163.3 163.5 163.6 163.8 163.8 163.9 164.0 164.0 164.0 164.0 164.0 164.0 164.1 164.1 164.1 164.2 164.3 164.3 164.4 164.4 164.5 164.6 164.6 164.7 164.7 164.7 164.7 164.7 164.8 164.8 164.8 164.9 165.0 165.2 165.3 165.5 165.8 166.0 166.2 166.4 166.6 166.8 167.0 167.1 167.2 167.3 167.4 167.2 166.7 165.9 164.7 163.2 161.5 159.8 158.0 156.3 154.8 153.7 152.8 152.3 152.1 156.9 167.9 181.9 194.6 202.3 202.2 202.1 201.8 201.5 201.0 200.7 200.2 199.7 199.2 198.8 198.5 198.3 198.2 198.1 198.0 198.0 198.0 197.9 197.9 197.8 197.7 197.6 197.5 197.5 197.5 197.5 197.3 196.9 196.5 196.1 195.8 195.7 196.0 197.1 198.8 201.0 203.6 206.5 209.6 212.5 215.3 217.6 219.5 220.6 221.0 220.9 220.8 220.7 220.5 220.2 220.0 219.7 219.4 219.0 218.7 218.4 218.1 217.9 217.7 217.5 217.5 217.5 217.5 217.5 217.7 217.9 218.2 218.5 218.9 219.2 219.6 220.0 220.4 220.7 220.9 221.1 221.3 221.3 221.3 221.3 221.3 221.1 221.0 220.9 220.8 220.6 220.5 220.3 220.1 220.0 219.8 219.7 219.6 219.6 219.6 219.6 219.6 219.6 219.7 219.8 219.9 220.1 220.3 220.4 220.6 220.8 221.0 221.1 221.3 221.4 221.5 221.5 221.5 221.7 221.6 221.4 221.3 221.1 220.8 220.5 220.1 219.7 219.2 218.8 218.4 217.9 217.4 217.0 216.6 216.2 215.9 215.6 215.4 215.2 215.1 215.1 215.3 215.7 216.4 217.5 218.6 220.1 221.5 222.9 224.1 225.2 226.1 226.5 226.7 226.4 226.0 225.4 224.7 223.9 222.9 221.8 220.7 219.6 218.6 217.7 216.8 216.2 215.8 215.7 216.0 216.7 217.9 219.5 221.3 223.0 224.4 225.5 226.0 225.9 225.5 224.8 223.9 223.1 222.1 221.1 220.2 219.4 218.7 218.4 218.1 217.7 217.4 217.1 216.8 216.4 216.1 215.8 215.5 215.1 214.8 214.5 214.2 213.8 213.5 213.2 212.9 212.5 212.2 211.9 211.6 211.3 211.0 210.6 210.3 210.0 209.7 209.4 209.0 208.7 208.4 208.1 207.8 207.5 207.2 206.9 206.5 206.2 205.9 205.6 205.3 205.0 204.7 204.4 204.1 203.8 203.4 203.1 202.8 202.5 202.2 201.9 201.6 201.3 201.0 200.7 200.4 200.1 199.8 199.5 199.2 198.9 198.6 198.3 198.0 197.7 197.4 197.1 196.8 196.5 196.2 195.9 195.6 195.3 195.0 194.7 194.4 194.1 193.9 193.6 193.3 193.0 192.7 192.4 192.1 191.8 191.5 191.2 190.9 190.7 190.4 190.1 189.8 189.5 189.2 188.9 189.1 189.8 191.0 192.7 195.0 197.7 200.9 204.4 208.3 212.4 216.6 221.0 225.4 229.7 233.8 237.7 241.2 244.1 246.5 248.3 249.5 250.0 250.0 249.8 249.6 249.3 248.8 248.3 247.9 247.5 247.0 246.6 246.4 246.1 246.1 246.1 246.1 246.3 246.5 246.8 247.1 247.4 247.8 248.0 248.4 248.6 248.9 249.0 249.1 248.1 248.1 248.3 249.0 250.5 252.7 255.8 259.6 264.0 269.0 274.6 280.7 287.4 294.6 302.2 310.1 318.2 326.4 334.5 342.6 350.3 357.7 364.5 370.0 375.2 380.0 383.8 386.5 388.2 388.8 388.8 388.8 388.8 388.8 388.8 388.8 388.8 389.0 389.1 389.1 389.1 389.1 389.1 389.1 389.1 389.2 389.6 390.9 393.3 396.6 401.2 406.3 411.8 417.6 423.4 429.0 433.9 437.8 440.8 442.6 443.3 443.1 442.8 442.5 441.9 441.3 440.6 439.7 439.1 438.5 437.8 437.3 436.9 436.5 436.5 436.2 435.4 433.9 431.2 428.1 424.4 420.4 416.1 411.5 407.0 402.6 398.6 395.0 392.0 389.5 387.8 387.0 387.3 389.7 396.9 406.8 417.7 428.4 437.3 443.1 444.0 443.8 443.8 443.8 443.7 443.4 443.2 443.0 442.8 442.4 442.1 441.8 441.4 440.9 440.5 440.3 439.9 439.5 439.1 438.6 438.2 438.0 437.6 437.2 436.9 436.7 436.5 436.3 436.1 435.9 435.7 435.7 435.7 435.7 435.5 435.3 435.1 434.8 434.4 433.9 433.3 432.5 431.7 430.8 429.7 428.7 427.7 426.3 425.1 424.0 422.6 420.9 419.3 417.6 415.9 414.2 412.2 410.2 408.2 406.3 404.3 402.1 400.0 397.7 395.4 393.1 390.8 388.4 386.2 383.7 381.3 378.9 376.4 374.0 371.5 369.0 366.7 364.3 361.8 359.2 356.8 354.4 352.0 349.6 347.3 345.0 342.6 340.3 338.0 335.9 333.7 331.5 329.4 327.2 325.2 323.2 321.3 319.4 317.8 316.0 314.2 312.4 310.8 309.2 307.5 306.0 304.5 303.1 301.8 300.5 299.2 298.1 296.9 295.8 294.8 293.8 293.0 292.1 291.4 290.7 290.0 289.5 288.9 288.5 288.0 287.7 287.4 287.3 287.2 287.1 287.0 286.6 285.4 283.7 281.5 278.9 276.0 272.7 269.3 265.9 262.5 259.4 256.4 253.7 251.5 249.9 248.6 247.8 247.7 247.9 248.9 250.2 252.1 254.3 257.0 259.8 263.1 266.6 270.1 273.7 277.2 280.7 283.9 286.6 289.0 291.0 292.5 293.3 293.7 293.5 293.5 293.4 293.3 293.3 293.2 293.0 292.9 292.8 292.8 292.6 292.6 292.6 292.6 292.8 293.2 293.8 294.3 295.2 295.9 296.6 297.4 298.1 298.6 298.9 299.1 299.3 299.0 298.1 296.9 295.4 293.6 291.6 289.5 287.5 285.6 283.9 282.5 281.4 280.9 280.7 281.1 282.3 284.1 286.5 289.6 293.2 297.3 301.7 306.3 311.0 315.6 320.1 323.9 327.5 330.3 332.4 333.8 334.4 334.1 333.7 332.9 331.9 330.9 329.8 328.9 328.0 327.5 327.4 327.4 327.4 327.7 328.2 328.7 329.3 329.9 330.7 331.5 332.2 332.9 333.7 334.4 335.1 335.7 336.4 336.8 337.1 337.2 337.5 337.3 336.7 335.7 334.5 332.9 331.1 329.2 327.3 325.3 323.5 321.9 320.5 319.5 318.9 318.6 318.7 319.1 319.9 321.1 322.5 324.0 325.8 327.6 329.4 331.1 332.5 333.6 334.5 335.0 335.4 335.2 334.8 334.2 333.5 332.5 331.5 330.4 329.3 328.3 327.4 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2 327.2", + "f0_timestep": "0.005" + }, + { + "offset": 37.012, + "text": "AP 嫣 然 笑 几 分 娇 SP 不 染 风 尘 铸 的 刀 AP 悬 琴 箫 风 雅 SP 温 柔 声 色 告 SP", + "ph_seq": "AP y En r an x iao j i f en j iao SP b u r an f eng ch en zh u d e d ao AP x van q in x iao f eng y a SP w en r ou sh eng s e g ao SP", + "ph_dur": "0.533 0.045 0.136 0.045 0.242 0.12 0.437 0.105 0.12 0.06 0.423 0.12 0.361 0.301 0.06 0.136 0.045 0.121 0.06 0.256 0.105 0.302 0.06 0.136 0.045 0.301 0.06 0.904 0.617 0.105 0.121 0.06 0.242 0.12 0.377 0.165 0.316 0.045 0.362 0.316 0.045 0.317 0.045 0.12 0.06 0.121 0.06 0.257 0.105 0.361 0.144", + "ph_num": "2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 1", + "note_seq": "rest D4 B3 E3 G3 B3 A3 rest G4 F#4 G4 F#4 G4 A4 B4 rest A3 A3 B3 E4 D4 rest B3 A3 E3 G3 E3 rest", + "note_dur": "0.578 0.181 0.362 0.542 0.18 0.543 0.361 0.361 0.181 0.181 0.361 0.362 0.181 0.361 0.904 0.722 0.181 0.362 0.542 0.361 0.362 0.361 0.362 0.18 0.181 0.362 0.361 0.144", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.3 293.4 293.6 293.8 294.1 294.3 294.6 294.9 295.1 295.3 295.6 295.9 296.2 296.3 296.5 296.6 296.7 296.7 296.8 296.8 296.7 296.5 296.0 295.6 295.1 294.5 294.0 293.6 293.0 292.6 292.1 291.8 291.6 291.6 291.1 289.8 288.0 285.5 282.5 278.9 275.1 271.5 267.9 264.1 260.3 257.0 254.1 251.7 249.9 248.7 248.1 248.0 247.9 247.7 247.5 247.2 246.9 246.5 246.2 245.9 245.6 245.4 245.3 245.2 245.2 245.2 245.5 245.8 246.2 246.7 247.2 247.8 248.4 249.0 249.5 250.0 250.5 250.8 251.1 251.2 251.0 250.4 249.4 247.8 245.7 243.2 240.3 237.0 233.4 229.6 225.6 221.8 217.9 213.6 209.2 204.9 200.7 196.7 192.8 189.0 185.5 182.3 179.3 176.6 174.2 172.2 170.4 169.0 168.1 167.4 167.0 166.9 166.8 166.8 166.7 166.6 166.6 166.5 166.4 166.2 166.2 166.0 165.9 165.7 165.6 165.5 165.3 165.2 165.1 165.0 164.9 164.9 164.8 164.8 164.8 164.8 164.7 164.7 164.6 164.6 164.5 164.4 164.3 164.2 164.1 164.1 164.0 163.9 163.8 163.8 163.7 163.7 163.7 163.7 163.7 163.7 163.8 163.8 163.9 164.0 164.1 164.2 164.2 164.3 164.5 164.6 164.6 164.6 164.7 164.7 164.8 164.8 164.7 164.7 164.7 164.7 164.7 164.6 164.6 164.5 164.5 164.5 164.5 164.5 164.5 164.6 164.8 165.1 165.5 165.9 166.2 166.4 166.6 166.5 166.2 165.6 164.7 163.7 162.4 161.1 159.8 158.4 157.1 156.0 155.0 154.3 153.7 153.5 153.7 154.4 155.8 157.8 160.5 163.7 167.2 170.8 174.3 178.4 182.3 186.1 189.5 192.4 194.6 195.9 196.6 196.5 196.5 196.4 196.3 196.3 196.2 196.2 196.2 196.3 196.4 196.6 197.0 197.2 197.4 197.1 196.1 194.6 192.0 189.1 186.1 183.2 180.6 178.6 177.5 177.3 178.1 180.5 184.1 188.6 193.9 199.7 205.5 211.0 215.8 219.4 221.6 222.4 222.3 222.3 222.2 222.0 221.9 221.7 221.5 221.3 221.1 220.9 220.7 220.5 220.4 220.2 220.0 220.0 220.0 220.0 220.3 221.1 222.3 223.9 225.9 228.1 230.5 233.2 236.0 238.8 241.4 243.7 245.9 248.0 249.7 250.9 251.8 252.1 252.0 251.8 251.5 251.3 250.9 250.4 250.0 249.6 249.2 248.9 248.6 248.5 248.5 248.5 248.5 248.6 248.8 249.0 249.2 249.4 249.7 250.0 250.2 250.4 250.7 250.9 251.2 251.3 251.5 251.5 251.5 251.6 251.4 250.7 249.6 248.2 246.6 244.7 242.6 240.2 237.8 235.4 233.1 231.1 228.9 226.8 224.9 223.3 221.9 220.8 220.1 219.7 219.5 219.1 218.4 217.3 215.8 214.2 212.4 210.5 208.5 206.7 205.0 203.4 202.2 201.3 200.6 200.4 200.5 200.8 201.6 202.8 204.3 206.1 208.1 210.2 212.5 214.7 217.0 219.1 221.0 222.6 223.8 224.8 225.1 225.1 224.8 224.0 223.1 221.9 220.6 219.3 218.0 217.0 215.8 214.9 214.4 214.0 214.2 215.0 216.3 218.1 220.1 222.0 223.5 224.4 224.8 224.6 224.0 223.2 222.1 220.9 219.6 218.4 217.2 216.3 215.6 215.2 215.1 215.2 215.5 215.9 216.5 217.3 218.1 218.9 219.8 220.5 221.1 221.6 221.9 222.0 221.9 221.7 221.5 221.1 220.8 220.4 219.9 219.5 219.1 218.8 218.5 218.4 218.2 219.8 221.7 223.6 225.6 227.6 229.6 231.6 233.6 235.7 237.7 239.8 241.9 244.0 246.2 248.3 250.5 252.7 254.9 257.2 259.4 261.7 264.0 266.3 268.6 271.0 273.4 275.8 278.2 280.6 283.1 285.6 288.1 290.6 293.1 295.7 298.3 300.9 303.6 306.2 308.9 311.6 314.3 317.1 319.9 322.7 325.5 328.4 331.2 334.2 337.1 340.0 343.0 346.0 349.1 352.1 355.2 358.3 361.5 364.6 367.8 371.1 374.3 377.6 380.9 384.2 387.6 391.0 394.4 397.9 401.4 399.4 397.3 395.4 393.5 391.9 390.8 389.9 389.3 389.3 389.3 389.5 389.7 390.0 390.4 390.9 391.3 391.9 392.3 392.7 393.1 393.4 393.6 393.6 393.5 392.6 391.2 389.3 386.5 383.9 381.1 377.8 374.5 371.5 368.7 366.4 364.5 363.3 362.8 362.8 363.0 363.4 364.0 364.9 365.8 366.7 367.7 368.6 369.5 370.4 371.3 371.9 372.4 372.6 372.8 372.1 370.5 368.0 364.7 360.8 356.4 351.4 346.4 341.5 336.9 332.5 328.7 325.7 323.3 321.8 321.2 329.6 348.6 372.6 391.8 394.4 394.3 394.3 394.3 394.1 393.9 393.7 393.5 393.4 393.4 393.2 393.1 393.1 393.1 392.9 392.8 392.4 392.1 391.7 391.1 390.5 390.1 389.7 389.4 389.3 389.3 389.3 389.6 390.2 390.9 391.8 392.9 393.8 395.0 396.0 396.9 397.9 398.6 399.0 399.2 399.4 398.8 397.5 395.6 393.0 390.0 386.7 383.0 379.6 376.0 372.7 369.8 367.3 365.3 364.1 363.6 363.4 363.5 363.7 363.8 364.2 364.5 364.9 365.3 365.9 366.4 366.9 367.6 368.2 368.7 369.2 369.8 370.1 370.5 370.9 371.1 371.3 371.5 371.7 371.6 371.5 371.4 371.1 370.9 370.6 370.2 369.8 369.3 368.9 368.6 368.1 367.7 367.3 367.0 366.8 366.4 366.4 366.4 366.4 366.4 366.4 366.6 366.9 367.1 367.4 367.7 368.1 368.6 369.1 369.6 370.0 370.5 371.1 371.6 372.1 372.7 373.1 373.5 374.1 374.4 374.8 375.1 375.2 375.4 375.6 375.6 375.6 374.5 371.5 367.8 363.4 357.9 352.5 347.3 342.9 339.6 337.6 337.1 338.1 341.2 345.7 351.5 358.1 365.3 372.8 379.8 386.0 390.8 393.9 395.6 395.6 395.6 395.7 395.9 396.1 396.3 396.5 396.8 397.1 397.3 397.5 397.5 397.5 397.3 396.1 393.8 390.0 385.6 380.5 375.1 369.6 364.5 360.1 356.5 353.9 352.4 390.2 391.1 393.9 397.5 402.1 408.0 414.3 420.8 426.7 431.7 435.5 437.9 438.4 438.2 438.0 437.8 437.4 437.0 436.5 436.1 435.7 435.3 435.0 434.9 434.9 434.9 435.4 436.2 437.1 438.2 439.5 440.6 441.6 442.5 443.3 443.9 444.1 443.9 443.7 443.3 442.8 442.2 441.5 440.9 440.1 439.2 438.5 437.8 437.2 436.6 436.1 435.8 435.7 435.7 437.0 435.4 432.9 429.7 426.0 421.7 417.8 414.3 411.6 409.6 408.6 408.9 409.6 410.8 412.2 413.2 413.9 414.3 415.3 417.1 419.5 422.2 425.5 429.0 432.0 434.9 438.0 440.5 442.2 443.4 444.1 443.9 443.7 443.4 443.1 442.7 442.3 441.9 441.3 440.8 440.3 439.7 439.2 438.8 438.4 438.1 437.9 437.7 437.7 437.7 438.2 439.0 440.0 441.4 443.1 445.0 447.1 449.4 451.8 454.5 457.4 460.5 463.6 466.6 469.6 472.8 476.0 478.9 481.8 484.4 486.9 489.2 491.3 493.2 494.6 495.7 496.6 497.3 497.6 496.6 497.7 498.8 499.4 499.9 500.2 500.0 499.6 499.1 498.6 497.9 496.9 495.8 494.6 493.3 491.9 490.8 489.3 488.1 486.9 485.9 485.0 484.3 483.6 483.1 482.9 482.9 483.1 483.7 484.8 486.3 488.0 489.9 492.3 494.5 496.7 498.9 500.8 502.5 504.0 504.8 505.4 505.5 504.8 503.4 501.5 499.1 496.5 493.6 490.8 488.5 486.6 485.1 484.4 484.3 484.3 484.6 485.3 486.0 486.8 487.7 488.7 489.9 491.3 492.7 494.2 495.6 497.0 498.2 499.6 500.7 501.7 502.7 503.7 504.4 504.9 505.3 505.6 505.4 504.7 503.7 502.2 500.1 497.7 495.2 492.6 490.0 487.4 485.0 482.9 481.2 480.0 479.2 479.0 479.0 479.5 480.2 481.2 482.6 484.2 485.9 487.6 489.5 491.4 493.0 494.7 496.0 497.0 497.8 498.3 498.4 498.2 498.2 497.7 497.4 497.0 496.6 496.0 495.3 494.8 494.4 493.9 493.2 492.7 492.3 492.0 491.6 491.3 488.9 485.8 482.8 479.8 476.8 473.8 470.9 467.9 465.0 462.1 459.2 456.4 453.5 450.7 447.9 445.1 442.3 439.5 436.8 434.1 431.4 428.7 426.0 423.3 420.7 418.1 415.5 412.9 410.3 407.7 405.2 402.7 400.2 397.7 395.2 392.7 390.3 387.8 385.4 383.0 380.6 378.3 375.9 373.5 371.2 368.9 366.6 364.3 362.0 359.8 357.5 355.3 353.1 350.9 348.7 346.5 344.4 342.2 340.1 338.0 335.9 333.8 331.7 329.6 327.6 325.5 323.5 321.5 319.5 317.5 315.5 313.5 311.6 309.6 307.7 305.8 303.9 302.0 300.1 298.2 296.4 294.5 292.7 290.8 289.0 287.2 285.4 283.7 281.9 280.1 278.4 276.6 274.9 273.2 271.5 269.8 268.1 266.4 264.8 263.1 261.5 259.9 258.2 256.6 255.0 253.4 251.9 250.3 248.7 247.2 245.6 244.1 242.6 241.1 239.6 238.1 236.6 235.1 233.6 232.2 230.7 229.3 227.9 226.4 225.0 223.6 222.2 220.8 219.5 218.1 216.7 215.4 214.0 212.7 211.4 210.1 208.8 207.5 206.2 204.9 204.4 207.1 209.7 212.3 214.8 217.0 218.9 220.6 221.7 222.4 222.8 222.7 222.7 222.6 222.6 222.5 222.4 222.4 222.4 222.2 221.3 218.6 215.2 211.5 208.0 205.2 203.5 203.3 203.6 204.3 205.4 206.7 208.3 209.9 211.8 213.6 215.3 216.8 218.0 219.0 219.7 220.0 219.9 219.9 219.7 219.6 219.5 219.2 219.1 218.9 218.7 218.6 218.5 218.3 218.2 218.2 218.2 218.2 218.4 218.6 218.9 219.2 219.5 219.9 220.3 220.7 221.0 221.3 221.6 221.8 221.9 222.0 221.9 221.4 220.6 219.5 218.2 216.8 215.1 213.6 212.0 210.5 209.2 208.2 207.5 207.1 206.9 207.0 207.3 207.8 208.4 209.2 210.2 211.2 212.4 213.6 214.7 216.0 217.1 218.2 219.2 220.1 220.7 221.2 221.5 221.7 221.6 221.5 221.5 221.5 221.5 221.5 221.5 222.4 222.6 222.9 223.5 224.1 224.9 225.9 227.0 228.2 229.5 230.8 232.2 233.7 235.1 236.3 237.7 239.1 240.4 241.6 242.6 243.7 244.5 245.1 245.6 245.9 245.1 244.8 244.5 244.1 243.8 243.6 243.5 243.4 243.4 243.4 243.5 243.7 244.0 244.2 244.5 244.9 245.3 245.8 246.2 246.6 247.1 247.6 247.9 248.3 248.6 248.8 248.9 249.1 249.2 249.2 249.2 249.4 249.6 249.7 250.0 250.1 250.2 250.3 250.4 250.4 250.1 249.1 247.4 245.1 242.3 239.0 235.6 232.1 228.7 225.4 222.4 220.1 218.2 216.9 216.2 216.3 216.9 218.4 220.8 223.9 227.8 232.4 237.6 243.5 250.1 257.1 264.4 272.1 279.8 287.6 295.2 302.4 309.2 315.3 320.8 325.3 328.6 330.8 331.9 332.0 331.9 333.7 333.7 333.6 333.5 333.1 332.8 332.5 332.2 331.9 331.4 331.0 330.5 330.0 329.5 329.1 328.6 328.2 327.8 327.4 327.1 327.0 326.7 326.5 326.4 326.4 326.4 326.5 326.6 326.8 327.3 327.6 328.0 328.5 329.1 329.5 330.0 330.5 331.0 331.4 331.9 332.1 332.4 332.5 332.6 331.9 329.8 326.3 321.5 315.7 308.6 300.9 292.8 284.6 276.5 268.7 261.3 254.5 248.4 243.3 239.1 235.8 233.8 232.9 233.1 234.4 237.0 240.7 245.5 251.2 257.4 264.0 270.6 277.0 282.5 287.3 290.8 292.9 293.6 293.5 293.5 293.4 293.2 292.9 292.6 292.5 292.3 292.0 291.7 291.6 291.5 291.3 291.3 291.4 291.6 292.0 292.7 293.5 294.5 295.6 296.6 297.6 298.5 299.1 299.5 299.8 299.7 299.5 299.2 299.0 298.4 297.8 297.2 296.6 295.9 295.2 294.5 293.8 293.1 292.5 292.1 291.6 291.4 291.3 291.3 291.4 291.8 292.4 293.0 293.8 294.7 295.5 296.4 297.1 297.6 298.1 298.5 298.6 298.6 298.2 297.6 296.9 295.9 295.0 294.2 293.4 292.8 291.4 290.0 288.6 287.3 285.9 284.5 283.1 281.8 280.4 279.1 277.8 276.4 275.1 273.8 272.5 271.2 269.9 268.6 267.3 266.0 264.8 263.5 262.2 261.0 259.7 258.5 257.2 256.0 254.8 253.6 252.3 251.1 249.9 248.7 247.6 246.4 245.2 244.0 242.8 241.7 240.5 239.4 238.2 237.1 236.0 234.8 233.7 232.6 231.5 230.4 229.3 228.2 227.1 226.0 224.9 223.8 222.8 221.7 220.6 219.6 218.5 217.5 217.6 217.7 217.8 217.9 218.0 218.1 218.2 218.3 218.4 218.2 218.4 218.7 219.1 219.7 220.6 221.5 222.5 223.6 224.8 226.1 227.5 228.9 230.4 231.9 233.5 235.0 236.4 237.9 239.3 240.6 241.9 242.9 243.9 244.7 245.3 245.9 246.2 246.3 246.5 246.4 246.4 246.3 246.2 246.2 246.1 246.0 245.9 245.8 245.6 245.5 245.4 245.3 245.2 245.2 245.2 245.2 245.1 244.7 244.3 243.8 243.1 242.2 241.3 240.1 239.0 237.8 236.5 235.1 233.8 232.4 231.1 229.7 228.4 227.1 225.9 224.8 223.8 222.9 222.2 221.6 221.0 220.6 220.3 220.3 220.3 220.3 220.4 220.5 220.7 220.9 221.1 221.2 221.4 221.5 221.5 221.5 221.1 220.4 219.5 218.1 216.7 215.0 212.9 210.7 208.3 205.6 202.9 200.1 197.2 194.4 191.5 188.7 185.9 183.2 180.7 178.3 176.1 174.0 172.1 170.4 169.0 167.8 166.8 166.1 165.6 165.3 165.3 165.5 165.9 166.3 166.6 166.9 166.6 165.8 164.4 162.6 160.4 158.1 155.8 153.7 151.8 150.3 149.3 150.2 151.1 152.8 155.2 158.5 162.4 166.6 171.2 175.9 180.7 185.1 188.9 192.1 194.4 195.9 196.2 196.1 196.0 195.8 195.7 195.5 195.3 195.1 195.0 195.0 195.0 195.0 195.0 195.2 195.3 195.5 195.7 195.8 196.0 196.2 196.5 196.7 196.9 197.1 197.2 197.2 197.3 197.4 197.4 197.2 196.7 196.0 195.0 193.7 192.3 190.7 188.9 187.0 185.0 183.0 180.9 178.8 176.7 174.8 172.9 171.2 169.5 168.1 166.9 165.8 164.9 164.2 163.8 163.7 164.0 164.2 164.3 164.5 164.6 164.7 164.7 164.8 164.8 164.7 164.6 164.4 164.1 163.9 163.6 163.3 163.1 162.8 162.5 162.2 162.0 161.8 161.7 161.6 161.6 161.6 161.8 162.1 162.5 162.9 163.4 164.0 164.6 165.2 165.8 166.3 166.7 167.1 167.4 167.5 167.7 167.6 167.5 167.3 167.0 166.7 166.3 165.9 165.5 165.0 164.5 164.1 163.7 163.3 162.9 162.6 162.4 162.2 162.2 162.2 162.2 162.4 162.6 162.9 163.1 163.5 163.9 164.3 164.7 165.0 165.3 165.5 165.8 165.8 165.8 165.7 165.6 165.5 165.3 165.1 164.9 164.6 164.3 164.1 163.8 163.6 163.4 163.4 163.4 163.4 163.4 163.4 163.4 163.4 163.4 163.4 163.4 163.4 163.4 163.4 163.4 163.4 163.4 163.4 163.4 163.4 163.4 163.4 163.4 163.4 163.4 163.4 163.4 163.4", + "f0_timestep": "0.005" + }, + { + "offset": 48.918, + "text": "SP 娇 容 调 的 色 调 SP 惊 艳 的 刚 好 SP 梨 涡 晕 的 正 俏 SP 潋 滟 如 云 渺 SP", + "ph_seq": "SP j iao r ong t iao d e s e d iao SP j ing y En d e g ang h ao SP l i w o y vn d e zh eng q iao SP l ian y En r u y vn m iao SP", + "ph_dur": "0.48 0.12 0.317 0.045 0.286 0.075 0.316 0.045 0.121 0.06 0.302 0.06 0.361 0.4789 0.0631 0.317 0.045 0.135 0.045 0.468 0.075 0.256 0.105 0.723 1.039 0.045 0.317 0.045 0.316 0.045 0.317 0.045 0.12 0.06 0.242 0.12 0.361 0.482 0.06 0.302 0.06 0.316 0.045 0.663 0.06 0.242 0.12 0.542 0.4", + "ph_num": "2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 1", + "note_seq": "rest E4 D4 E3 G3 A3 A3 rest A3 G3 A3 B3 B3 rest E4 D4 B3 G3 A3 A3 rest B3 A4 A4 D4 E4 rest", + "note_dur": "0.6 0.362 0.361 0.361 0.181 0.362 0.361 0.542 0.362 0.18 0.543 0.361 0.723 1.084 0.362 0.361 0.362 0.18 0.362 0.361 0.542 0.362 0.361 0.723 0.362 0.542 0.4", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 238.4 241.6 247.3 253.3 259.4 265.4 271.2 276.8 281.9 286.5 290.5 293.8 296.2 297.8 298.7 299.0 299.7 300.8 302.3 304.4 306.7 309.2 311.5 313.8 316.4 318.5 320.4 322.0 323.1 323.7 323.7 323.6 323.6 323.6 323.6 323.6 323.5 323.4 323.4 323.4 323.2 323.2 323.2 323.2 323.2 323.2 323.2 323.2 323.2 323.4 323.8 324.2 324.5 324.8 325.1 325.1 325.2 324.8 324.3 323.6 322.5 321.3 319.8 318.1 316.4 314.4 312.3 310.3 308.3 306.3 304.2 302.3 300.4 298.7 297.2 295.8 294.7 293.8 293.2 292.8 292.6 292.5 292.5 292.4 292.3 292.3 292.2 292.0 291.9 291.7 291.6 291.5 291.5 291.4 291.3 291.3 291.3 291.3 291.4 291.6 292.0 292.4 292.6 293.2 293.7 294.1 294.5 294.7 295.0 295.3 295.4 295.4 294.8 293.8 292.0 289.8 287.2 284.2 280.8 277.2 273.3 269.3 265.7 262.2 258.3 254.6 251.1 247.8 244.8 242.1 239.9 238.1 236.7 235.8 235.3 233.2 227.6 218.1 206.0 193.0 181.5 172.5 166.5 163.7 163.7 163.7 163.9 164.1 164.2 164.6 164.9 165.1 165.4 165.7 166.0 166.2 166.4 166.5 166.6 166.6 166.5 166.5 166.4 166.3 166.2 166.0 165.8 165.7 165.5 165.4 165.2 165.0 164.9 164.8 164.8 164.8 164.8 164.8 164.8 164.8 164.9 165.0 165.0 165.1 165.1 165.2 165.3 165.4 165.4 165.5 165.6 165.7 165.8 165.8 165.8 165.8 165.8 165.6 165.2 164.5 163.6 162.6 161.5 160.4 159.4 158.4 157.6 157.0 156.7 157.0 157.8 159.8 162.9 166.7 171.1 175.9 180.9 185.9 190.2 193.8 196.4 197.9 198.2 198.2 198.2 198.2 198.2 198.2 198.2 198.2 198.2 198.2 198.0 197.2 195.2 192.4 189.1 185.6 182.3 179.5 177.6 176.8 176.6 177.0 177.8 178.9 180.4 182.2 184.3 186.7 189.3 192.1 195.1 198.1 201.2 204.2 207.3 210.2 212.8 215.3 217.3 219.1 220.4 221.4 221.8 222.0 221.9 221.5 221.2 220.7 220.3 220.0 219.7 219.6 219.6 219.6 219.6 219.7 219.7 219.8 219.9 220.0 220.2 220.4 220.5 220.6 220.7 220.8 220.8 220.9 220.9 221.0 221.0 220.9 220.9 220.8 220.8 220.7 220.6 220.5 220.4 220.3 220.3 220.3 220.3 219.7 218.6 217.0 214.9 212.5 209.9 207.5 205.4 203.7 202.5 201.8 201.8 202.1 202.6 203.4 204.5 205.8 207.1 208.5 210.2 212.0 213.9 215.7 217.4 219.2 220.6 221.9 223.0 223.9 224.5 224.8 224.8 224.4 223.8 222.8 221.7 220.4 219.0 217.5 216.1 214.6 213.4 212.2 211.3 210.7 210.3 210.3 210.4 210.9 211.7 212.7 213.9 215.3 216.8 218.5 220.2 221.9 223.6 225.2 226.6 227.8 228.7 229.4 229.8 229.9 229.6 228.6 227.2 225.5 223.5 221.3 219.1 216.9 215.0 213.3 212.0 211.1 210.7 210.8 211.3 212.3 213.6 215.2 216.9 218.5 219.8 220.9 221.5 221.7 221.7 221.7 221.7 221.7 221.7 221.7 221.6 221.4 221.2 220.9 220.7 220.5 220.3 220.0 219.8 219.6 219.4 219.2 218.9 218.7 218.5 218.3 218.0 217.8 217.6 217.4 217.2 216.9 216.7 216.5 216.3 216.1 215.8 215.6 215.4 215.2 215.0 214.8 214.5 214.3 214.1 213.9 213.7 213.4 213.2 213.0 212.8 212.6 212.4 212.2 211.9 211.7 211.5 211.3 211.1 210.9 210.6 210.4 210.2 210.0 209.8 209.6 209.4 209.2 208.9 208.7 208.5 208.3 208.1 207.9 207.7 207.5 207.3 207.0 206.8 206.6 206.4 206.2 206.0 205.8 205.6 205.4 205.2 205.0 204.7 204.5 204.3 204.1 203.9 203.7 203.5 203.3 203.1 202.9 202.7 202.5 202.3 202.1 201.9 201.7 201.5 201.2 201.0 200.8 200.6 200.4 200.2 200.0 199.8 199.6 199.5 199.3 199.1 198.9 198.7 198.4 198.3 198.0 197.9 197.7 197.5 197.4 197.3 197.2 197.2 197.2 197.4 197.8 198.6 199.6 201.1 202.7 204.5 206.6 208.6 210.9 212.8 215.1 216.9 218.7 220.1 221.3 222.1 222.6 222.8 222.8 222.8 222.8 222.8 222.8 222.8 222.8 222.8 222.8 222.8 222.8 222.8 222.4 221.5 220.1 218.3 216.1 213.8 210.9 208.5 205.5 203.0 200.4 198.3 196.4 194.8 193.7 193.0 192.9 192.9 192.9 193.1 193.2 193.4 193.7 194.0 194.3 194.6 194.9 195.3 195.6 195.9 196.1 196.4 196.5 196.7 196.8 196.8 196.8 196.8 196.7 196.5 196.4 196.2 196.0 195.7 195.6 195.5 195.3 195.3 195.3 194.8 193.6 191.8 189.7 187.4 185.2 183.6 182.2 181.7 192.9 218.1 220.2 219.9 219.5 219.0 218.4 217.7 217.1 216.7 216.3 216.1 216.1 216.2 216.3 216.5 216.9 217.3 217.7 218.1 218.4 218.8 219.1 219.4 219.5 219.6 219.6 219.7 219.8 219.9 220.2 220.5 220.8 221.0 221.3 221.6 221.9 222.2 222.5 222.6 222.9 223.0 223.1 223.1 223.1 223.1 223.1 222.9 222.8 222.8 222.6 222.4 222.2 222.1 221.8 221.7 221.4 221.2 221.0 220.8 220.7 220.5 220.4 220.4 220.3 220.3 220.3 220.3 220.3 220.4 220.5 220.6 220.9 221.2 221.4 221.7 221.9 222.2 222.5 222.8 222.9 223.1 223.2 223.3 223.4 223.1 222.3 220.5 218.7 216.3 213.4 210.5 207.5 204.5 201.9 199.3 197.6 196.0 195.2 195.0 196.0 198.4 202.5 207.8 214.1 221.3 228.2 235.7 241.0 246.1 248.9 250.1 250.0 250.0 250.0 249.9 249.8 249.8 249.7 249.7 249.7 249.7 249.7 249.5 249.5 249.5 249.3 249.2 249.0 248.9 248.7 248.5 248.4 248.1 247.9 247.9 247.7 247.7 247.7 247.7 247.7 247.7 247.7 247.9 248.0 248.2 248.3 248.6 248.8 248.9 249.3 249.4 249.6 249.7 249.9 250.0 250.0 250.1 249.5 247.5 244.7 240.9 236.6 232.1 227.9 223.6 220.0 216.7 214.9 213.8 213.8 214.2 215.0 216.3 217.9 220.0 222.2 224.8 227.6 230.4 233.5 236.2 239.4 241.7 244.4 246.4 248.2 249.5 250.3 250.7 250.7 250.4 250.0 249.5 248.7 248.0 247.2 246.4 245.7 245.2 244.8 244.5 244.5 244.5 244.6 244.9 245.1 245.5 245.8 246.2 246.6 247.0 247.4 247.8 248.1 248.4 248.7 248.9 249.1 249.1 249.1 249.0 248.6 248.1 247.5 246.8 246.1 245.2 244.5 243.7 242.9 242.3 241.7 241.3 241.0 241.0 241.0 241.4 241.8 242.5 243.5 244.5 245.5 246.8 247.9 249.2 250.2 251.4 252.3 253.2 253.8 254.2 254.4 254.4 254.0 253.4 252.7 251.7 250.6 249.4 248.1 246.7 245.5 244.1 243.0 242.0 241.0 240.3 239.8 239.6 239.5 239.9 240.6 241.7 243.1 244.6 246.7 248.4 250.3 251.9 253.3 254.4 255.0 255.4 255.1 254.6 253.8 252.9 251.7 250.5 249.0 247.6 246.1 244.8 243.5 242.6 241.8 241.2 241.0 241.0 241.4 241.9 242.6 243.7 244.7 245.9 247.1 248.3 249.3 250.1 250.7 251.1 251.2 251.1 250.8 250.4 249.8 249.2 248.4 247.8 247.1 246.5 246.0 245.8 245.7 245.7 245.7 245.8 246.0 246.1 246.3 246.4 246.7 246.9 246.9 247.1 247.2 247.3 247.5 247.7 247.9 248.1 248.3 248.5 248.6 248.8 249.0 249.2 249.4 249.6 249.8 250.0 250.1 250.3 250.5 250.7 250.9 251.1 251.3 251.5 251.7 251.8 252.0 252.2 252.4 252.6 252.8 253.0 253.2 253.4 253.5 253.7 253.9 254.1 254.3 254.5 254.7 254.9 255.1 255.3 255.5 255.6 255.8 256.0 256.2 256.4 256.6 256.8 257.0 257.2 257.4 257.6 257.8 258.0 258.2 258.3 258.5 258.7 258.9 259.1 259.3 259.5 259.7 259.9 260.1 260.3 260.5 260.7 260.9 261.1 261.3 261.5 261.7 261.9 262.1 262.3 262.5 262.7 262.8 263.0 263.2 263.4 263.6 263.8 264.0 264.2 264.4 264.6 264.8 265.0 265.2 265.4 265.6 265.8 266.0 266.2 266.4 266.6 266.8 267.0 267.2 267.4 267.6 267.8 268.0 268.2 268.4 268.6 268.8 269.0 269.2 269.4 269.6 269.8 270.0 270.2 270.5 270.7 270.9 271.1 271.3 271.5 271.7 271.9 272.1 272.3 272.5 272.7 272.9 273.1 273.3 273.5 273.7 273.9 274.1 274.3 274.5 274.7 275.0 275.2 275.4 275.6 275.8 276.0 276.2 276.4 276.6 276.8 277.0 277.2 277.4 277.7 277.9 278.1 278.3 278.5 278.7 278.9 279.1 279.3 279.5 279.7 280.0 280.2 280.4 280.6 280.8 281.0 281.2 281.4 281.6 281.9 282.1 282.3 282.5 282.7 282.9 283.1 283.3 283.5 283.8 284.0 284.2 284.4 284.6 284.8 285.0 285.3 285.5 285.7 285.9 286.1 286.3 286.5 286.8 287.0 287.2 287.4 287.6 288.1 288.7 289.1 289.6 290.1 290.5 290.9 291.4 291.7 292.0 292.4 292.6 292.8 293.0 293.0 293.0 293.4 294.3 296.4 298.8 302.6 306.4 311.1 315.7 320.4 324.6 328.9 332.4 335.6 337.3 338.6 338.6 338.4 338.0 337.5 336.9 336.0 335.2 334.3 333.5 332.6 331.7 331.1 330.6 330.2 330.0 330.0 329.8 329.7 329.5 329.3 329.1 328.9 328.7 328.5 328.5 328.1 327.1 325.3 322.5 319.5 315.5 311.6 307.4 303.5 299.9 296.7 294.4 292.5 291.6 291.6 291.6 291.8 292.1 292.3 292.6 293.0 293.2 293.4 293.5 293.6 293.5 293.5 293.5 293.5 293.5 293.4 293.3 293.3 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.3 293.2 293.0 292.7 292.2 291.5 290.6 289.6 288.3 287.0 285.5 283.8 281.9 280.0 278.0 275.9 273.8 271.7 269.6 267.4 265.3 263.3 261.3 259.3 257.4 255.7 254.0 252.4 251.1 249.9 248.7 247.8 247.1 246.4 245.9 245.7 245.7 245.7 245.7 245.7 245.9 246.0 246.2 246.3 246.5 246.6 246.7 246.8 246.8 246.5 247.2 247.9 248.7 249.5 250.2 250.8 251.1 251.2 251.1 251.1 250.8 250.5 250.2 249.9 249.5 249.1 248.7 248.3 248.0 247.7 247.4 247.3 247.2 247.2 247.2 247.2 247.3 247.5 247.6 247.8 247.9 248.1 248.3 248.4 248.5 248.6 248.7 248.7 248.7 248.7 248.7 248.5 248.4 248.2 248.1 247.9 247.7 247.6 247.4 247.4 247.3 247.2 247.2 246.8 245.4 242.7 239.4 234.5 229.7 224.1 218.6 213.3 208.0 203.8 199.7 196.9 194.7 193.7 193.4 193.4 193.5 193.6 193.7 193.9 194.1 194.4 194.6 194.8 195.1 195.3 195.6 195.8 196.1 196.2 196.5 196.6 196.7 196.8 196.8 196.8 196.5 196.1 195.3 194.2 193.1 191.6 190.3 188.8 187.5 186.2 185.1 184.1 183.5 183.1 182.9 183.6 185.9 190.5 195.8 202.5 209.1 215.4 220.8 224.1 225.7 225.5 225.2 224.9 224.4 223.8 223.1 222.4 221.8 221.0 220.5 220.1 219.8 219.6 219.6 219.6 219.6 219.7 219.8 220.0 220.1 220.4 220.6 220.8 221.0 221.2 221.4 221.5 221.7 221.8 221.9 221.9 222.0 221.9 221.5 220.9 219.9 219.0 217.8 216.3 214.8 213.3 211.6 210.2 208.7 207.5 206.4 205.6 204.8 204.4 204.3 204.3 204.6 204.9 205.5 206.2 207.0 207.9 208.8 209.9 210.9 212.1 213.2 214.2 215.3 216.3 217.2 217.9 218.5 219.1 219.4 219.5 219.6 219.7 219.8 220.1 220.5 221.0 221.4 221.9 222.4 222.9 223.4 223.8 224.2 224.5 224.6 224.8 224.8 224.6 224.1 223.5 222.5 221.6 220.4 219.4 218.2 217.1 216.2 215.5 215.0 214.8 214.7 214.9 215.3 216.0 216.8 217.7 218.8 219.8 220.9 221.9 222.8 223.5 224.1 224.4 224.6 224.5 224.1 223.6 222.9 222.0 221.1 220.1 219.2 218.2 217.5 216.7 216.1 215.8 215.7 215.7 215.8 216.2 216.6 217.0 217.7 218.3 218.8 219.5 220.0 220.5 220.9 221.2 221.3 220.8 221.5 221.4 221.4 221.4 221.3 221.3 221.2 221.2 221.1 221.1 221.0 221.0 220.9 220.9 220.8 220.8 220.7 220.7 220.7 220.6 220.6 220.5 220.5 220.4 220.4 220.3 220.3 220.2 220.2 220.1 220.1 220.0 220.0 220.0 219.9 219.9 219.8 219.8 219.7 219.7 219.6 219.6 219.5 219.5 219.4 219.4 219.3 219.3 219.3 219.2 219.2 219.1 219.1 219.0 219.0 218.9 218.9 218.8 218.8 218.7 218.7 218.7 218.6 218.6 218.5 218.5 218.4 218.4 218.3 218.3 218.2 218.2 218.1 218.1 218.1 218.0 218.0 217.9 217.9 217.8 217.8 217.7 217.7 217.6 217.6 217.5 217.5 217.5 217.4 217.4 217.3 217.3 217.2 217.2 217.1 217.9 221.9 225.4 229.3 232.5 236.1 239.0 241.9 244.2 246.1 247.5 248.4 248.8 248.7 248.5 248.1 247.6 246.9 246.3 245.7 245.1 244.4 244.0 243.7 243.4 243.4 243.4 243.6 243.9 244.5 245.1 245.8 246.6 247.4 248.2 248.8 249.6 250.1 250.6 251.0 251.1 251.2 251.0 250.6 250.2 249.6 248.8 248.1 247.2 246.4 245.6 244.8 244.1 243.6 243.2 243.0 242.9 242.2 241.0 239.1 236.7 234.4 231.7 229.7 227.8 226.7 226.1 226.3 227.4 228.9 231.9 235.0 239.0 244.2 250.0 256.4 263.9 271.4 280.7 289.0 299.4 308.9 319.6 330.0 340.4 351.1 360.6 371.1 379.1 387.9 394.8 401.0 405.7 409.0 411.1 411.9 411.6 410.8 409.8 408.4 406.7 404.8 403.1 401.2 399.5 397.9 396.8 396.0 395.6 395.8 396.7 398.7 401.6 404.9 409.5 414.0 419.2 424.5 429.7 434.8 439.2 443.6 446.4 448.7 450.1 450.5 450.2 449.9 449.3 448.4 447.6 446.4 445.4 444.1 443.1 441.9 440.8 439.6 438.7 437.9 437.0 436.7 436.5 436.6 438.2 441.7 446.2 450.6 455.1 457.7 458.6 458.2 457.5 456.5 455.3 453.7 451.8 450.0 447.8 445.9 444.0 442.3 440.8 439.5 438.6 438.0 437.7 437.5 437.5 437.5 437.4 437.2 437.2 436.9 436.7 436.6 436.3 435.8 435.4 435.2 434.8 434.4 434.0 433.4 432.9 432.3 431.8 431.2 430.7 430.0 429.3 428.8 428.1 427.3 426.6 425.9 425.0 424.3 423.5 422.7 421.9 421.1 420.1 419.2 418.4 417.4 416.5 415.5 414.4 413.6 412.6 411.7 410.7 409.6 408.6 407.7 406.8 405.6 404.6 403.6 402.6 401.5 400.6 399.7 398.8 397.7 396.8 395.7 394.7 393.7 392.7 391.7 390.8 389.9 388.8 387.9 386.9 386.2 385.2 384.4 383.4 382.5 381.8 380.8 380.2 379.2 378.5 377.8 377.1 376.4 375.6 374.9 374.2 373.6 373.0 372.3 371.8 371.2 370.6 370.2 369.7 369.2 368.7 368.3 367.8 367.4 367.1 366.7 366.5 366.2 365.8 365.5 365.3 365.3 365.1 364.9 364.8 364.7 364.7 364.7 364.7 363.8 361.3 356.4 350.6 342.9 334.5 325.6 315.8 307.1 297.2 289.8 281.8 275.7 270.4 266.6 264.0 263.0 262.8 263.0 263.1 263.4 263.8 264.3 264.9 265.6 266.4 267.2 268.1 269.1 270.1 271.4 272.4 273.7 274.9 276.2 277.5 278.9 280.2 281.4 282.9 284.1 285.3 286.5 287.7 288.9 290.0 291.0 292.0 292.8 293.6 294.3 294.9 295.4 295.7 296.0 296.2 296.4 296.2 296.2 296.0 295.8 295.6 295.4 295.1 294.8 294.3 294.0 293.8 293.4 293.1 292.7 292.3 292.0 291.8 291.7 291.5 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.3 291.4 291.5 291.5 291.5 291.5 291.5 291.5 291.6 291.6 291.6 291.6 291.6 291.6 291.7 291.8 291.8 291.8 291.8 291.8 291.8 291.8 292.0 292.0 292.0 292.0 292.0 292.0 292.0 292.0 292.0 292.0 292.0 292.0 292.0 292.0 292.1 292.4 293.2 294.1 295.7 297.2 299.5 301.6 304.3 307.0 309.8 312.8 315.8 319.0 321.7 324.3 327.3 329.8 332.1 334.1 335.8 337.1 338.0 338.5 338.6 338.4 338.0 337.3 336.5 335.4 334.4 333.0 331.8 330.5 329.2 328.1 327.0 326.0 325.3 324.7 324.3 324.3 324.3 324.9 325.8 326.9 328.3 329.8 331.5 333.1 334.5 336.0 336.9 337.6 338.0 338.0 337.8 337.3 336.7 336.0 335.2 334.3 333.4 332.4 331.7 330.9 330.3 329.8 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6", + "f0_timestep": "0.005" + }, + { + "offset": 60.29, + "text": "SP 紫 衫 飘 蒲 扇 摇 SP 无 须 一 分 多 与 少 SP 墨 色 烧 SP 釉 彩 膏 泥 光 色 烙 SP", + "ph_seq": "SP z i0 sh an p iao p u sh an y ao SP w u x v y i f en d uo y v sh ao SP m o s e sh ao SP y ou c ai g ao n i g uang s e l ao SP", + "ph_dur": "0.328 0.105 0.121 0.06 0.271 0.09 0.407 0.135 0.121 0.06 0.497 0.045 0.362 0.316 0.045 0.121 0.06 0.135 0.045 0.242 0.12 0.316 0.045 0.136 0.045 0.242 0.12 0.903 0.317 0.045 0.241 0.12 0.3618 0.1802 0.181 0.316 0.045 0.121 0.06 0.136 0.045 0.316 0.045 0.121 0.06 0.362 0.18 0.618 0.105 1.084 0.108", + "ph_num": "2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 1", + "note_seq": "rest E4 D4 E4 G3 A3 A3 rest D4 B3 G4 F#4 G4 A4 B4 rest D4 B3 A3 rest D4 E4 G4 F#4 G4 A4 F#4 rest", + "note_dur": "0.433 0.181 0.361 0.542 0.181 0.542 0.362 0.361 0.181 0.18 0.362 0.361 0.181 0.362 0.903 0.362 0.361 0.542 0.181 0.361 0.181 0.181 0.361 0.181 0.542 0.723 1.084 0.108", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 284.5 289.4 294.1 299.7 304.0 309.1 313.3 317.4 320.7 323.7 326.0 327.8 328.7 329.0 328.6 327.8 326.8 325.6 324.4 323.2 322.3 321.7 321.7 321.3 320.5 319.4 317.8 316.0 313.8 311.8 309.3 307.2 304.8 303.0 301.1 299.4 298.0 297.1 296.4 296.4 296.2 296.2 296.2 296.2 296.1 296.0 295.9 295.9 295.7 295.5 295.5 295.3 295.2 295.1 294.9 294.9 294.7 294.7 294.5 294.5 294.5 294.5 294.5 294.5 294.5 294.5 294.7 294.7 294.9 295.1 295.3 295.5 295.6 295.8 296.2 296.4 296.6 296.8 296.9 297.1 297.3 297.5 297.7 297.8 297.8 297.8 297.7 296.5 294.2 290.8 286.8 281.7 277.2 271.7 267.4 263.4 260.2 257.9 256.7 256.9 258.8 262.6 267.6 274.5 280.4 286.9 291.6 293.7 294.1 295.1 296.6 298.8 301.3 304.4 307.2 311.0 314.3 318.0 321.4 324.5 327.5 329.8 331.9 333.1 333.7 333.7 333.5 333.3 332.9 332.5 332.0 331.4 330.7 330.2 329.6 329.1 328.6 328.2 327.9 327.9 327.9 327.9 328.1 328.3 328.5 328.9 329.3 329.7 330.2 330.6 331.0 331.4 331.8 332.3 332.5 332.9 333.1 333.1 333.3 333.0 332.8 332.3 331.8 331.3 330.7 330.1 329.6 329.2 329.1 329.1 329.1 329.3 329.7 330.1 330.5 331.0 331.3 331.8 332.2 332.4 332.6 332.3 331.2 328.9 325.7 321.2 316.6 310.4 304.7 298.1 291.8 285.7 279.5 274.3 269.0 265.1 261.4 258.9 257.1 256.2 206.9 203.0 199.2 195.5 191.9 188.3 184.8 181.4 178.0 196.9 196.9 196.9 196.9 196.9 197.0 197.0 197.0 197.1 197.2 197.3 197.4 197.4 197.5 197.6 197.6 197.7 197.8 197.8 197.9 197.9 198.0 198.0 198.0 198.0 198.0 198.2 197.8 196.6 195.1 192.9 190.6 188.2 186.0 184.3 182.8 182.1 182.3 183.9 187.3 191.6 197.6 202.9 209.0 213.5 216.8 218.3 218.5 218.5 218.5 218.5 218.5 218.6 218.7 218.7 218.8 218.9 218.9 219.0 219.0 219.1 219.1 219.1 219.1 219.2 219.2 219.2 219.4 219.4 219.5 219.7 219.9 220.2 220.3 220.6 220.7 221.0 221.1 221.4 221.6 221.7 221.9 221.9 221.9 222.0 221.9 221.9 221.7 221.6 221.4 221.2 220.9 220.6 220.3 220.1 219.7 219.4 219.1 218.8 218.6 218.4 218.2 218.0 218.0 217.9 217.9 217.9 217.9 217.9 218.0 218.1 218.3 218.4 218.6 218.8 219.0 219.1 219.4 219.6 219.8 220.0 220.2 220.3 220.5 220.6 220.7 220.9 220.9 220.9 221.0 221.0 221.1 221.1 221.2 221.4 221.7 221.8 221.9 222.1 222.2 222.3 222.3 222.4 221.6 220.0 217.3 214.5 211.6 209.4 207.6 207.0 207.1 207.8 209.3 211.0 213.2 215.6 218.1 220.7 222.9 225.0 226.4 227.4 227.9 227.6 226.9 226.1 224.8 223.3 221.6 219.9 218.3 216.6 215.3 214.4 213.5 213.1 213.0 213.2 213.6 214.2 215.0 216.0 217.0 218.2 219.2 220.3 221.3 222.0 222.7 223.1 223.3 223.3 223.0 222.3 221.5 220.3 219.2 218.1 217.1 216.1 215.3 214.9 214.8 214.7 215.1 215.8 216.6 217.6 218.7 219.7 220.8 221.5 222.3 222.7 222.8 222.7 222.6 222.4 222.1 221.9 221.6 221.1 220.8 220.5 220.1 219.7 219.3 219.2 220.3 221.3 222.4 223.5 224.5 225.6 226.7 227.8 228.9 230.0 231.1 232.2 233.4 234.5 235.6 236.7 237.9 239.0 240.2 241.3 242.5 243.7 244.9 246.0 247.2 248.4 249.6 250.8 252.0 253.2 254.5 255.7 256.9 258.2 259.4 260.7 261.9 263.2 264.5 265.7 267.0 268.3 269.6 270.9 272.2 273.5 274.8 276.2 277.5 278.8 280.2 281.5 282.9 284.3 285.6 287.0 288.4 289.8 291.2 291.7 292.0 292.3 292.6 292.9 293.1 293.3 293.5 293.6 293.5 293.7 293.9 294.1 294.3 294.3 294.5 294.7 294.9 295.0 295.1 295.3 295.4 295.4 295.4 295.5 295.0 293.7 291.1 287.9 283.8 279.4 274.6 269.6 265.2 260.3 256.8 253.7 250.9 249.2 248.3 248.1 248.1 248.1 248.1 248.1 248.1 248.1 248.1 248.1 248.1 248.1 248.1 248.1 248.1 248.1 248.1 248.1 248.1 248.1 248.1 248.1 248.1 248.1 248.1 248.1 248.1 248.1 248.1 248.1 247.4 245.7 242.5 239.5 236.6 234.6 233.8 235.5 243.0 253.3 268.6 286.2 305.4 325.6 342.0 356.6 363.2 364.7 364.9 365.6 366.7 368.0 370.0 371.7 374.0 376.1 378.6 381.1 383.4 385.7 387.6 389.5 390.9 391.9 392.6 393.1 392.9 392.7 392.4 391.9 391.4 390.8 390.2 389.6 389.0 388.7 388.3 388.2 388.2 388.5 389.2 390.4 391.4 392.2 392.9 393.0 392.3 390.5 387.8 384.4 380.1 375.6 370.2 365.3 359.8 355.1 350.3 346.7 343.1 340.3 338.3 337.1 337.0 337.8 339.6 342.4 346.2 350.1 354.9 359.0 363.7 367.4 370.7 372.8 373.8 373.9 373.9 373.9 373.9 373.9 373.8 373.6 373.6 373.5 373.4 373.3 373.2 373.2 373.0 373.0 372.9 372.8 372.8 372.8 372.8 372.8 372.7 372.6 372.4 372.1 371.9 371.6 371.2 370.9 370.5 370.2 369.7 369.4 369.0 368.7 368.5 368.2 368.1 368.1 368.1 368.1 368.2 368.5 368.7 368.9 369.4 369.7 370.1 370.4 370.8 371.0 371.2 371.5 371.5 371.6 371.0 369.2 367.0 363.8 360.3 355.9 352.0 347.4 344.0 340.3 337.8 335.8 334.7 334.6 335.8 338.6 342.8 348.3 354.3 361.8 368.1 375.1 380.5 385.2 387.9 389.3 389.3 389.3 389.3 389.6 389.7 389.9 390.1 390.4 390.6 390.9 390.9 391.1 391.1 391.3 391.0 390.5 389.6 388.6 387.5 386.4 385.6 385.0 385.0 386.2 389.1 394.1 399.6 406.6 414.3 422.3 429.0 435.4 439.2 441.7 441.9 441.8 441.6 441.3 441.0 440.7 440.2 439.8 439.4 439.1 438.8 438.5 438.5 438.5 438.5 438.9 439.4 440.1 440.9 441.9 443.1 443.9 445.1 445.9 446.5 447.0 447.4 447.6 446.9 445.5 443.6 440.9 437.5 433.9 429.5 425.7 421.1 417.3 413.2 409.8 406.9 404.7 402.9 401.8 401.4 401.6 403.4 405.8 409.4 413.4 417.9 422.9 427.4 432.2 435.7 438.9 440.8 442.0 442.0 442.0 442.0 442.1 442.4 442.5 442.7 443.0 443.2 443.5 443.8 444.1 444.3 444.7 444.9 445.2 445.5 445.8 446.1 446.3 446.4 446.7 446.7 446.7 446.8 446.9 447.7 448.7 450.7 453.0 455.8 458.8 462.0 465.1 468.9 472.3 476.0 479.0 482.3 484.8 487.2 488.8 489.8 490.4 490.5 490.5 490.5 490.5 490.5 490.5 490.5 490.6 490.8 490.8 490.8 491.0 491.0 491.0 491.0 491.0 491.0 491.0 491.3 491.3 491.3 491.6 492.0 492.6 493.3 493.9 494.7 495.5 496.3 497.3 498.2 499.2 499.8 500.8 501.6 502.3 503.0 503.3 503.7 504.0 504.0 504.1 503.8 503.5 502.9 501.9 501.1 500.0 498.8 497.4 496.0 494.6 493.3 492.3 491.0 490.2 489.2 488.7 488.4 488.2 488.2 488.4 488.9 489.6 490.5 491.3 492.7 494.0 495.6 497.2 498.8 500.2 501.6 503.1 504.6 505.6 506.5 507.4 507.9 508.1 508.2 507.9 507.2 506.2 505.1 503.7 502.2 500.4 498.6 496.6 495.0 493.3 491.6 490.2 489.2 488.2 487.6 487.4 487.4 487.6 488.1 488.8 489.6 491.0 492.2 493.5 494.9 496.5 497.9 499.1 500.5 501.4 502.1 502.9 503.1 503.4 503.1 503.0 501.5 501.2 500.7 500.2 499.2 498.1 496.7 495.2 493.6 491.9 489.8 487.6 485.5 483.3 481.0 478.4 475.9 473.6 471.2 468.7 466.2 463.7 461.5 459.3 457.1 455.0 453.1 451.3 449.8 447.6 443.2 438.8 434.5 430.2 426.0 421.8 417.6 413.5 409.5 405.4 401.4 397.5 393.6 389.7 385.9 382.1 378.3 374.6 370.9 367.3 363.7 360.1 356.5 353.0 349.5 346.1 342.7 339.3 336.0 332.7 329.4 326.2 323.0 319.8 316.6 313.5 310.4 307.4 304.4 301.4 298.4 295.5 292.6 289.7 286.8 284.0 281.2 278.4 275.7 273.0 270.3 267.6 265.0 262.4 259.8 257.3 254.7 252.2 249.7 247.3 244.8 243.4 243.5 243.5 243.7 243.7 243.8 243.8 243.9 244.0 244.0 244.0 244.0 244.0 244.2 244.8 245.7 247.3 249.0 251.3 253.7 256.5 259.6 262.7 266.2 269.3 272.8 275.8 278.9 281.6 284.0 285.8 287.5 288.6 289.3 289.5 289.5 289.6 289.7 289.9 290.1 290.3 290.7 291.0 291.3 291.6 291.9 292.2 292.4 292.6 292.8 293.0 293.0 293.2 292.9 292.5 291.6 290.7 289.5 287.9 286.0 284.2 281.9 279.9 277.2 274.9 272.3 269.8 267.3 264.6 262.4 259.8 257.9 255.7 253.9 252.2 250.8 249.5 248.4 247.8 247.2 246.9 246.9 246.8 246.8 246.7 246.5 246.4 246.2 246.1 245.9 245.6 245.4 245.2 245.0 244.8 244.7 244.7 244.5 244.5 244.5 244.5 244.5 244.6 244.7 244.8 244.9 245.1 245.2 245.4 245.5 245.8 246.0 246.1 246.4 246.6 246.8 246.9 247.1 247.2 247.4 247.4 247.5 247.2 246.9 246.5 245.9 245.1 244.1 242.9 241.7 240.2 238.8 237.2 235.6 233.9 232.3 230.5 229.1 227.4 226.0 224.5 223.3 222.3 221.2 220.5 219.9 219.5 219.2 219.5 219.5 219.5 219.5 219.5 219.5 219.5 219.5 219.4 219.4 219.4 219.4 219.4 219.4 219.4 219.4 219.2 219.2 219.2 219.2 219.2 219.2 219.2 219.2 219.2 219.2 219.2 219.2 219.2 219.2 219.1 219.1 219.1 219.0 219.0 218.9 218.9 218.7 218.6 218.6 218.5 218.4 218.4 218.3 218.2 218.2 218.2 218.2 218.1 218.1 218.1 218.1 218.0 218.0 217.9 217.9 217.8 217.7 217.6 217.6 217.6 217.5 217.5 217.5 217.5 217.5 218.2 218.2 218.2 218.2 218.7 220.9 224.0 228.7 234.1 240.2 247.2 253.7 261.0 263.0 263.4 263.7 264.1 264.4 264.8 265.1 265.5 265.8 266.2 266.6 266.9 267.3 267.6 268.0 268.3 268.7 269.0 269.4 269.7 270.1 270.5 270.8 271.2 271.5 271.9 272.3 272.6 273.0 273.3 273.7 274.1 274.4 274.8 275.2 275.5 275.9 276.3 276.6 277.0 277.3 277.7 278.1 278.5 278.8 279.2 279.6 279.9 280.3 280.7 281.0 281.4 281.8 282.2 282.5 282.9 283.3 283.7 284.0 284.4 284.8 285.2 285.6 285.6 285.8 286.0 286.3 286.5 286.8 287.2 287.7 288.1 288.6 289.2 289.7 290.3 290.7 291.3 291.8 292.4 292.8 293.3 293.7 294.1 294.4 294.8 295.0 295.2 295.3 295.4 294.7 289.0 280.4 274.7 273.9 275.3 278.1 281.7 287.1 292.5 298.8 305.2 311.4 316.7 322.0 325.7 328.7 329.8 329.9 329.8 329.8 329.8 329.8 329.8 329.8 329.8 329.8 329.7 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.2 327.5 324.6 320.2 315.8 310.8 307.2 304.7 303.7 304.7 308.7 313.7 319.9 324.9 328.0 329.7 330.0 330.6 331.5 332.8 334.4 336.2 338.2 340.6 343.0 345.7 348.6 351.7 354.8 358.0 361.1 364.4 367.7 370.7 373.7 376.6 379.3 381.7 383.9 385.8 387.4 388.8 389.7 390.3 390.6 390.0 390.0 390.0 390.0 390.1 390.8 391.5 392.3 393.5 394.7 396.1 397.0 398.1 398.7 399.2 399.4 398.9 397.9 396.4 394.4 391.9 389.3 386.4 383.7 380.6 378.1 375.7 373.6 372.0 370.9 370.5 370.3 370.1 369.8 369.4 368.9 368.5 368.0 367.5 367.1 367.0 367.0 367.0 367.1 367.2 367.3 367.7 368.0 368.2 368.6 368.9 369.4 369.6 369.8 370.1 370.2 370.2 370.4 370.0 368.6 366.6 363.9 360.8 357.3 353.5 350.1 346.4 343.8 341.1 339.4 338.3 338.3 339.6 343.3 348.7 355.7 363.9 372.1 381.1 387.7 393.9 397.2 398.8 398.6 398.6 398.3 397.7 397.2 396.7 396.0 395.5 394.7 394.3 393.5 393.0 392.6 392.3 392.1 392.0 392.0 392.0 392.2 392.4 392.7 393.1 393.4 393.6 393.9 394.1 394.3 394.5 394.5 394.5 394.5 394.6 394.8 395.0 395.1 395.4 395.6 395.9 396.1 396.4 396.6 396.8 396.9 397.2 397.2 397.5 397.5 397.5 397.7 397.5 397.5 397.4 397.2 397.1 397.0 396.9 396.6 396.4 396.1 396.1 395.9 395.8 395.6 395.6 395.6 395.3 394.1 391.5 388.6 384.2 379.7 374.6 369.4 364.2 359.8 355.1 351.3 347.8 345.6 344.1 343.6 343.8 344.6 343.6 343.8 344.0 344.2 344.8 345.3 346.0 346.7 347.4 348.3 349.1 349.9 350.6 351.3 351.9 352.4 353.0 353.2 353.4 353.6 354.5 357.3 363.2 370.4 381.0 391.4 403.2 414.6 424.9 433.7 439.3 442.5 442.6 442.3 442.0 441.5 440.7 440.1 439.2 438.2 437.3 436.5 435.8 435.1 434.7 434.2 434.2 437.0 437.3 437.6 437.9 438.2 438.6 439.0 439.2 439.5 439.8 440.1 440.4 440.7 440.8 441.0 441.0 441.0 441.1 440.8 440.0 438.5 435.9 432.9 429.3 425.4 421.1 416.1 411.4 405.8 401.4 395.9 391.1 386.3 382.0 378.2 374.6 371.8 368.9 367.2 365.8 365.3 365.1 365.1 365.1 365.1 365.1 365.1 365.3 365.3 365.4 365.5 365.6 365.7 365.9 366.0 366.1 366.4 366.4 366.6 366.6 366.9 367.0 367.1 367.4 367.4 367.7 367.7 367.9 367.9 368.1 368.2 368.3 368.3 368.4 368.5 368.5 368.5 368.5 368.6 368.6 368.5 368.5 368.5 368.5 368.3 368.3 368.2 368.1 367.9 367.9 367.7 367.7 367.4 367.4 367.1 367.0 366.9 366.8 366.6 366.6 366.6 366.4 366.4 366.4 366.4 366.4 366.4 367.0 368.5 370.8 373.8 376.9 380.8 383.9 387.5 390.0 392.1 393.2 393.8 393.4 392.9 392.3 391.3 390.0 388.8 387.0 385.7 383.8 382.2 380.2 378.6 377.1 375.6 374.5 373.2 372.6 372.1 371.7 371.7 371.7 371.8 372.1 372.3 372.6 372.8 373.2 373.5 373.9 374.3 374.6 374.9 375.1 375.2 375.2 375.3 375.2 375.2 375.0 374.9 374.7 374.5 374.5 374.2 373.9 373.5 373.3 372.9 372.6 372.4 371.9 371.7 371.2 371.0 370.6 370.3 370.0 369.6 369.4 369.1 368.9 368.7 368.4 368.3 368.2 368.1 368.1 368.1 368.1 368.1 368.2 368.5 368.9 369.4 369.7 370.4 370.8 371.4 372.0 372.5 372.9 373.4 373.9 374.1 374.3 374.5 374.7 374.5 374.3 373.8 373.3 372.5 371.6 370.6 369.4 368.1 366.6 365.3 363.6 362.0 360.3 358.9 357.3 355.7 354.2 352.8 351.3 350.0 348.8 347.8 346.9 346.1 345.5 344.9 344.7 344.6 345.1 346.7 349.8 353.7 359.0 363.9 368.8 372.8 375.5 376.8 377.0 376.5 376.0 375.2 374.0 372.7 371.1 369.5 367.7 365.7 364.0 362.0 360.1 358.3 356.6 355.0 353.7 352.5 351.5 350.8 350.2 350.2 350.2 350.8 351.9 353.1 354.9 356.9 359.3 361.9 364.5 367.3 369.9 372.6 374.7 376.8 378.3 379.7 380.4 380.8 380.4 379.5 378.3 376.3 374.0 371.4 368.3 365.4 362.0 359.3 356.6 353.4 351.1 349.0 347.3 346.0 345.3 345.3 345.6 346.5 348.0 349.9 352.5 355.0 358.2 361.1 364.4 367.3 370.3 372.7 374.7 376.4 377.2 377.8 377.5 376.8 375.7 374.4 372.6 370.4 367.9 365.1 362.2 359.0 355.9 352.9 349.7 346.6 343.8 341.2 338.7 336.6 334.7 333.3 332.2 331.5 331.2 331.2 331.2 331.2 331.2 331.2 331.2 331.2 331.2 331.2 331.2 331.2 331.2 331.2 331.2 331.2 331.2 331.2 331.2", + "f0_timestep": "0.005" + }, + { + "offset": 70.988, + "text": "AP 你 似 携 SP 月 而 来 的 仙 瑶 AP 填 补 凡 尘 SP 缺 失 的 心 跳 SP", + "ph_seq": "AP n i s i0 x ie SP y ve er l ai d e x ian y ao AP t ian b u f an ch en SP q ve sh ir d e x in t iao SP", + "ph_dur": "0.533 0.045 0.242 0.12 0.241 0.12 0.362 0.316 0.045 0.678 0.316 0.09 0.136 0.045 0.362 0.18 0.678 0.045 1.085 0.602 0.12 0.317 0.045 0.241 0.12 0.558 0.165 0.362 0.211 0.15 0.242 0.12 0.316 0.045 0.362 0.18 0.392 0.15 1.085 0.144", + "ph_num": "2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 1 1", + "note_seq": "rest A4 G4 E4 rest B4 A4 B4 D5 F#4 G4 rest A4 G4 E4 B4 rest A4 D5 E5 A4 B4 rest", + "note_dur": "0.578 0.362 0.361 0.362 0.361 0.723 0.361 0.181 0.542 0.723 1.085 0.722 0.362 0.361 0.723 0.362 0.361 0.362 0.361 0.542 0.542 1.085 0.144", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 342.8 348.0 355.6 363.2 371.0 378.8 386.4 393.8 401.2 408.2 414.5 420.5 425.9 430.7 434.9 438.5 441.0 442.7 443.7 444.0 443.8 443.8 443.6 443.4 443.2 443.0 442.5 442.3 442.0 441.7 441.4 441.2 440.8 440.8 440.6 440.5 440.5 440.5 440.6 440.9 441.4 442.0 442.7 443.3 444.0 444.5 444.9 445.4 445.4 445.3 444.2 442.3 438.9 434.9 430.2 425.1 419.8 414.3 409.4 404.8 400.7 397.3 394.9 393.4 393.1 393.1 393.1 393.1 393.1 393.1 393.1 393.1 393.1 393.1 393.1 393.1 393.1 393.1 393.1 393.1 393.1 393.1 393.1 393.1 393.1 393.1 393.1 393.1 393.1 393.1 393.1 393.1 393.1 393.1 393.2 393.4 393.4 393.6 393.8 394.0 394.2 394.4 394.8 395.0 395.1 395.3 395.6 395.9 396.1 396.3 396.5 396.7 396.9 397.1 397.3 397.5 397.5 397.5 397.5 397.6 396.9 395.3 392.8 388.6 383.4 377.6 371.2 364.6 358.2 351.9 346.3 341.5 337.5 334.6 332.8 332.1 332.0 331.8 331.6 331.4 331.1 330.8 330.5 330.1 329.7 329.3 329.0 328.7 328.4 328.2 328.0 327.9 327.9 327.8 327.7 327.7 327.7 327.7 327.7 327.7 327.6 327.5 327.5 327.5 327.4 327.4 327.4 327.4 327.4 327.4 327.4 327.4 327.4 327.4 327.4 327.5 327.7 327.9 328.0 328.2 328.6 328.9 329.2 329.5 329.8 330.1 330.3 330.6 330.9 331.2 331.5 331.8 332.0 332.1 332.3 332.4 332.5 332.5 332.7 332.5 332.4 332.1 331.8 331.5 331.2 330.7 330.3 330.0 329.8 329.6 329.6 329.3 328.9 328.1 327.1 325.9 324.3 322.6 320.8 318.9 316.9 314.9 312.9 311.0 309.2 307.5 305.9 304.5 303.5 302.6 304.2 306.3 308.5 310.7 312.9 315.1 317.3 319.6 321.8 324.1 326.4 328.7 331.1 333.4 335.8 338.1 340.5 343.0 345.4 347.8 350.3 352.8 355.3 357.8 360.3 362.9 365.5 368.1 370.7 373.3 375.9 378.6 381.3 384.0 386.7 389.4 392.2 395.0 397.8 400.6 403.4 406.3 409.2 412.1 415.0 417.9 420.9 423.9 426.9 429.9 433.0 436.0 439.1 442.2 445.4 448.5 451.7 454.9 458.1 461.4 464.3 467.9 472.7 478.2 483.7 488.9 493.1 495.9 497.4 497.4 497.3 497.2 497.0 496.7 496.5 496.3 496.0 495.8 495.6 495.3 495.3 495.3 495.3 495.3 495.3 495.3 495.3 495.3 495.3 495.6 495.6 495.7 495.9 495.9 496.1 496.2 496.3 496.5 496.5 496.7 497.0 497.0 497.0 497.1 497.3 497.3 497.3 497.3 497.3 497.5 497.4 497.3 497.2 497.0 497.0 496.8 496.4 496.0 495.8 495.5 495.0 494.5 494.3 493.9 493.4 493.0 492.7 492.3 492.0 491.6 491.2 491.0 490.8 490.5 490.5 490.5 490.5 490.5 490.5 490.5 490.7 490.9 491.2 491.4 491.7 492.2 492.4 492.8 493.3 493.7 494.0 494.5 494.7 494.9 495.3 495.6 495.6 495.9 495.9 496.1 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.3 496.5 496.5 496.5 496.5 496.5 496.6 496.7 496.7 496.7 496.7 496.7 496.7 496.7 496.7 496.7 496.9 496.6 495.9 494.7 493.3 491.6 489.6 487.5 485.1 482.3 479.5 476.6 473.6 470.4 467.2 464.3 461.3 458.3 455.5 452.9 450.3 448.1 446.1 444.5 443.1 441.9 441.0 440.6 440.5 440.5 440.5 440.5 440.6 440.8 441.0 441.2 441.4 441.7 442.1 442.3 442.7 443.0 443.3 443.7 443.9 444.1 444.5 444.8 445.0 445.1 445.2 445.4 445.4 445.4 445.6 445.4 445.4 445.2 445.0 444.8 444.5 444.1 443.9 443.5 443.1 442.6 442.2 441.8 441.4 441.1 440.8 440.3 440.0 439.7 439.5 439.3 439.2 439.2 439.2 439.4 440.1 441.4 443.2 445.4 448.2 451.3 454.7 458.3 462.1 466.2 470.0 473.7 477.2 480.5 483.3 485.7 487.6 488.9 489.6 489.9 489.9 489.9 489.9 489.9 490.0 490.2 490.2 490.5 490.7 490.8 490.8 491.1 491.3 491.3 491.5 491.6 491.7 491.9 491.9 491.9 491.9 492.1 493.3 496.7 502.3 496.2 496.3 496.7 497.7 498.7 499.9 501.4 502.8 504.0 505.4 506.7 507.8 508.6 509.3 509.5 509.8 507.7 508.2 509.2 510.8 512.8 515.0 517.8 521.0 524.4 528.0 532.1 536.2 540.6 545.0 549.5 554.0 558.5 562.2 566.2 570.1 573.6 576.9 579.7 582.0 584.1 585.7 586.7 587.0 587.1 587.0 586.9 586.6 586.3 585.7 585.4 585.0 584.4 583.9 583.6 583.0 582.7 582.6 582.6 582.6 585.3 585.3 585.3 585.3 585.3 585.3 585.7 586.3 587.0 587.9 589.0 590.2 591.3 592.4 593.5 594.3 594.8 595.4 595.8 595.4 594.0 591.8 588.7 584.8 580.1 574.5 568.2 561.1 553.9 546.3 538.7 531.2 523.6 516.3 509.7 503.3 497.6 492.6 488.3 484.6 482.0 480.2 479.3 502.2 498.3 494.1 489.5 484.6 480.2 475.1 469.6 463.9 457.9 452.0 446.0 440.0 434.1 428.3 422.6 417.1 411.7 406.5 401.6 397.0 392.7 388.7 385.1 381.7 378.6 376.0 373.9 372.1 370.6 369.6 369.0 368.7 368.7 368.7 368.7 368.7 368.7 368.9 369.1 369.1 369.2 369.4 369.6 369.7 369.9 370.0 370.1 370.2 370.4 370.6 370.6 370.7 370.9 370.9 370.9 370.9 371.0 370.9 370.9 370.9 370.9 370.9 370.9 370.9 370.9 370.9 370.9 370.9 370.9 370.7 370.6 370.6 370.6 370.6 370.6 370.5 370.4 370.4 370.4 370.4 370.4 370.3 370.2 370.2 370.2 370.2 370.2 370.1 370.0 370.0 370.0 370.0 370.0 370.0 370.0 370.0 370.0 370.0 370.0 370.0 370.0 370.0 370.0 370.2 370.2 370.3 370.5 370.7 370.9 371.0 371.4 371.6 371.8 371.9 371.9 372.1 372.1 372.1 372.3 372.1 372.1 372.1 372.1 372.1 372.1 371.9 371.9 371.9 371.8 371.7 371.7 371.5 371.5 371.4 371.3 371.3 371.3 371.1 371.1 371.1 371.1 371.1 371.1 371.0 370.6 370.1 369.3 368.2 366.9 365.5 364.1 362.5 360.9 359.7 358.6 357.4 356.7 356.2 355.9 356.4 357.5 359.4 362.0 365.1 368.8 372.7 376.6 380.2 383.6 386.4 388.4 389.4 389.9 389.7 389.7 389.7 389.7 389.7 389.7 389.5 389.5 389.4 389.3 389.2 389.1 389.1 388.9 388.7 388.6 388.5 388.4 388.2 388.2 388.0 387.8 387.7 387.7 387.5 387.5 387.3 387.2 387.0 387.0 387.0 386.9 386.8 386.8 386.8 386.8 386.8 386.8 386.8 386.8 386.8 386.9 387.1 387.3 387.5 387.6 387.8 388.0 388.2 388.4 388.6 388.6 388.6 389.9 389.7 389.7 389.7 389.6 389.5 389.5 389.3 389.1 388.9 388.7 388.5 388.4 388.2 387.8 387.6 387.4 387.2 387.0 386.8 386.6 386.6 386.5 386.4 386.4 386.4 386.4 386.4 386.6 387.0 387.6 388.2 388.9 389.8 390.8 391.6 392.4 393.1 393.7 394.1 394.3 395.4 395.5 395.2 394.8 394.3 393.6 392.8 391.9 390.9 389.7 388.6 387.5 386.5 385.5 384.4 383.5 382.6 381.9 381.3 380.7 380.3 380.2 380.2 380.5 381.1 382.0 383.2 384.6 386.2 387.9 389.7 391.6 393.4 395.0 396.5 397.9 398.8 399.5 399.9 400.2 400.0 399.6 399.1 398.4 397.5 396.6 395.6 394.5 393.4 392.1 390.9 389.7 388.6 387.7 386.9 386.2 385.6 385.2 385.0 385.0 385.1 385.5 386.1 386.8 387.7 388.8 390.0 391.1 392.4 393.6 394.8 396.1 397.0 397.8 398.5 399.1 399.4 399.5 399.3 398.9 398.4 397.8 397.1 396.1 395.2 394.2 393.1 392.1 391.2 390.3 389.5 389.0 388.5 388.3 388.2 388.2 388.2 388.2 388.4 388.4 388.6 388.9 389.2 389.4 389.6 390.0 390.2 390.3 390.6 390.9 391.1 391.3 391.5 391.5 391.2 390.9 390.6 390.3 390.0 389.7 389.4 389.0 388.7 388.4 388.1 387.8 387.5 387.2 386.9 386.6 386.3 385.9 385.6 385.3 385.0 384.7 384.4 384.1 383.8 383.5 383.2 382.9 382.6 382.3 382.0 381.6 381.3 381.0 380.7 380.4 380.1 379.8 379.5 379.2 378.9 378.6 378.3 378.0 377.7 377.4 377.1 376.8 376.5 376.2 375.9 375.6 375.3 375.0 374.7 374.4 374.1 373.8 373.5 373.2 372.9 372.6 372.3 372.0 371.7 371.4 371.1 370.8 370.5 370.2 369.9 369.6 369.3 369.0 368.7 368.4 368.2 367.9 367.6 367.3 367.0 366.7 366.4 366.1 365.8 365.5 365.2 364.9 364.6 364.3 364.1 363.8 363.5 363.2 362.9 362.6 362.3 362.0 361.7 361.4 361.2 360.9 360.6 360.3 360.0 359.7 359.4 359.1 358.8 358.6 358.3 358.0 357.7 357.4 357.1 356.8 356.6 356.3 356.0 355.7 355.4 355.1 354.9 354.6 354.3 354.0 353.7 353.4 353.2 352.9 352.6 352.3 352.0 351.7 351.5 351.2 350.9 350.6 350.3 350.1 350.1 351.5 353.5 355.8 358.5 361.6 365.0 368.7 372.2 376.2 380.8 385.6 390.4 395.1 400.1 405.0 409.8 414.5 418.9 423.0 426.7 430.2 433.2 435.6 437.7 439.2 440.0 440.5 440.5 440.7 440.9 441.1 441.4 441.8 442.0 442.4 442.5 442.7 442.8 442.8 442.8 443.0 443.2 443.4 443.7 443.8 443.8 444.0 443.6 442.4 440.5 437.8 434.4 430.5 426.2 421.8 417.4 413.0 408.9 405.4 402.3 399.9 398.2 397.2 397.0 396.8 396.8 396.6 396.4 396.2 395.8 395.6 395.3 394.9 394.5 394.0 393.5 393.1 392.8 392.5 392.2 391.9 391.7 391.5 391.4 391.3 391.3 391.3 391.3 391.3 391.3 391.4 391.5 391.5 391.7 391.8 391.8 392.0 392.0 392.2 392.2 392.2 392.2 392.2 392.2 392.3 391.8 390.9 389.6 387.8 385.6 382.9 380.0 376.7 373.1 369.6 366.0 362.3 358.8 355.4 352.1 349.1 346.4 344.0 341.8 340.4 339.2 338.4 338.1 338.0 337.7 337.3 336.8 336.2 335.4 334.6 333.7 332.8 331.9 331.0 330.2 329.5 328.9 328.4 328.1 327.9 327.9 327.9 328.1 328.4 328.7 329.2 329.6 330.1 330.6 331.1 331.4 331.7 331.9 331.9 332.0 331.9 331.9 331.9 331.9 331.9 331.9 331.7 331.7 331.6 331.5 331.4 331.3 331.3 331.2 331.2 331.0 330.9 330.7 330.6 330.6 330.4 330.3 330.2 330.1 330.0 329.8 329.8 329.7 329.5 329.4 329.4 329.2 329.2 329.2 329.2 329.1 329.1 329.1 329.1 329.1 329.1 329.1 329.1 329.1 329.1 329.2 329.4 329.5 329.7 329.8 330.0 330.2 330.2 330.3 330.4 330.4 330.4 330.5 330.4 330.4 330.4 330.4 330.3 330.2 330.1 330.0 330.0 329.8 329.8 329.7 329.6 329.6 329.6 329.6 329.6 329.6 329.6 329.7 329.8 330.0 330.3 330.5 330.8 331.1 331.4 331.5 331.7 331.9 331.9 332.0 331.9 331.5 330.9 329.8 328.6 327.0 325.4 323.7 321.5 319.4 317.0 314.7 312.3 309.9 307.6 305.5 303.4 301.6 300.0 298.6 297.4 296.4 295.9 295.6 296.5 299.9 307.4 319.6 335.1 353.7 374.7 397.4 420.6 442.0 460.5 474.7 483.4 486.8 486.8 487.5 488.6 489.9 491.4 493.1 494.7 496.6 498.4 499.9 501.4 502.7 503.4 503.9 504.2 504.0 503.2 502.1 500.9 499.5 497.6 495.7 493.8 491.7 489.7 487.8 486.0 484.6 483.3 482.5 482.0 482.1 482.3 483.3 484.6 486.4 488.5 490.7 493.3 495.7 497.9 499.8 501.3 502.4 503.1 503.2 502.6 501.6 500.0 498.1 496.0 493.8 491.5 489.6 487.7 486.4 485.5 485.1 485.1 485.3 485.5 485.8 486.5 487.0 487.8 488.6 489.4 490.4 491.3 492.1 493.0 494.0 494.9 495.6 496.3 496.0 495.3 494.5 493.8 493.1 492.3 491.6 490.9 490.2 489.4 488.7 488.0 487.3 486.5 485.8 485.1 484.4 483.6 482.9 482.2 481.5 480.8 480.1 479.4 478.6 477.9 477.2 476.5 475.8 475.1 474.4 473.7 473.0 472.3 471.6 470.9 470.2 469.5 468.8 468.1 467.4 466.7 466.0 465.3 464.6 463.9 463.3 462.6 461.9 461.2 460.5 459.8 459.1 458.5 457.8 457.1 456.4 455.7 455.1 454.4 453.7 453.0 452.4 451.7 451.0 450.4 449.7 449.0 448.4 447.7 445.2 443.7 442.4 440.5 439.9 439.2 438.6 438.3 442.8 442.8 442.8 442.8 443.0 443.2 443.4 443.7 443.9 444.3 444.6 444.8 445.1 445.5 445.7 445.9 446.3 446.5 446.7 447.0 447.2 447.4 447.4 447.4 447.5 447.9 448.7 452.0 456.8 463.3 471.4 480.8 491.3 503.3 515.9 529.0 542.3 555.6 568.6 580.5 591.1 600.2 607.5 612.5 615.5 577.6 578.6 579.6 580.6 581.6 582.6 583.6 584.6 585.6 586.6 587.6 588.6 589.6 590.6 591.6 592.7 591.0 590.7 590.4 589.9 589.4 588.9 588.0 586.9 585.7 584.8 583.8 582.8 581.9 580.8 580.1 579.6 579.1 578.9 578.9 578.9 578.9 579.1 579.5 580.0 580.2 580.8 581.4 581.9 582.6 583.4 583.9 584.5 585.1 585.6 586.1 586.4 586.7 586.9 587.0 587.3 587.3 587.3 587.3 587.4 587.7 588.0 588.3 588.6 588.9 589.1 589.4 589.7 590.0 590.3 590.5 590.8 591.1 591.4 591.4 591.4 591.4 591.8 590.6 587.9 583.8 578.7 573.1 567.3 561.9 557.6 554.5 552.8 565.6 604.3 665.4 678.4 678.1 677.8 677.1 676.2 675.2 674.1 672.8 671.6 670.3 669.0 667.7 666.5 665.6 664.6 664.0 663.6 663.5 663.3 663.1 663.1 662.8 662.4 662.1 661.8 661.4 660.8 660.1 659.5 658.9 658.3 657.4 656.7 655.8 654.7 653.6 652.6 651.3 650.4 649.2 647.9 646.6 645.1 643.8 642.3 641.0 639.6 638.0 636.5 635.0 633.4 631.9 630.4 628.9 627.4 625.9 624.4 622.9 621.2 619.5 618.0 616.5 615.0 613.6 612.1 610.7 609.5 608.0 606.6 605.4 604.0 602.7 601.5 600.4 599.2 598.3 597.3 596.2 595.4 594.5 593.8 593.0 592.2 591.6 591.1 590.5 589.9 589.4 588.9 588.6 588.3 588.1 588.0 588.0 588.0 609.8 607.7 605.1 602.8 600.2 597.6 595.1 592.8 590.4 588.0 586.0 587.1 590.7 437.7 437.5 437.5 437.5 437.5 437.5 437.5 437.5 437.5 437.5 437.4 437.2 437.2 437.2 437.2 437.1 437.0 437.0 437.0 436.8 436.7 436.7 436.7 436.7 436.5 436.5 436.5 436.5 436.5 436.5 436.5 436.5 436.5 436.5 436.5 436.5 436.5 436.5 436.5 436.5 436.6 436.7 436.7 436.7 436.9 437.0 437.1 437.2 437.2 437.4 437.6 437.7 437.8 438.0 438.2 438.2 438.4 438.6 438.7 438.8 439.0 439.0 439.2 439.2 439.3 439.5 439.5 439.7 439.7 439.7 439.7 439.7 439.7 439.7 439.9 439.3 437.8 435.4 432.1 428.2 423.3 418.3 413.0 407.8 402.8 398.2 394.2 390.9 388.5 387.0 386.4 388.1 392.4 399.4 408.8 420.4 433.9 446.8 461.6 477.4 492.7 506.9 518.5 527.1 532.4 534.8 534.2 532.7 530.4 527.5 524.2 520.3 516.0 511.8 507.5 503.2 499.3 495.9 493.0 490.7 489.1 488.4 488.2 488.2 488.2 488.2 488.2 488.2 488.3 488.5 488.5 488.7 488.8 488.9 489.1 489.3 489.6 489.6 489.8 490.0 490.2 490.5 490.7 490.9 491.0 491.1 491.4 491.6 491.8 492.1 492.3 492.5 492.5 492.7 493.0 493.0 493.2 493.3 493.4 493.6 493.6 493.6 493.6 494.4 494.2 494.2 494.2 494.2 494.0 493.9 493.8 493.6 493.6 493.5 493.2 493.0 493.0 492.8 492.6 492.3 492.1 491.8 491.6 491.6 491.4 491.2 491.0 491.0 490.8 490.8 490.6 490.5 490.5 490.5 490.5 490.5 490.3 489.9 489.3 488.6 487.9 486.8 485.4 483.9 482.2 480.6 478.7 476.6 474.6 472.5 470.4 468.2 466.2 463.9 461.9 459.9 458.0 456.2 454.5 452.9 451.6 450.5 449.5 448.5 447.8 447.3 447.0 446.9 447.9 448.9 450.0 452.2 455.3 459.4 464.2 469.4 474.9 480.3 485.7 490.4 494.2 497.2 499.1 500.2 500.0 499.5 499.0 498.3 497.3 496.1 494.7 493.3 491.9 490.4 488.8 487.4 486.0 484.7 483.6 482.7 482.0 481.4 481.2 481.4 482.1 483.7 486.3 489.4 492.9 496.5 500.0 503.1 505.2 506.9 508.1 508.2 507.8 507.0 506.3 505.1 503.5 501.8 500.0 498.1 496.2 494.3 492.4 490.5 488.7 487.1 485.7 484.5 483.7 483.2 482.9 482.9 483.0 483.7 484.7 486.0 487.5 489.2 491.2 493.3 495.5 497.6 499.6 501.5 503.1 504.6 505.8 506.6 507.0 507.5 507.2 506.8 506.0 504.9 503.7 502.5 500.8 499.3 497.7 496.2 494.7 493.3 492.1 491.1 490.5 490.1 489.9 489.9 489.9 489.9 489.9 489.9 489.9 489.9 489.9 489.9 489.9 489.9 489.9 489.9 489.9 489.9 489.9 489.9 489.9 489.9 489.9 489.9 489.9 489.9 489.9 489.9 489.9 489.9", + "f0_timestep": "0.005" + }, + { + "offset": 82.555, + "text": "AP 落 于 人 间 一 笑 AP 勾 画 醉 意 袅 袅 AP 似 梦 绕 SP 画 里 画 外 扫 寂 寥 SP", + "ph_seq": "AP l uo y v r en j ian y i x iao AP g ou h ua z ui y i n iao n iao AP s i0 m eng r ao SP h ua l i h ua w ai s ao j i l iao SP", + "ph_dur": "0.533 0.045 0.316 0.045 0.316 0.045 0.393 0.15 0.497 0.045 0.241 0.12 0.362 0.633 0.09 0.241 0.12 0.241 0.12 0.317 0.045 0.271 0.09 0.618 0.105 0.362 0.558 0.165 0.12 0.06 0.317 0.045 0.361 0.046 0.135 0.301 0.06 0.242 0.12 0.316 0.045 0.242 0.12 0.12 0.06 0.453 0.09 1.445 0.144", + "ph_num": "2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 1", + "note_seq": "rest A4 G4 E4 D5 G4 A4 rest B3 B4 A4 A4 B4 E4 rest A4 G4 B3 rest B4 A4 D5 B4 G4 F#4 E4 rest", + "note_dur": "0.578 0.361 0.361 0.543 0.542 0.361 0.362 0.723 0.361 0.361 0.362 0.361 0.723 0.362 0.723 0.18 0.362 0.361 0.181 0.361 0.362 0.361 0.362 0.18 0.543 1.445 0.144", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 412.4 413.4 416.4 419.7 422.9 426.0 429.1 431.9 434.3 436.5 438.5 440.0 441.3 442.0 442.5 442.8 442.8 442.8 442.8 442.8 442.8 442.8 442.8 442.8 442.8 443.0 443.1 443.1 443.1 443.1 443.1 443.1 443.1 443.1 443.1 443.1 443.1 442.6 441.8 440.3 438.5 436.2 433.6 430.8 427.5 424.0 420.5 416.9 413.2 409.6 406.1 403.0 400.0 397.0 394.2 391.8 389.7 387.9 386.6 385.6 385.0 385.0 385.1 385.3 385.6 386.2 386.7 387.3 387.8 388.4 389.0 389.5 390.1 390.6 390.9 391.1 391.3 391.3 391.3 391.4 391.5 391.9 392.1 392.4 392.8 393.0 393.4 393.5 393.6 393.7 394.0 394.6 396.3 398.8 402.1 405.8 409.9 414.3 418.7 422.7 426.5 429.6 431.9 433.6 434.2 433.6 432.1 429.8 426.8 423.2 419.2 414.9 410.6 406.5 402.8 399.5 396.8 395.1 394.1 393.7 392.9 391.2 388.5 385.0 381.0 376.3 371.1 365.4 359.8 354.3 348.9 343.7 338.9 334.8 331.5 328.7 326.6 325.4 324.9 324.9 325.0 325.3 325.7 326.1 326.6 327.1 327.7 328.3 328.9 329.3 329.8 330.2 330.6 330.8 331.0 331.2 331.2 331.2 331.2 331.2 331.2 331.2 331.2 331.3 331.3 331.3 331.4 331.5 331.5 331.5 331.6 331.7 331.8 331.9 331.9 331.9 332.0 332.1 332.1 332.3 332.3 332.3 332.4 332.5 332.5 332.5 332.5 332.5 332.5 332.5 332.6 332.7 332.7 332.7 332.7 332.7 332.8 333.0 333.1 333.1 333.3 333.4 333.6 333.7 333.9 334.0 334.2 334.4 334.4 334.5 334.6 334.8 335.0 335.0 335.1 335.2 335.2 335.2 335.2 335.1 333.8 330.5 325.9 320.7 315.4 310.5 306.5 304.3 303.9 304.9 308.1 313.1 319.8 328.2 338.5 350.2 364.2 379.5 396.3 414.4 433.6 453.7 474.2 494.7 515.0 534.5 552.6 569.3 582.9 593.8 601.8 606.4 608.4 608.1 607.6 607.0 606.2 605.0 603.8 602.1 600.6 599.0 597.3 595.5 593.8 592.1 590.6 589.2 587.9 586.8 586.0 585.4 585.3 585.2 585.0 585.0 584.7 584.5 584.1 583.5 582.9 582.1 581.5 580.8 579.8 578.7 577.9 576.8 575.5 574.2 573.0 571.7 570.3 568.6 567.0 565.5 564.1 562.4 560.5 558.9 557.0 555.3 553.6 551.8 549.9 548.1 546.2 544.4 542.5 540.7 538.6 536.8 535.0 533.2 531.4 529.6 527.8 526.3 524.6 522.9 521.4 519.9 518.1 516.9 515.5 514.0 512.7 511.6 510.4 509.3 508.2 507.1 506.2 505.4 504.5 503.7 503.1 502.5 501.8 501.4 500.9 500.6 500.3 500.2 500.2 500.2 497.3 490.7 480.5 467.8 453.5 438.7 424.4 412.0 401.7 394.3 389.9 388.8 388.8 388.8 388.8 389.0 389.1 389.1 389.3 389.5 389.7 389.9 390.1 390.5 390.6 390.8 391.2 391.5 391.8 392.1 392.4 392.8 393.1 393.4 393.7 393.9 394.3 394.6 394.9 395.1 395.3 395.7 395.9 396.1 396.2 396.4 396.6 396.6 396.8 396.8 396.8 396.9 397.5 399.2 403.2 408.8 416.1 425.5 436.3 448.5 460.9 473.8 486.1 497.4 507.3 515.5 520.7 523.2 522.9 520.2 515.3 508.6 499.9 490.4 480.5 470.8 461.5 452.9 446.0 440.8 437.5 435.8 435.7 436.1 436.9 438.0 439.2 440.7 442.4 444.1 445.9 447.8 449.5 451.2 452.8 454.1 455.0 455.6 456.0 456.1 455.6 455.0 453.7 452.0 450.2 448.2 446.1 443.8 441.4 439.1 436.9 434.9 433.2 431.9 430.9 430.3 430.2 430.4 431.1 432.0 433.3 434.9 436.9 439.0 441.1 443.4 445.6 447.8 449.9 451.8 453.2 454.3 455.3 455.9 456.3 455.6 454.3 452.4 449.9 447.0 443.8 440.8 438.1 435.8 434.2 433.1 432.9 433.0 433.2 433.8 434.4 435.2 436.0 436.9 438.0 438.9 439.9 440.8 441.7 442.5 443.2 443.8 444.3 444.6 444.9 443.0 441.1 439.2 437.3 435.5 433.6 431.8 430.0 428.1 426.3 424.5 422.7 420.9 419.1 417.3 415.6 413.8 412.0 410.3 408.5 406.8 405.1 403.4 401.7 399.9 398.2 396.6 394.9 393.2 391.5 389.9 388.2 386.6 384.9 383.3 381.6 380.0 378.4 376.8 375.2 373.6 372.0 370.4 368.9 367.3 365.7 364.2 362.6 361.1 359.6 358.0 356.5 355.0 353.5 352.0 350.5 349.0 347.5 346.1 344.6 343.1 341.7 340.2 338.8 337.3 335.9 334.5 333.0 331.6 330.2 328.8 327.4 326.0 324.6 323.3 321.9 320.5 319.2 317.8 316.5 315.1 313.8 312.4 311.1 309.8 308.5 307.2 305.9 304.6 303.3 302.0 300.7 299.4 298.2 296.9 295.6 294.4 293.1 291.9 290.6 289.4 288.2 286.9 285.7 284.5 283.3 282.1 280.9 279.7 278.5 277.3 276.2 275.0 273.8 272.7 271.5 270.3 269.2 268.1 266.9 265.8 264.7 263.5 262.4 261.3 260.2 259.1 258.0 256.9 255.8 254.7 253.6 252.5 251.5 250.4 249.3 248.3 247.2 247.5 247.5 247.6 247.7 247.8 247.9 247.9 247.9 247.9 247.9 248.1 248.1 248.1 248.1 248.2 248.2 248.3 248.4 248.5 248.5 248.6 248.7 248.9 249.0 249.1 249.1 249.2 249.3 249.4 249.4 249.5 249.5 249.5 249.6 249.8 250.4 251.7 253.8 256.5 260.0 264.1 268.8 274.0 280.0 286.5 293.3 300.5 308.1 316.0 323.9 331.8 339.7 347.0 353.5 360.4 366.8 372.6 377.6 381.7 384.8 386.9 387.9 389.9 395.0 404.8 418.7 437.0 457.5 479.3 500.9 520.8 537.3 547.5 552.4 550.6 546.4 540.1 532.5 524.5 513.7 502.8 492.0 481.8 472.4 464.6 458.8 455.0 453.1 453.1 453.8 455.2 457.0 459.2 462.1 465.2 468.6 472.2 475.9 479.8 483.5 487.1 490.3 493.1 495.3 497.2 498.8 499.6 500.2 499.9 499.7 499.2 498.8 498.2 497.5 496.7 496.0 495.1 494.2 493.3 492.6 491.9 491.2 490.7 490.3 490.1 489.9 489.8 489.3 488.2 486.6 484.4 481.8 478.9 475.4 472.0 468.4 464.7 461.0 457.5 454.5 451.6 449.2 447.0 445.5 444.5 444.1 444.0 443.8 443.8 443.8 443.6 443.4 443.3 443.2 443.0 442.8 442.6 442.4 442.0 441.7 441.5 441.3 441.1 441.0 440.9 440.7 440.5 440.5 440.5 440.5 440.4 440.3 440.3 440.3 440.3 440.3 440.3 440.3 440.3 440.3 440.3 440.3 440.2 440.0 440.0 440.0 440.0 440.0 440.0 440.0 440.0 440.0 440.0 440.0 440.0 440.0 439.9 439.7 439.7 439.5 439.5 439.4 439.2 439.0 438.8 438.6 438.4 438.1 437.9 437.7 437.7 437.7 437.7 437.7 437.7 437.9 438.1 438.4 438.6 439.0 439.2 439.7 440.1 440.5 440.9 441.4 441.8 442.1 442.4 442.7 443.1 443.3 443.5 443.7 443.8 443.9 444.1 444.1 444.1 444.1 444.1 444.1 444.1 444.1 444.1 444.1 444.1 444.1 444.1 444.1 444.1 444.1 444.1 444.1 444.1 444.1 444.1 444.1 444.1 444.1 444.1 444.1 444.1 444.1 444.1 444.1 444.1 444.1 444.1 444.1 444.1 444.1 444.1 444.1 444.1 444.2 447.6 447.4 447.4 447.4 447.4 447.4 447.4 447.2 447.2 447.2 447.0 446.9 446.9 446.9 446.7 446.7 446.5 446.4 446.4 446.4 446.4 446.4 446.4 446.4 446.3 446.1 446.1 445.7 445.5 445.1 444.7 444.2 443.6 443.1 442.7 442.3 441.9 441.4 441.0 440.8 440.6 440.5 440.5 440.7 441.4 442.5 444.1 446.1 448.5 451.5 454.6 457.9 461.5 465.4 469.4 473.5 477.4 481.4 485.2 488.9 492.2 495.3 497.8 500.1 501.8 503.0 504.0 504.3 504.0 503.8 503.5 503.1 502.4 501.9 501.2 500.5 499.8 499.0 498.3 497.6 497.1 496.6 496.3 496.2 496.2 496.2 496.2 496.2 496.2 496.2 496.4 496.5 496.6 496.8 497.1 497.3 497.3 497.5 497.7 498.0 498.2 498.5 498.7 498.8 498.9 499.1 499.4 499.6 499.6 499.8 499.9 499.9 499.9 499.9 500.2 499.8 499.2 498.3 496.9 495.0 492.9 490.2 487.2 483.9 480.1 476.2 472.5 468.3 463.7 458.7 453.7 448.3 442.9 437.5 431.9 426.1 420.4 414.7 409.2 403.6 398.0 392.5 387.3 381.9 376.9 372.0 367.3 362.7 358.2 354.1 350.2 346.5 343.1 339.8 336.7 334.2 331.7 329.5 327.6 325.9 324.5 323.4 322.6 322.0 321.7 323.3 323.7 324.3 325.3 326.6 328.0 329.6 331.2 332.9 334.6 336.2 337.3 338.3 339.2 339.9 340.1 339.9 339.2 338.0 336.4 334.4 332.2 329.9 327.6 325.5 323.7 322.1 321.0 320.4 320.3 320.4 320.9 321.7 322.8 324.2 325.8 327.4 329.2 331.2 333.1 334.9 336.7 338.3 339.8 341.0 341.9 342.6 342.9 342.8 342.4 341.6 340.5 339.0 337.3 335.5 333.7 332.0 330.6 329.3 328.3 327.6 327.4 327.4 327.4 327.6 327.7 328.0 328.5 329.0 329.4 329.7 330.1 330.5 330.8 331.2 331.5 331.9 332.2 332.6 332.9 333.3 333.6 334.0 334.3 334.7 335.0 335.4 335.7 336.1 336.4 336.8 337.2 337.5 337.9 338.2 338.6 338.9 339.3 339.6 340.0 340.4 340.7 341.1 341.4 341.8 342.1 342.5 342.9 343.2 343.6 344.0 344.3 344.7 345.0 345.4 345.8 346.1 346.5 346.9 347.2 347.6 347.9 348.3 348.7 349.0 349.4 349.8 350.1 350.5 350.9 351.3 351.6 352.0 352.4 352.7 353.1 353.5 353.8 354.2 354.6 355.0 355.3 355.7 356.1 356.5 356.8 357.2 357.6 358.0 358.3 358.7 359.1 359.5 359.8 360.2 360.6 361.0 361.4 361.7 362.1 362.5 362.9 363.3 363.6 364.0 364.4 364.8 365.2 365.6 365.9 366.3 366.7 367.1 367.5 367.9 368.2 368.6 369.0 369.4 369.8 370.2 370.6 371.0 371.4 371.7 372.1 372.5 372.9 373.3 373.7 374.1 374.5 374.9 375.3 375.7 376.1 376.5 376.9 377.3 377.6 378.0 378.4 378.8 379.2 379.6 380.0 380.4 380.8 381.2 381.6 382.0 382.4 385.3 390.0 395.1 400.7 406.3 412.2 418.0 423.4 428.4 432.9 436.5 439.2 441.0 442.0 442.0 442.0 442.0 442.0 442.0 442.0 442.0 442.2 442.3 442.3 442.3 442.3 442.5 442.5 442.5 442.5 442.5 442.5 442.5 442.8 442.4 441.4 439.9 437.7 435.1 432.2 428.9 425.3 421.3 417.3 413.3 409.4 405.4 401.9 398.6 395.9 393.6 391.3 389.5 388.3 387.6 387.5 387.5 387.7 388.2 388.6 389.1 389.9 390.6 391.6 392.4 393.2 394.1 394.9 395.6 396.2 396.8 397.1 397.3 397.5 397.2 396.1 394.1 391.1 387.0 382.0 376.2 369.8 362.8 355.3 347.0 338.6 329.9 321.1 312.2 303.1 294.2 285.5 276.9 268.5 260.5 252.9 245.5 238.7 232.3 226.7 221.9 216.7 212.2 208.1 204.4 201.2 198.5 196.4 194.8 193.7 193.1 193.8 194.1 195.2 196.9 199.0 201.7 204.8 208.3 212.2 216.4 220.7 225.1 229.5 233.8 237.6 241.2 244.2 246.8 248.6 249.7 250.1 249.7 249.1 248.0 246.6 244.8 242.8 240.5 238.2 235.8 233.4 231.2 228.9 227.1 225.5 224.2 223.2 222.6 222.4 223.3 225.7 229.3 233.8 238.8 243.8 248.1 251.0 252.5 252.6 251.8 250.4 248.4 245.9 242.9 239.9 236.9 233.9 231.1 228.6 226.7 225.3 224.5 224.3 224.8 226.4 228.6 231.5 234.7 237.9 241.2 244.0 246.1 247.4 248.9 249.5 273.2 278.8 284.4 290.2 296.2 302.2 308.3 314.6 321.0 327.6 334.3 341.1 348.0 355.1 362.3 369.7 377.3 384.9 392.8 400.8 408.9 417.3 425.8 434.5 442.0 441.8 441.8 441.6 441.4 441.1 440.8 440.4 440.0 439.6 439.2 438.7 438.3 437.9 437.5 437.0 436.6 436.2 435.9 435.6 435.2 435.2 435.0 434.9 434.9 435.4 437.0 439.6 443.2 447.7 453.1 459.1 465.4 471.7 478.0 484.0 489.2 493.6 496.9 498.9 499.9 500.0 499.8 499.5 499.2 498.5 498.0 497.3 496.5 495.6 494.8 493.9 493.2 492.3 491.5 490.8 490.3 489.6 489.4 489.2 489.1 488.8 487.9 486.2 483.8 480.7 476.8 472.6 468.1 463.3 458.9 454.9 451.3 448.3 445.9 444.6 444.1 443.9 443.8 443.8 443.8 443.8 443.6 443.6 443.4 443.2 443.1 443.0 442.8 442.6 442.4 442.3 442.3 442.0 441.8 441.6 441.4 441.3 441.2 441.0 440.8 440.8 440.6 440.5 440.5 440.5 440.5 440.5 440.4 440.3 440.3 440.3 440.0 440.0 439.9 439.7 439.7 439.5 439.5 439.3 439.2 439.2 439.2 439.2 438.7 437.1 434.2 429.4 423.7 417.6 411.4 405.5 400.2 396.2 393.4 392.2 392.4 393.8 396.4 400.5 405.9 412.5 420.3 429.0 438.8 449.5 461.1 473.2 485.5 498.1 510.8 523.3 535.0 545.9 555.8 564.5 571.8 577.6 580.9 582.7 583.3 583.3 583.3 583.3 583.3 583.4 583.6 583.7 583.9 584.2 584.3 584.5 584.6 585.3 585.3 585.3 585.3 585.4 585.6 585.6 585.9 586.2 586.5 586.8 587.0 587.3 587.6 587.9 588.2 588.4 588.7 589.0 589.3 589.4 589.5 589.7 589.7 589.7 589.9 589.7 589.0 588.1 586.7 584.7 582.3 579.6 576.6 573.1 569.3 565.2 560.9 556.5 551.8 547.0 542.3 537.7 533.0 528.4 524.0 519.7 515.5 511.5 508.0 504.6 501.4 498.6 496.2 494.3 492.6 491.3 490.5 489.9 489.9 489.9 490.4 490.8 491.5 492.2 492.9 493.6 494.3 495.0 495.6 495.9 496.0 494.6 494.2 493.7 493.2 492.6 491.9 491.2 490.8 490.3 490.0 489.9 490.0 490.2 490.9 491.8 493.0 494.5 495.8 497.0 497.9 498.6 499.2 498.6 496.6 492.8 487.6 480.7 472.7 464.0 454.9 445.6 436.5 427.7 419.8 412.8 406.8 402.1 398.6 396.9 396.3 396.1 396.1 395.9 395.7 395.6 395.4 395.2 395.0 394.7 394.3 394.0 393.8 393.4 393.2 392.9 392.6 392.4 392.2 392.0 392.0 392.0 392.0 392.0 392.0 392.1 392.3 392.7 392.9 393.2 393.5 393.7 394.1 394.3 394.3 394.4 393.5 390.7 385.9 379.3 371.0 362.3 353.6 345.3 338.1 332.3 328.6 326.9 326.4 326.5 326.7 327.0 327.4 327.9 328.4 328.9 329.4 330.1 330.7 331.3 331.9 332.4 332.9 333.2 333.5 333.7 333.8 334.0 334.4 335.3 336.5 338.1 339.9 342.1 344.5 347.1 350.0 352.9 355.8 358.7 361.5 364.2 366.7 369.1 371.1 372.8 374.1 375.0 375.6 375.8 375.6 375.6 375.4 375.2 374.8 374.4 374.1 373.7 373.4 372.9 372.4 372.0 371.5 371.1 370.8 370.5 370.4 370.2 370.0 370.0 369.9 369.4 368.3 366.9 364.9 362.6 360.0 357.2 354.1 350.9 347.7 344.6 341.6 338.8 336.2 334.1 332.2 330.8 329.8 329.2 329.1 329.1 329.1 329.1 329.1 329.1 329.3 329.4 329.4 329.6 329.7 329.9 330.0 330.2 330.4 330.5 330.8 331.0 331.2 331.3 331.5 331.8 332.0 332.2 332.3 332.5 332.8 333.0 333.2 333.3 333.5 333.7 333.8 333.8 333.9 334.0 334.1 334.2 334.2 334.2 334.2 334.4 334.3 334.2 334.1 333.9 333.6 333.5 333.1 332.7 332.3 331.9 331.4 331.0 330.6 330.2 329.7 329.2 328.8 328.3 328.0 327.7 327.4 327.0 326.8 326.6 326.4 326.4 326.4 326.4 326.4 326.4 326.6 326.6 326.7 327.0 327.2 327.4 327.7 327.9 328.2 328.5 328.8 329.1 329.4 329.8 330.1 330.4 330.6 330.8 331.2 331.5 331.7 331.8 332.0 332.1 332.3 332.5 332.5 332.5 332.7 332.5 332.5 332.5 332.5 332.5 332.3 332.3 332.3 332.2 332.0 331.9 331.9 331.8 331.6 331.5 331.5 331.3 328.5 328.3 328.3 328.2 328.0 327.9 327.7 327.4 327.0 326.7 326.4 326.0 325.6 325.1 324.6 324.2 323.7 323.2 322.5 321.9 321.3 320.8 320.2 319.6 319.0 318.4 317.6 317.0 316.4 315.8 315.3 314.7 314.2 313.7 313.2 312.7 312.2 311.8 311.3 310.9 310.5 310.2 309.9 309.6 309.3 309.1 308.9 308.8 308.6 308.6 308.6 308.8 309.5 310.8 312.6 315.1 317.8 320.7 323.7 326.6 329.2 331.3 332.9 333.8 334.4 334.1 333.7 332.9 331.8 330.5 329.1 327.6 326.0 324.4 323.0 321.7 320.4 319.5 319.0 318.7 318.6 318.9 319.3 320.2 321.3 322.6 324.0 325.6 327.4 329.1 330.7 332.3 333.8 335.0 336.0 336.8 337.2 337.5 337.2 336.5 335.4 333.9 332.1 330.0 327.6 325.2 322.6 320.1 318.0 315.6 313.4 311.5 309.9 308.6 307.6 307.1 307.1 307.2 307.8 308.9 310.1 311.7 313.5 315.5 317.8 320.2 322.6 324.9 327.3 329.6 331.5 333.3 334.8 336.0 336.8 337.3 337.3 336.7 335.6 333.8 331.5 328.9 325.9 322.8 319.5 316.4 313.5 310.9 308.6 306.8 305.4 304.7 304.6 304.9 305.6 307.0 308.7 310.6 312.6 315.3 318.0 320.9 323.8 326.8 329.4 331.8 333.8 335.4 336.5 337.2 337.4 337.0 336.4 335.4 334.0 332.4 330.6 328.6 326.6 324.6 322.4 320.4 318.7 317.1 315.6 314.2 313.2 312.5 312.0 312.1 312.4 313.1 314.3 315.9 317.7 319.6 321.5 323.4 325.4 327.1 328.5 329.6 330.2 330.2 330.2 330.2 330.2 330.2 330.2 330.2 330.2 330.2 330.2 330.2 330.2 330.2 330.2 330.2 330.2 330.2 330.2 330.2 330.2 330.2 330.2 330.2 330.2 330.2 330.2", + "f0_timestep": "0.005" + }, + { + "offset": 94.41, + "text": "SP 你 是 不 食 烟 火 的 仙 瑶 AP 舞 凤 翔 鸾 相 交 的 SP 窈 窕 SP", + "ph_seq": "SP n i sh ir b u sh ir y En h uo d e x ian y ao AP w u f eng x iang l uan x iang j iao d e SP y ao t iao SP", + "ph_dur": "0.244 0.045 0.241 0.12 0.287 0.075 0.528 0.195 0.677 0.045 0.257 0.105 0.136 0.045 0.362 0.18 0.316 0.045 1.446 0.678 0.045 0.256 0.105 0.242 0.12 0.603 0.12 0.573 0.15 0.271 0.09 0.136 0.045 0.723 0.135 0.045 0.408 0.135 1.265 0.072", + "ph_num": "2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 1", + "note_seq": "rest A4 G4 E4 B4 A4 D5 D5 F#4 G4 rest A4 G4 E4 B4 A4 D5 E5 rest A4 B4 rest", + "note_dur": "0.289 0.361 0.362 0.723 0.722 0.362 0.181 0.542 0.361 1.446 0.723 0.361 0.362 0.723 0.723 0.361 0.181 0.723 0.18 0.543 1.265 0.072", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 262.0 266.9 273.1 280.0 287.6 295.9 304.7 314.0 323.8 334.1 344.6 355.1 365.7 376.4 386.8 396.6 405.9 414.5 422.2 429.1 434.7 438.9 441.8 443.4 444.0 443.8 443.8 443.4 443.1 442.8 442.4 441.9 441.3 440.8 440.3 439.6 439.0 438.4 437.7 437.3 436.7 436.2 435.8 435.4 435.2 435.0 434.9 434.9 434.3 432.9 430.7 427.5 423.8 419.1 414.3 409.5 404.6 400.0 395.6 392.2 389.3 387.3 386.2 385.8 386.4 388.4 391.5 395.5 400.3 405.8 411.5 417.7 423.5 429.0 433.9 437.8 441.0 442.7 443.2 442.5 441.1 438.9 436.1 432.7 428.8 424.5 420.0 415.3 410.5 406.0 401.7 397.7 394.3 391.3 389.0 387.3 386.2 385.8 385.7 385.8 386.0 386.2 386.6 387.0 387.5 388.2 388.8 389.4 390.2 390.9 391.5 392.2 393.0 393.7 394.3 394.8 395.4 395.9 396.2 396.6 396.8 396.8 396.9 396.1 394.0 391.0 387.0 382.2 376.5 370.2 363.5 356.4 349.0 341.6 334.4 327.4 320.6 314.4 308.7 303.5 298.9 295.2 292.2 290.1 288.6 288.0 288.0 288.5 289.4 290.6 292.3 294.5 296.8 299.4 302.2 305.3 308.4 311.5 314.5 317.4 320.2 322.7 324.8 326.7 328.0 328.9 329.5 329.5 329.4 329.4 329.2 329.1 328.9 328.8 328.6 328.3 328.1 327.9 327.7 327.4 327.3 327.1 327.0 327.0 327.0 327.0 327.0 327.0 327.1 327.3 327.4 327.6 327.7 328.0 328.4 328.7 329.0 329.3 329.6 329.9 330.3 330.5 330.7 331.0 331.3 331.5 331.7 331.8 331.9 331.9 331.9 332.1 332.1 332.1 332.1 332.1 332.2 332.3 332.4 332.5 332.7 332.7 332.8 333.0 333.1 333.3 333.5 333.6 333.8 333.9 334.2 334.5 334.6 334.8 334.9 335.1 335.3 335.4 335.6 335.7 335.9 336.1 336.2 336.4 336.4 336.5 336.6 336.6 336.7 336.7 336.7 336.7 336.9 336.6 335.6 333.9 331.6 328.9 325.7 322.3 318.8 315.2 312.0 309.0 306.5 304.3 302.8 302.0 301.9 302.4 303.8 306.1 309.5 313.8 319.0 325.2 332.2 340.1 348.6 357.9 367.7 378.1 388.8 399.7 410.7 421.8 432.7 443.0 452.7 461.7 469.9 476.8 482.6 486.8 489.5 491.0 491.2 491.0 491.0 491.0 491.0 491.0 491.0 491.0 491.0 491.0 491.0 491.0 490.9 490.8 490.8 490.8 490.8 490.8 490.8 490.7 490.5 490.5 490.5 490.5 490.5 490.5 490.5 490.5 490.5 490.5 490.5 490.5 490.4 490.2 490.2 490.0 489.8 489.5 489.3 489.1 488.6 488.3 487.9 487.6 487.3 486.8 486.6 486.3 486.1 486.0 486.0 486.0 485.7 485.0 484.0 482.6 480.7 478.3 475.7 472.9 469.9 466.7 463.6 460.5 457.5 454.7 452.2 449.8 448.0 446.7 445.6 445.0 445.0 445.6 447.8 451.1 455.4 460.6 466.4 472.5 478.5 484.1 489.1 493.0 495.9 496.8 496.8 496.3 495.5 494.5 493.3 492.1 490.9 489.9 489.1 488.4 488.2 488.2 488.4 488.6 488.8 489.0 489.4 490.0 490.7 491.1 491.6 492.3 492.8 493.2 493.5 493.9 494.2 494.2 494.3 493.6 491.9 489.5 486.4 482.5 478.0 472.9 467.3 461.2 454.9 448.5 442.0 435.4 429.2 423.2 417.6 412.3 407.3 403.0 399.3 396.3 393.9 392.1 391.0 390.6 390.8 391.8 393.4 395.4 397.9 400.9 404.4 408.1 412.1 416.0 419.6 423.9 427.9 431.7 435.3 438.5 441.0 443.1 444.6 445.4 445.6 445.6 445.6 445.6 445.6 445.6 445.6 445.6 445.6 445.6 445.6 445.8 445.9 445.9 445.9 445.9 445.9 446.0 446.1 446.1 446.1 446.1 446.1 446.1 446.1 446.1 446.1 446.1 446.3 445.9 444.6 442.4 439.2 435.0 430.2 425.0 419.6 413.9 408.2 403.6 399.0 394.5 390.7 387.7 385.7 384.7 384.6 385.4 387.0 390.0 394.0 398.7 404.3 410.8 418.2 426.5 435.5 445.1 455.3 466.2 477.3 488.5 500.1 511.6 522.2 531.8 542.4 552.3 561.5 569.6 576.8 582.9 587.4 590.4 592.1 592.7 592.3 591.8 591.2 590.2 589.0 587.8 586.4 585.0 583.3 581.8 580.4 579.0 577.7 576.6 575.7 574.9 574.4 574.2 574.4 574.9 576.6 579.1 582.0 585.5 589.1 592.8 596.6 600.0 602.8 605.1 606.5 607.3 607.0 606.8 606.5 606.1 605.4 604.5 603.8 602.8 601.6 600.5 599.3 597.9 596.4 595.0 593.6 592.2 590.7 589.3 588.1 586.8 585.5 584.4 583.3 582.2 581.3 580.6 580.0 579.5 578.9 578.9 578.9 578.7 578.2 577.5 576.3 574.9 573.0 571.0 568.6 565.9 563.1 559.8 556.3 552.7 548.6 544.4 540.2 535.8 530.9 526.1 521.1 516.0 510.9 505.7 500.4 494.9 489.6 484.4 479.0 473.5 468.3 462.9 457.8 452.7 447.7 442.8 437.9 433.3 428.8 424.4 420.0 416.0 412.0 408.4 404.9 401.5 398.2 395.2 392.3 389.7 387.3 385.2 383.5 381.6 380.0 378.5 377.3 376.3 375.6 375.1 374.8 374.7 374.5 374.5 374.4 374.2 374.0 373.9 373.5 373.3 373.0 372.6 372.3 371.9 371.7 371.4 371.2 370.9 370.6 370.4 370.4 370.4 370.4 370.4 370.4 370.4 370.5 370.6 370.6 370.8 371.0 371.2 371.4 371.5 371.7 371.9 372.1 372.2 372.4 372.6 372.8 372.9 373.1 373.4 373.6 373.6 373.8 374.0 374.2 374.3 374.3 374.5 374.5 374.5 374.6 374.5 373.8 372.6 370.6 368.1 365.3 362.4 359.5 356.8 354.2 352.2 350.7 349.9 349.9 351.3 355.3 361.3 368.6 377.0 385.8 394.3 401.4 406.5 409.5 410.5 410.2 409.6 408.8 407.7 406.5 405.2 403.6 402.1 400.3 398.6 397.0 395.6 394.3 393.1 392.0 391.1 390.4 390.0 390.0 390.0 390.0 390.0 390.0 390.0 390.0 390.0 390.0 390.0 390.0 390.0 390.0 390.0 390.0 390.0 390.0 390.0 390.0 390.0 390.0 390.0 390.0 390.0 390.0 390.0 390.0 390.0 390.0 390.0 390.0 390.0 390.0 390.0 390.0 390.2 390.3 390.5 390.7 390.9 391.1 391.3 391.6 391.9 392.1 392.5 392.7 393.1 393.4 393.7 394.0 394.3 394.5 394.9 395.1 395.4 395.7 395.9 396.1 396.3 396.5 396.7 396.8 396.8 396.8 396.8 396.9 396.8 396.8 396.6 396.4 396.1 395.7 395.3 395.0 394.4 393.8 393.2 392.6 391.8 391.1 390.3 389.6 388.8 388.0 387.1 386.4 385.4 384.5 383.7 382.9 382.0 381.1 380.3 379.5 378.7 377.8 377.1 376.4 375.7 374.9 374.2 373.5 373.0 372.5 371.9 371.5 371.1 370.8 370.4 370.2 370.1 370.0 370.0 370.0 370.2 370.7 371.7 373.0 374.6 376.4 378.2 380.4 382.6 384.8 387.0 389.0 390.9 392.6 394.0 395.1 395.8 396.2 396.1 395.6 394.7 393.4 391.7 389.7 387.4 384.9 382.3 379.5 377.2 374.5 371.8 369.3 366.8 364.7 362.9 361.3 360.2 359.4 358.8 359.0 359.5 360.7 362.6 365.1 368.1 371.4 375.1 378.9 382.7 386.4 390.0 393.1 395.8 397.9 399.3 400.0 400.0 399.5 398.6 397.2 395.3 393.1 390.8 388.2 385.4 382.6 379.7 376.9 374.3 371.9 369.6 367.4 365.9 364.7 363.8 363.4 363.6 364.1 365.3 367.3 369.8 372.8 376.2 379.8 383.7 387.6 391.4 395.0 398.2 400.9 403.0 404.4 405.1 405.0 404.0 402.3 399.8 396.7 393.1 389.2 385.2 381.2 377.3 374.2 371.3 368.6 366.5 365.1 364.8 365.1 366.3 368.4 371.3 374.7 378.7 383.0 387.3 391.2 394.6 397.7 399.4 400.4 400.6 400.4 400.2 399.8 399.2 398.5 397.6 396.6 395.6 394.5 393.2 391.8 390.4 388.9 387.4 385.7 384.0 382.4 380.6 378.9 377.2 375.6 373.8 372.1 370.5 368.9 367.4 366.0 364.5 363.3 362.1 361.0 360.1 359.2 358.4 357.5 356.9 356.2 355.5 354.9 354.2 353.6 352.9 352.2 351.6 350.9 350.3 349.6 349.0 348.3 347.7 347.0 346.4 345.8 345.1 344.5 343.8 343.2 342.6 341.9 341.3 340.6 340.0 339.4 338.7 338.1 337.5 336.9 336.2 335.6 335.0 334.4 333.7 333.1 332.5 331.9 331.3 330.7 330.0 329.4 328.8 328.2 327.6 327.0 326.4 325.8 325.2 324.6 324.0 323.4 322.8 322.2 321.6 321.0 320.4 319.8 319.2 318.6 318.0 317.4 316.8 316.2 315.6 315.0 314.5 313.9 313.3 312.7 312.1 311.5 311.0 310.4 309.8 309.2 308.7 308.1 307.5 306.9 306.4 305.8 305.2 304.7 304.1 303.5 303.0 302.4 301.9 301.3 300.7 300.2 299.6 299.1 298.5 297.9 297.4 296.8 296.3 295.7 295.2 294.6 294.1 293.5 293.0 292.5 291.9 291.4 290.8 290.3 289.7 289.2 288.7 288.1 287.6 287.1 286.5 286.0 285.5 284.9 284.4 283.9 283.4 282.8 282.3 281.8 281.3 280.7 280.2 279.7 279.9 282.8 286.6 291.3 296.8 303.2 310.4 318.4 327.2 336.6 346.4 356.6 367.0 376.1 385.9 396.2 406.2 415.5 424.0 431.5 437.8 442.9 446.6 449.0 449.7 449.5 449.3 448.7 448.1 447.3 446.5 445.6 444.6 443.5 442.4 441.4 440.6 439.7 439.2 438.6 438.1 437.7 437.7 437.7 437.8 438.1 438.6 439.0 439.4 439.7 439.9 439.5 438.1 435.4 431.7 426.9 421.3 414.9 408.2 401.1 394.0 387.1 380.4 374.2 368.6 363.7 359.7 356.6 354.4 353.4 354.6 359.6 369.6 381.3 390.0 394.5 394.3 394.3 394.3 394.3 394.2 394.0 394.0 394.0 393.9 393.8 393.8 393.8 393.8 393.8 393.8 394.5 396.5 400.1 405.1 411.2 417.5 423.4 428.4 432.1 433.9 433.6 431.9 428.9 424.8 419.5 413.9 408.4 403.1 398.3 394.5 392.0 390.9 390.5 390.2 389.6 388.6 387.5 386.2 384.7 383.0 381.1 379.1 376.9 374.9 372.8 370.6 368.5 366.6 364.8 363.2 361.9 360.7 359.7 358.8 358.3 358.2 356.2 351.0 343.2 330.1 316.0 302.3 290.1 280.5 274.3 272.8 273.1 274.0 275.4 277.3 279.7 282.5 285.8 289.3 293.1 297.1 301.2 305.4 309.5 313.4 317.1 320.5 323.4 325.7 327.7 329.2 330.1 330.5 330.4 330.4 330.3 330.1 329.9 329.8 329.4 329.3 329.0 328.7 328.4 328.2 327.9 327.8 327.6 327.4 327.4 327.4 327.4 327.4 327.4 327.4 327.6 327.7 327.9 328.2 328.4 328.6 328.9 329.2 329.6 329.9 330.2 330.5 330.8 331.2 331.5 331.8 332.1 332.4 332.5 332.7 332.8 333.0 333.1 333.1 333.2 333.0 332.9 332.6 332.2 331.9 331.5 330.9 330.4 329.9 329.4 329.0 328.5 328.0 327.7 327.6 327.4 327.4 327.4 327.4 327.4 327.5 327.5 327.7 327.9 328.2 328.4 328.7 328.8 329.1 329.3 329.6 329.9 330.2 330.4 330.6 330.9 331.0 331.2 331.3 331.5 331.5 331.5 331.7 331.2 330.1 328.4 326.0 323.0 319.6 316.1 312.7 309.3 306.1 303.3 301.3 299.8 299.1 298.9 299.4 300.5 302.6 305.2 308.4 312.1 316.5 321.5 327.2 333.4 340.2 347.5 355.3 363.4 370.9 379.2 388.3 397.7 407.2 416.7 426.2 435.6 444.8 453.5 461.9 469.7 476.8 483.2 488.8 493.6 497.6 500.0 501.6 502.5 502.3 502.0 501.6 501.2 500.6 499.9 498.9 498.2 497.3 496.5 495.7 495.0 494.3 493.8 493.3 493.0 493.0 493.0 493.0 493.0 493.0 493.0 493.0 493.0 493.0 493.0 493.0 493.0 493.2 493.3 493.3 493.3 493.3 493.3 493.3 493.4 493.6 493.6 493.6 493.6 493.6 493.6 493.6 493.6 493.6 493.6 493.6 493.8 493.7 493.5 493.2 492.9 492.5 492.0 491.3 490.6 489.8 488.9 487.9 486.8 485.6 484.3 482.9 481.5 480.1 478.5 476.9 475.1 473.3 471.5 469.7 467.9 465.9 463.9 461.9 459.9 457.9 455.7 453.7 451.6 449.5 447.7 445.5 443.6 441.5 439.4 437.3 435.2 433.1 431.2 429.3 427.4 425.4 423.5 421.7 420.0 418.4 416.8 415.2 413.6 412.2 410.9 409.5 408.2 407.0 405.8 404.6 403.6 402.8 402.0 401.2 400.5 399.9 399.5 399.1 398.7 398.3 398.2 398.2 398.2 398.2 398.7 399.3 400.2 401.4 402.6 404.2 405.9 407.7 409.7 411.8 413.6 415.8 418.2 420.5 422.8 425.2 427.2 429.5 431.4 433.2 434.8 436.2 437.5 438.5 439.2 439.6 439.9 439.8 439.7 439.7 439.7 439.7 439.7 439.6 439.5 439.4 439.2 439.2 439.0 438.8 438.7 438.6 438.5 438.5 438.3 438.2 438.1 438.0 437.9 437.7 437.7 437.7 437.7 437.7 437.7 437.2 435.7 432.9 429.2 425.2 420.4 415.1 410.0 405.1 401.0 397.9 395.9 395.0 396.8 402.1 411.2 424.0 440.0 459.3 480.5 502.5 524.5 545.4 564.1 577.5 585.9 590.0 589.8 589.7 589.5 589.3 588.9 588.3 588.1 587.6 587.0 586.4 585.9 585.3 584.7 584.2 583.6 583.2 582.8 582.3 582.0 581.7 581.6 581.6 581.4 580.6 578.6 575.6 571.8 567.7 563.7 559.1 554.6 550.5 547.2 544.5 543.0 546.2 564.1 582.5 586.3 586.3 586.3 586.3 586.3 586.3 586.3 586.3 586.3 586.3 586.3 586.3 586.3 586.3 586.3 586.3 586.3 586.3 586.3 586.3 586.3 586.3 586.3 586.3 586.3 586.3 586.3 586.3 586.6 587.8 589.7 592.2 595.3 599.3 603.7 608.5 613.7 619.1 624.8 630.2 636.0 641.4 646.4 651.1 655.1 658.9 661.4 663.5 664.6 665.4 665.1 664.7 664.2 663.5 662.5 661.5 660.6 659.6 658.5 657.4 656.4 655.5 654.8 654.2 653.9 653.9 653.9 653.9 654.1 654.3 654.3 654.6 655.2 655.6 656.0 656.3 657.0 657.3 657.9 658.5 659.0 659.4 660.0 660.3 660.7 661.0 661.3 661.6 661.9 661.9 661.9 662.2 661.9 661.0 660.0 658.5 656.5 654.2 651.7 648.6 645.2 641.4 637.3 632.9 628.4 623.3 618.0 612.4 606.8 600.9 594.8 588.6 582.2 575.6 569.2 563.4 556.7 549.8 543.0 536.1 529.2 522.3 515.6 508.7 502.1 495.5 488.9 482.3 476.1 469.9 463.9 458.0 452.3 446.7 441.3 436.0 430.9 426.1 421.4 417.0 412.8 408.8 405.0 401.4 398.0 394.7 391.9 389.2 387.0 385.1 383.3 381.4 379.5 377.7 375.8 374.0 372.2 370.3 368.5 366.7 364.9 363.2 361.4 359.6 357.9 356.1 354.4 352.6 350.9 349.2 347.5 345.8 344.1 342.4 347.8 353.4 359.4 365.5 371.9 378.2 384.8 391.4 397.8 404.1 410.3 416.0 421.5 426.5 431.1 434.9 438.0 440.9 443.1 444.5 445.4 445.5 445.4 445.3 445.1 444.9 444.7 444.5 444.3 444.0 443.6 443.1 442.7 442.3 441.9 441.4 441.0 440.6 440.2 439.9 439.6 439.2 438.8 438.6 438.4 438.1 437.9 437.7 437.7 437.7 437.7 437.7 437.7 437.7 437.7 437.8 438.0 438.0 438.2 438.4 438.6 438.7 438.8 439.0 439.2 439.4 439.6 439.7 439.8 440.0 440.0 440.2 440.3 440.3 440.3 440.3 440.3 439.8 438.7 436.8 434.6 431.8 428.6 425.2 421.3 417.3 413.3 409.1 405.0 401.1 397.2 393.6 390.5 387.6 385.1 383.2 381.5 380.6 380.2 384.0 385.7 390.9 398.7 408.8 420.8 434.4 449.2 464.2 478.5 491.5 502.2 510.2 514.9 515.6 515.0 514.0 512.2 510.1 507.8 505.3 502.9 500.2 498.0 496.1 494.6 493.6 493.0 492.9 492.7 492.7 492.7 492.7 492.7 492.7 492.7 492.7 492.5 492.5 492.5 492.5 492.4 492.2 492.2 492.2 492.2 492.2 492.2 492.2 492.2 492.2 492.2 492.2 492.2 492.2 492.2 492.2 492.2 492.2 492.4 492.5 492.5 492.5 492.7 492.7 492.7 492.9 493.0 493.1 493.3 493.3 493.3 493.5 493.6 493.6 493.6 493.6 493.6 493.6 493.6 493.7 493.9 493.9 493.9 493.9 493.9 493.9 493.9 493.9 493.9 493.9 493.9 493.9 493.9 493.9 493.9 493.9 493.9 493.9 493.9 493.9 493.9 493.9 493.9 493.9 493.9 493.9 493.8 493.5 492.7 492.0 490.9 489.5 487.7 485.8 483.7 481.7 479.5 477.1 474.3 471.6 468.9 466.0 463.1 460.3 457.6 455.0 452.4 450.1 447.9 445.9 444.0 442.3 440.8 439.7 438.9 438.2 437.7 437.7 437.7 437.9 438.2 438.7 439.4 440.0 440.6 441.4 442.2 442.8 443.4 443.8 444.3 444.5 444.8 445.0 445.4 446.1 447.4 449.2 451.1 453.4 456.1 459.0 462.1 465.7 469.3 472.9 476.6 480.3 484.0 487.7 491.3 494.6 497.6 500.4 502.8 504.7 506.5 507.8 508.5 508.8 508.6 507.8 506.5 504.6 502.2 499.6 496.6 493.3 490.0 486.7 483.4 480.2 477.3 475.0 473.0 471.4 470.2 469.8 469.8 470.1 471.0 472.4 474.1 476.2 478.6 481.2 484.0 487.0 490.1 493.0 495.8 498.3 500.5 502.4 504.0 505.0 505.5 505.6 505.3 504.6 503.3 501.9 500.2 498.2 496.0 493.6 491.0 488.4 485.7 483.0 480.4 477.9 475.6 473.5 471.6 469.9 468.6 467.5 466.8 466.7 466.8 467.4 468.7 470.5 472.8 475.6 478.7 482.1 485.8 489.3 493.1 496.6 499.8 502.6 504.9 506.9 508.1 508.7 508.8 508.4 507.6 506.6 505.1 503.5 501.6 499.7 497.9 495.7 493.4 491.2 489.1 487.0 485.1 483.4 483.4 483.4 483.4 483.4 483.4 483.4 483.4 483.4 483.4 483.4 483.4 483.4", + "f0_timestep": "0.005" + }, + { + "offset": 105.977, + "text": "SP 题 画 诗 也 难 描 SP 千 古 词 不 敢 扰 AP 华 灯 照 墨 香 里 印 色 SP 正 妙 SP", + "ph_seq": "SP t i h ua sh ir y E n an m iao SP q ian g u c i0 b u g an r ao AP h ua d eng zh ao m o x iang l i y in s e SP zh eng m iao SP", + "ph_dur": "0.183 0.105 0.272 0.09 0.241 0.12 0.497 0.045 0.437 0.105 0.272 0.09 0.723 0.196 0.165 0.287 0.075 0.241 0.12 0.121 0.06 0.482 0.06 0.316 0.045 0.542 0.814 0.09 0.136 0.045 0.241 0.12 0.392 0.15 0.121 0.06 0.136 0.045 0.316 0.045 0.121 0.06 0.361 0.408 0.135 0.377 0.165 2.168 0.5", + "ph_num": "2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 1", + "note_seq": "rest A4 B4 E4 D5 G4 A4 rest B3 A4 G4 B4 G4 E4 rest A4 G4 B3 A4 B4 A4 D5 D5 rest D4 E4 rest", + "note_dur": "0.288 0.362 0.361 0.542 0.542 0.362 0.723 0.361 0.362 0.361 0.181 0.542 0.361 0.542 0.904 0.181 0.361 0.542 0.181 0.181 0.361 0.181 0.361 0.543 0.542 2.168 0.5", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.2 398.5 399.7 402.0 405.4 409.7 414.5 419.6 424.8 429.9 434.7 438.5 441.4 443.2 444.0 443.8 443.6 443.4 443.1 442.6 442.2 441.8 441.1 440.6 440.0 439.4 439.0 438.4 437.9 437.6 437.3 437.0 437.0 437.0 437.0 437.0 437.0 437.0 437.0 437.0 437.0 437.0 437.1 437.2 437.2 437.2 437.2 437.4 437.5 437.5 437.5 437.5 437.5 437.5 437.5 437.5 437.6 438.2 439.7 442.6 446.7 452.3 458.7 465.8 473.3 481.1 488.8 495.6 501.6 506.6 510.2 512.4 512.9 512.5 511.5 510.3 508.6 506.6 504.4 501.9 499.8 497.6 495.7 494.2 492.9 492.2 492.1 491.9 491.4 490.6 489.5 488.1 486.4 484.6 482.5 480.2 477.6 475.0 472.7 469.5 466.2 462.8 459.4 455.9 452.4 448.7 445.0 441.4 437.8 434.2 430.7 427.2 423.9 420.6 417.4 414.3 411.5 408.7 406.1 403.7 401.5 399.4 397.7 396.2 394.8 393.6 392.6 391.9 391.5 391.4 390.4 387.4 381.3 372.0 360.8 348.4 335.7 323.3 311.7 301.8 294.0 288.4 285.0 283.9 284.2 285.0 286.2 287.9 289.9 292.3 295.0 298.2 301.5 304.9 308.4 311.8 315.5 318.8 321.9 324.7 327.3 329.4 331.2 332.3 332.9 333.2 333.1 333.1 332.9 332.8 332.6 332.5 332.3 332.0 331.7 331.3 331.0 330.7 330.2 329.9 329.4 329.1 328.7 328.2 327.9 327.6 327.2 326.8 326.5 326.2 325.8 325.7 325.4 325.2 325.0 324.9 324.9 324.9 324.9 324.9 325.0 325.3 325.7 326.1 326.6 327.2 328.0 328.7 329.4 330.1 330.8 331.6 332.2 332.8 333.3 333.7 334.0 334.2 334.4 334.7 335.6 337.3 339.9 343.3 347.8 352.9 358.8 365.5 373.0 381.3 390.5 400.2 410.5 421.4 432.9 445.0 457.2 469.7 482.3 494.9 507.5 519.8 531.7 543.0 553.6 563.5 572.3 580.0 585.6 590.5 594.7 597.3 598.4 598.4 598.3 598.3 598.2 597.9 597.7 597.6 597.4 597.1 596.8 596.2 595.9 595.6 595.2 594.7 594.4 593.8 593.5 593.2 592.8 592.3 592.0 591.8 591.5 591.2 590.9 590.6 590.3 590.0 590.0 590.0 590.0 590.0 589.8 592.8 592.5 592.0 591.1 589.8 588.3 586.3 584.1 581.6 578.9 576.1 573.3 569.4 565.6 561.5 557.1 552.8 548.0 543.0 538.1 532.9 527.5 522.1 516.6 511.0 505.3 499.6 493.9 488.2 482.6 476.8 471.3 465.8 460.2 454.7 449.2 444.1 439.0 433.9 429.0 424.3 419.6 415.2 410.9 406.6 402.7 399.0 395.4 392.0 388.8 385.7 382.8 380.1 377.8 375.4 373.4 371.6 370.1 368.7 367.4 366.4 365.7 365.2 364.9 364.7 367.3 369.2 371.7 374.6 377.8 380.9 383.9 386.7 389.3 391.2 392.3 393.0 393.0 392.9 392.8 392.6 392.2 392.0 391.7 391.3 390.9 390.4 390.0 389.5 389.1 388.7 388.3 387.9 387.6 387.3 387.2 387.0 386.8 386.8 386.8 386.8 386.8 386.9 387.0 387.2 387.4 387.6 387.8 388.0 388.2 388.5 388.9 389.1 389.4 389.7 390.1 390.5 390.8 391.0 391.4 391.8 392.1 392.4 392.7 393.1 393.4 393.6 393.8 394.0 394.2 394.3 394.5 394.7 394.7 394.7 394.8 394.9 394.7 394.7 394.7 394.7 394.6 394.5 394.5 394.3 394.3 394.1 393.9 393.7 393.6 393.6 393.4 393.2 393.0 392.9 392.9 392.7 392.5 392.4 392.3 392.2 392.2 392.0 392.0 392.0 392.0 392.0 391.9 391.8 391.8 391.8 391.8 391.7 391.5 391.5 391.3 391.3 391.2 391.1 391.0 390.8 390.6 390.5 390.4 390.3 390.1 390.0 390.0 389.8 389.6 389.5 389.5 389.3 389.3 389.3 389.3 389.3 389.3 389.4 389.6 391.5 392.0 393.0 394.4 396.1 398.4 400.8 403.7 406.9 410.3 413.9 417.7 421.5 425.4 429.3 433.2 437.0 440.3 443.6 446.5 449.2 451.5 453.4 454.7 455.7 456.2 456.0 455.3 453.9 452.1 449.5 446.6 443.4 440.3 437.0 433.7 430.8 428.1 425.7 423.9 422.6 421.8 421.9 422.2 423.1 424.5 426.4 428.6 430.9 433.5 436.2 438.9 441.5 444.0 446.1 447.9 449.2 450.1 450.5 450.2 449.6 448.8 447.7 446.4 444.7 442.6 440.5 438.3 436.0 433.9 431.7 429.7 427.8 426.2 424.8 423.8 423.0 422.6 422.6 422.6 423.2 424.1 425.3 426.7 428.3 430.0 431.8 433.5 435.2 436.9 438.5 439.7 440.8 441.5 439.6 435.9 432.2 428.6 425.0 421.5 417.9 414.4 411.0 407.5 404.1 400.7 397.4 394.0 390.7 387.5 384.2 381.0 377.8 374.6 371.5 368.4 365.3 362.2 359.2 356.2 353.2 350.3 347.3 344.4 341.5 338.7 335.8 333.0 330.2 327.5 324.7 322.0 319.3 316.6 314.0 311.4 308.7 306.2 303.6 301.1 298.5 296.0 293.5 291.1 288.7 286.2 283.8 281.5 279.1 276.8 274.4 272.1 269.9 267.6 265.4 263.1 260.9 258.8 256.6 254.4 252.3 250.2 248.5 248.5 248.6 248.7 248.7 248.8 248.8 248.9 248.9 249.0 249.1 249.1 249.2 249.3 249.5 249.5 249.5 249.7 249.8 249.8 249.9 250.0 250.0 250.1 250.1 250.2 250.2 250.3 250.4 250.4 250.4 250.4 250.4 250.4 250.6 251.1 252.6 254.9 258.0 261.9 266.6 271.9 278.2 285.0 292.3 300.1 308.4 316.9 325.6 333.2 341.1 349.4 357.4 364.5 371.1 376.7 381.3 384.8 387.0 388.0 388.2 388.2 388.2 388.4 388.6 389.0 389.4 389.7 390.1 390.5 390.9 391.2 391.6 392.0 392.4 392.6 393.0 393.7 394.8 396.1 397.8 399.8 402.1 404.5 407.1 409.8 412.8 415.8 418.7 421.6 424.6 427.2 429.9 432.3 434.4 436.5 438.2 439.5 440.3 440.8 441.2 442.5 443.2 443.8 444.3 444.9 445.5 445.9 446.1 446.5 446.7 446.7 446.8 446.1 445.1 443.1 440.6 437.6 434.2 430.2 426.1 421.8 417.5 413.4 409.8 405.9 402.3 399.2 396.5 394.2 392.7 391.7 391.3 391.1 391.1 391.1 391.1 391.1 391.1 391.1 391.1 391.1 391.0 390.9 390.9 390.9 390.9 390.9 390.8 390.6 390.6 390.6 390.6 390.6 390.6 390.6 390.6 390.6 390.6 390.6 390.7 391.1 391.5 392.0 392.6 393.1 393.4 393.6 394.9 398.5 405.8 416.3 427.1 436.2 442.3 444.8 444.6 444.4 444.0 443.4 442.8 442.2 441.5 440.9 440.3 439.6 439.1 438.7 438.5 438.5 438.6 439.2 440.4 442.2 444.1 446.7 449.6 452.8 455.9 458.9 462.7 466.5 470.2 473.8 477.1 480.1 482.6 485.0 486.8 488.0 488.8 489.1 489.1 489.1 489.1 489.1 489.1 489.1 489.1 489.1 489.1 489.1 489.1 489.1 489.1 489.1 489.1 489.1 489.1 489.1 489.1 489.1 489.1 489.1 489.1 489.1 489.1 489.1 489.1 489.1 489.1 489.1 489.1 489.1 489.3 489.3 489.5 489.6 489.6 489.6 489.6 489.9 489.9 490.1 490.6 491.0 491.6 492.3 492.7 493.7 494.3 494.9 495.5 496.0 496.5 496.7 496.9 496.6 495.4 493.2 489.9 485.7 480.7 475.1 468.9 462.1 455.3 448.3 441.3 434.4 427.9 421.7 416.0 410.9 406.5 402.9 400.0 397.9 396.6 396.3 396.3 396.3 396.3 396.3 396.3 396.3 396.5 396.6 396.6 396.6 396.8 396.8 396.8 396.8 396.8 396.9 396.9 396.8 396.8 396.6 396.4 396.2 396.0 395.8 395.6 395.3 395.0 394.7 394.4 394.2 393.8 393.6 393.4 393.2 393.1 393.1 393.1 393.0 392.4 391.3 389.8 387.6 384.9 381.9 378.5 374.7 370.4 366.0 361.3 356.4 351.5 346.4 341.4 336.4 331.5 326.8 322.1 317.7 313.6 310.1 306.7 303.2 300.2 297.6 295.4 293.4 291.9 290.8 290.0 289.8 290.3 291.9 294.5 297.9 302.3 307.3 312.4 317.7 322.5 326.7 330.2 332.3 333.3 333.1 332.7 332.2 331.6 330.8 329.7 328.4 327.1 325.6 324.1 322.7 321.0 319.5 318.0 316.6 315.2 314.0 313.0 312.1 311.5 310.9 310.6 310.6 310.6 310.9 311.6 312.4 313.5 314.7 316.1 317.6 319.2 321.0 322.8 324.5 326.2 327.9 329.3 330.7 332.0 333.1 333.9 334.4 334.7 334.7 334.3 333.7 332.5 331.2 329.5 327.8 326.2 324.0 321.9 319.7 317.6 315.7 313.8 312.2 310.9 309.9 309.1 308.6 308.7 308.9 309.3 310.1 311.1 312.2 313.5 314.9 316.6 318.2 319.9 321.5 323.1 324.5 325.8 327.0 328.1 328.9 329.5 329.8 330.2 330.9 332.7 335.7 339.6 344.3 350.0 356.6 364.1 372.4 381.5 391.2 401.5 412.5 423.8 435.4 447.1 451.3 450.3 449.4 448.5 447.5 446.6 445.7 444.8 443.8 442.9 442.0 441.1 440.2 439.3 438.3 437.4 436.5 435.6 434.7 433.8 432.9 432.0 431.1 430.2 429.3 428.4 427.5 426.7 425.8 424.9 424.0 423.1 422.3 421.4 420.5 419.6 418.8 417.9 417.0 416.2 415.3 414.4 413.6 412.7 411.9 411.0 410.1 409.3 408.4 407.6 406.7 405.9 405.1 404.2 403.4 402.5 401.7 400.9 400.0 399.2 398.4 397.6 396.7 395.9 395.1 394.3 393.4 392.6 391.8 391.0 390.2 389.4 388.6 387.8 387.0 386.2 385.4 384.6 383.8 383.0 382.2 381.4 380.6 379.8 379.0 378.2 377.4 376.6 375.9 375.1 374.3 373.5 372.8 372.0 371.2 370.4 369.7 368.9 368.1 367.4 366.6 365.8 365.1 364.3 363.6 362.8 362.1 361.3 360.6 359.8 359.1 358.3 357.6 356.8 356.1 355.4 354.6 353.9 353.1 352.4 351.7 350.9 350.2 349.5 348.8 348.0 347.3 346.6 345.9 345.2 344.4 343.7 343.0 342.3 341.6 340.9 340.2 339.5 338.8 338.1 337.4 336.7 336.0 335.3 334.6 333.9 333.2 332.5 331.8 331.1 330.4 329.7 329.1 328.4 327.7 327.0 326.3 325.7 325.0 324.3 323.6 323.0 322.3 321.6 320.9 320.3 319.6 319.0 318.3 317.6 317.0 316.3 315.7 315.0 314.3 313.7 313.0 312.4 311.7 312.9 316.0 320.2 325.7 332.3 340.0 348.5 357.7 367.5 377.8 387.9 397.7 407.0 415.5 423.1 429.2 433.6 436.3 437.0 436.5 436.1 435.6 435.0 434.7 434.4 434.2 434.2 433.3 430.9 426.9 421.3 414.5 407.6 401.2 395.5 391.0 388.2 387.5 387.5 387.5 387.6 387.7 387.8 387.9 388.1 388.5 388.7 388.9 389.1 389.5 389.7 390.0 390.3 390.6 390.9 391.1 391.3 391.5 391.7 391.8 391.8 391.8 392.0 391.8 391.5 391.0 390.3 389.4 388.6 387.5 386.4 385.4 384.4 383.5 382.6 382.0 381.6 381.4 381.3 380.2 377.3 372.9 367.0 359.9 351.7 342.3 332.6 322.6 312.5 302.6 293.0 284.0 275.7 268.4 261.9 256.4 252.0 248.9 246.8 245.8 245.7 245.7 245.7 245.8 245.9 246.0 246.2 246.4 246.6 246.8 247.0 247.3 247.5 247.8 248.0 248.2 248.5 248.7 248.9 249.0 249.3 249.4 249.5 249.5 249.5 249.6 249.3 248.5 247.3 245.5 243.4 241.0 238.5 236.3 234.2 232.4 230.9 230.1 229.8 229.9 230.5 231.5 232.9 234.7 236.7 239.0 241.3 243.6 245.9 248.1 249.8 251.2 252.1 252.7 252.7 252.2 251.3 249.8 248.0 245.9 243.6 241.3 238.9 236.8 234.9 233.4 232.2 231.4 231.2 231.4 232.0 233.0 234.4 236.0 237.8 239.9 241.9 243.9 245.8 247.5 248.8 249.8 250.2 250.5 250.2 249.6 248.8 247.7 246.4 245.1 243.5 242.0 240.6 239.4 238.3 237.4 236.7 236.5 236.9 238.3 241.4 246.7 253.7 262.2 272.3 283.9 297.1 311.4 326.6 342.3 358.4 374.3 389.5 403.1 414.7 424.2 431.1 435.3 436.5 436.5 436.5 436.7 436.9 437.0 437.3 437.7 437.9 438.3 438.7 439.2 439.5 439.7 440.2 440.4 440.6 440.8 441.0 441.0 441.2 439.6 435.7 430.3 424.6 420.4 419.4 420.4 423.8 428.2 433.8 441.1 449.5 458.7 467.9 476.6 484.6 491.2 496.5 499.1 500.2 499.9 499.9 499.5 499.2 498.9 498.4 498.2 497.7 497.2 496.9 496.6 496.2 496.2 492.1 491.9 491.9 491.9 491.7 491.6 491.4 494.1 493.0 491.3 489.1 486.2 482.7 479.1 475.0 470.8 466.7 462.4 458.4 454.8 451.6 448.7 446.3 444.6 443.7 443.4 443.1 443.1 443.1 443.1 443.1 443.1 443.1 443.1 443.1 443.0 442.8 442.8 442.8 442.8 442.7 442.5 442.5 442.5 442.5 442.4 442.3 442.3 442.3 442.3 442.1 442.0 442.0 442.0 442.0 442.0 442.0 442.0 442.0 442.0 442.0 442.0 442.0 442.0 442.0 442.0 442.1 442.3 442.3 442.5 442.5 442.6 442.8 442.8 443.0 443.1 443.1 443.1 443.1 443.1 439.2 441.3 445.0 450.3 457.1 465.5 475.0 485.5 496.8 508.7 520.8 533.0 544.6 555.5 565.4 574.0 580.9 585.4 587.9 588.9 588.7 588.7 588.7 588.5 588.3 588.3 588.0 587.7 587.7 587.5 587.2 586.9 586.7 586.7 586.4 586.3 586.3 586.3 586.3 586.3 586.5 586.9 587.4 588.0 588.6 589.5 590.4 591.3 592.4 593.3 594.4 595.4 596.2 597.1 597.9 598.5 598.9 599.2 599.5 599.3 598.5 597.3 595.5 593.2 590.7 587.8 584.8 582.0 579.2 577.0 575.2 573.8 572.8 572.3 572.7 574.1 576.4 579.4 583.3 587.8 592.1 596.4 600.4 603.7 606.3 607.7 608.3 607.7 606.2 604.1 601.2 597.8 594.0 590.0 586.1 582.4 578.8 575.3 572.3 569.8 568.0 567.0 566.7 567.0 567.8 569.1 570.8 572.8 575.1 577.6 580.4 582.9 585.5 587.9 590.0 591.8 593.2 594.2 594.7 591.8 588.3 583.1 578.0 572.9 567.8 562.8 557.8 552.9 548.0 543.2 538.4 533.6 528.9 524.2 519.6 515.0 510.4 505.9 501.4 497.0 492.6 488.3 484.0 479.7 475.4 471.2 467.1 462.9 458.8 454.8 450.8 446.8 442.8 438.9 435.0 431.2 427.4 423.6 419.9 416.1 412.5 408.8 405.2 401.6 398.1 394.6 391.1 387.6 384.2 380.8 377.4 374.1 370.8 367.5 364.3 361.0 357.8 354.7 351.5 348.4 345.4 342.3 339.3 336.3 333.3 330.4 327.4 324.5 321.7 318.8 316.0 313.2 310.5 307.7 305.0 302.3 299.6 297.0 294.3 291.7 289.2 286.6 284.1 281.6 279.1 276.6 274.2 271.7 269.3 267.0 264.6 262.3 259.9 257.6 255.4 253.1 250.9 248.7 246.5 244.3 242.1 240.0 237.9 235.8 233.7 231.6 234.2 237.0 240.1 243.3 246.8 250.4 254.1 257.9 261.8 265.6 269.3 273.1 276.6 279.9 283.2 285.9 288.5 290.7 292.5 293.8 294.8 295.5 295.9 295.7 295.7 295.6 295.5 295.5 295.4 295.2 295.0 294.8 294.6 294.3 294.0 293.9 293.6 293.3 293.0 292.8 292.5 292.2 291.9 291.6 291.4 291.2 291.0 290.8 290.7 290.5 290.4 290.3 290.3 290.3 290.3 290.3 290.3 290.3 290.3 290.5 290.5 290.6 290.7 290.9 291.0 291.1 291.3 291.4 291.6 291.9 292.0 292.1 292.4 292.6 292.7 292.9 293.0 293.2 293.3 293.4 293.6 293.7 293.7 293.8 293.8 293.8 293.9 293.9 293.8 293.8 293.8 293.7 293.6 293.4 293.3 293.1 293.0 292.8 292.6 292.4 292.2 291.9 291.8 291.5 291.4 291.1 290.9 290.7 290.5 290.3 290.2 290.0 289.9 289.8 289.6 289.5 289.5 289.5 289.5 289.5 289.5 289.5 289.5 289.5 289.5 289.5 289.5 289.6 289.6 289.6 289.6 289.8 289.8 289.8 289.9 290.0 290.0 290.1 290.1 290.2 290.3 290.3 290.5 290.5 290.6 290.6 290.7 290.8 290.8 291.0 291.0 291.1 291.1 291.2 291.3 291.3 291.3 291.4 291.5 291.5 291.5 291.5 291.5 291.5 291.5 291.6 291.7 292.1 292.6 293.2 294.1 295.4 296.7 298.3 300.0 301.9 303.8 306.0 308.2 310.4 312.6 314.7 317.0 319.1 321.0 322.8 324.5 326.0 327.3 328.3 329.1 329.6 329.9 329.9 329.8 329.8 329.8 329.7 329.6 329.5 329.4 329.2 329.1 328.9 328.6 328.4 328.2 328.0 327.7 327.6 327.4 327.2 326.9 326.8 326.6 326.3 326.1 325.9 325.8 325.7 325.5 325.5 325.4 325.3 325.3 325.3 325.3 325.2 325.1 325.0 324.9 324.7 324.4 324.1 323.8 323.4 323.0 322.7 322.2 321.6 321.1 320.6 319.9 319.3 318.7 318.1 317.5 316.9 316.2 315.5 314.9 314.3 313.7 313.0 312.4 311.8 311.2 310.8 310.2 309.7 309.3 309.0 308.5 308.2 307.9 307.6 307.3 307.2 307.1 307.0 307.0 307.0 307.0 307.5 308.1 309.0 310.0 311.2 312.7 314.3 316.0 317.8 319.8 321.8 323.8 325.8 327.7 329.6 331.5 333.2 334.6 336.1 337.3 338.2 337.5 337.4 337.1 336.7 336.1 335.4 334.6 333.7 332.7 331.6 330.5 329.4 328.3 327.2 326.1 325.2 324.4 323.7 323.0 322.6 322.3 322.3 322.3 322.5 322.8 323.0 323.7 324.3 324.9 325.7 326.6 327.4 328.3 329.1 329.9 330.6 331.3 331.9 332.4 332.8 333.0 333.2 333.1 332.9 332.5 332.0 331.3 330.5 329.6 328.8 327.9 326.8 326.0 325.1 324.3 323.6 323.0 322.6 322.3 322.3 322.3 322.4 322.6 322.9 323.4 324.0 324.7 325.4 326.2 327.0 327.9 328.7 329.6 330.5 331.2 331.9 332.7 333.4 333.9 334.4 334.8 335.0 335.2 335.4 335.2 334.7 334.2 333.6 332.7 331.7 330.8 329.7 328.6 327.5 326.6 325.7 324.9 324.4 324.0 323.8 323.8 323.8 324.2 324.6 325.2 325.9 326.8 327.7 328.5 329.6 330.5 331.3 332.2 333.0 333.7 334.1 334.5 334.7 334.2 333.9 333.7 333.5 333.2 333.0 332.7 332.4 332.0 331.8 331.6 331.3 331.0 330.6 330.5 330.3 330.1 330.0 329.8 329.7 329.6 330.5 330.4 330.4 330.4 330.2 330.0 329.9 329.7 329.5 329.2 329.1 328.7 328.4 328.1 327.8 327.4 327.0 326.5 326.0 325.6 325.1 324.6 324.2 323.5 323.0 322.5 321.9 321.2 320.6 320.0 319.3 318.6 317.9 317.1 316.4 315.6 314.9 314.3 313.5 312.7 312.0 311.1 310.3 309.5 308.7 307.9 307.0 306.1 305.3 304.4 303.5 302.8 301.9 301.1 300.1 299.1 298.3 297.4 296.6 295.7 294.9 294.0 293.2 292.3 291.5 290.6 289.7 288.8 288.0 287.1 286.4 285.6 284.8 284.0 283.2 282.4 281.7 280.9 280.2 279.5 278.8 278.0 277.3 276.6 276.0 275.4 274.8 274.3 273.6 273.1 272.5 271.8 271.3 270.8 270.3 269.8 269.3 268.9 268.4 268.0 267.6 267.2 266.8 266.5 266.2 265.8 265.5 265.3 265.0 264.8 264.5 264.4 264.3 264.1 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7", + "f0_timestep": "0.005" + } +] \ No newline at end of file diff --git a/samples/05_恋人心.ds b/samples/05_恋人心.ds new file mode 100644 index 0000000..f4872e5 --- /dev/null +++ b/samples/05_恋人心.ds @@ -0,0 +1,14 @@ +[ + { + "offset": 27.937, + "text": "SP AP 化 作 风 AP 化 作 雨 AP 化 作 春 走 向 你 AP 梦 如 声 AP 梦 如 影 AP 梦 是 遥 望 的 掌 印 AP 化 作 烟 AP 化 作 泥 AP 化 作 云 飘 向 你 AP 思 如 海 AP 恋 如 城 AP 思 念 最 遥 不 可 及 AP 你 问 西 湖 水 AP 偷 走 她 的 几 分 美 AP 时 光 一 去 不 再 AP 信 誓 旦 旦 留 给 谁 AP 你 问 长 江 水 AP 淘 尽 心 酸 的 滋 味 AP 剩 半 颗 AP 恋 人 心 唤 不 回 SP", + "ph_seq": "SP AP h ua z uo f eng AP h ua z uo y v AP h ua z uo ch un z ou x iang n i AP m eng r u sh eng AP m eng r u y ing AP m eng sh ir y ao w ang d e zh ang y in AP h ua z uo y En AP h ua z uo n i AP h ua z uo y vn p iao x iang n i AP s i0 r u h ai AP l ian r u ch eng AP s i0 n ian z ui y ao b u k e j i AP n i w en x i h u sh ui AP t ou z ou t a d e j i f en m ei AP sh ir g uang y i q v b u z ai AP x in sh ir d an d an l iu g ei sh ui AP n i w en ch ang j iang sh ui AP t ao j in x in s uan d e z i0 w ei AP sh eng b an k e AP l ian r en x in h uan b u h ui SP", + "ph_dur": "0.0049 0.4 0.1951 0.2446 0.1204 0.2456 0.1204 0.366 0.2166 0.1494 0.2456 0.1204 0.3203 0.0457 0.366 0.2446 0.1204 0.2456 0.1204 0.2456 0.1204 0.5674 0.1646 0.2456 0.1204 0.2456 0.1204 0.365 0.2913 0.0747 0.3203 0.0457 0.2456 0.1204 0.366 0.2913 0.0747 0.3203 0.0457 0.3193 0.0457 0.366 0.3203 0.0457 0.2456 0.1204 0.3203 0.0457 0.3203 0.0457 0.3193 0.0457 0.2838 0.0822 0.3203 0.0457 0.366 0.2608 0.1052 0.2456 0.1204 0.3203 0.0457 0.365 0.2456 0.1204 0.2456 0.1204 0.303 0.063 0.366 0.2608 0.1052 0.2456 0.1204 0.3193 0.0457 0.5963 0.1357 0.2456 0.1204 0.3153 0.0507 0.366 0.1709 0.1951 0.3193 0.0457 0.2456 0.1204 0.366 0.3203 0.0457 0.3203 0.0457 0.2456 0.1204 0.366 0.1699 0.1951 0.2913 0.0747 0.2761 0.0899 0.3203 0.0457 0.3065 0.0595 0.2456 0.1204 0.2456 0.1204 0.365 0.3203 0.0457 0.3203 0.0457 0.2456 0.1204 0.6116 0.1204 0.6106 0.1204 0.366 0.2456 0.1204 0.2761 0.0899 0.2608 0.1052 0.3065 0.0595 0.2446 0.1204 0.2456 0.1204 0.2761 0.0899 0.366 0.1709 0.1951 0.3203 0.0457 0.3203 0.0457 0.5511 0.1799 0.2913 0.0747 0.2456 0.1204 0.366 0.1861 0.1799 0.2456 0.1204 0.3193 0.0457 0.3203 0.0457 0.2957 0.0703 0.3066 0.0594 0.2456 0.1204 0.366 0.3066 0.0594 0.3193 0.0457 0.2456 0.1204 0.6268 0.1052 0.6116 0.1204 0.366 0.2446 0.1204 0.2761 0.0899 0.2456 0.1204 0.2456 0.1204 0.2949 0.0711 0.2456 0.1204 0.3193 0.0457 0.366 0.2014 0.1646 0.3203 0.0457 0.2456 0.1204 0.366 0.3203 0.0457 0.3193 0.0457 0.2456 0.1204 0.6116 0.1204 0.3203 0.0457 0.5369 0.1951 1.829 0.5", + "ph_num": "1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 1 1", + "note_seq": "rest rest D4 E4 F4 rest A3 F4 E4 rest D4 C4 D4 C4 D4 A3 rest D4 E4 F4 rest A3 F4 E4 rest D4 C4 D4 F4 E4 C4 D4 rest D4 E4 F4 rest A3 F4 E4 rest D4 C4 D4 C4 D4 A3 rest D4 E4 F4 rest G4 A4 E4 rest D4 C4 D4 F4 E4 C4 D4 rest F4 G4 A4 C5 A4 F4 G4 rest E4 D4 C4 A3 G4 A4 F4 rest D4 E4 F4 G4 A4 E4 rest D4 E4 F4 F4 F4 G4 A4 rest F4 G4 A4 C5 A4 F4 G4 rest E4 D4 C4 A3 G4 A4 F4 rest D4 E4 F4 rest G4 A4 E4 D4 C4 D4 rest", + "note_dur": "0.2 0.4 0.365 0.366 0.366 0.366 0.366 0.366 0.366 0.365 0.366 0.366 0.732 0.366 0.366 0.365 0.366 0.366 0.366 0.366 0.366 0.366 0.365 0.366 0.366 0.366 0.366 0.366 0.365 0.366 0.366 0.366 0.366 0.366 0.366 0.365 0.366 0.366 0.366 0.366 0.366 0.366 0.365 0.732 0.366 0.366 0.366 0.366 0.365 0.366 0.366 0.366 0.366 0.366 0.366 0.365 0.366 0.366 0.366 0.366 0.366 0.366 0.365 0.366 0.366 0.366 0.366 0.366 0.365 0.366 0.366 0.366 0.366 0.366 0.366 0.365 0.366 0.366 0.366 0.366 0.366 0.366 0.731 0.366 0.366 0.366 0.366 0.366 0.365 0.366 0.366 0.366 0.366 0.366 0.366 0.365 0.366 0.366 0.366 0.366 0.366 0.366 0.365 0.366 0.366 0.366 0.366 0.366 0.365 0.366 0.366 0.366 0.366 0.366 0.366 0.365 0.366 0.732 0.366 0.732 1.829 0.5", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.7 263.8 263.9 263.9 264.0 264.1 264.3 264.5 264.7 264.8 264.8 264.9 265.0 265.0 265.1 265.4 266.4 267.7 269.3 271.6 274.3 277.1 280.0 282.8 285.4 287.6 289.4 290.6 291.2 291.2 291.1 291.1 291.1 291.0 290.9 290.8 290.7 290.6 290.5 290.5 290.5 290.5 290.5 290.5 290.6 291.0 291.6 292.3 293.0 293.8 294.8 295.7 296.6 297.4 298.3 298.8 299.3 299.7 300.0 299.9 299.7 298.5 296.6 293.5 289.7 285.6 281.5 277.7 274.3 271.9 270.2 269.8 270.2 271.4 273.3 276.2 279.9 284.2 289.2 294.7 300.4 306.1 311.8 317.4 322.5 326.8 330.0 332.7 334.4 335.2 335.0 334.7 334.5 334.0 333.5 332.7 332.0 331.2 330.5 329.7 329.1 328.6 328.0 327.7 327.7 327.7 327.7 327.7 327.9 328.2 328.3 328.6 328.9 329.2 329.5 330.0 330.3 330.6 331.0 331.3 331.6 331.9 332.1 332.3 332.4 332.5 332.5 332.3 331.2 329.3 327.4 324.4 321.0 317.7 314.3 311.4 308.8 307.0 305.8 305.4 305.5 306.1 306.7 307.8 309.0 310.5 312.2 314.0 315.7 317.4 319.0 320.2 321.4 322.1 322.6 322.8 323.5 325.9 329.4 333.8 339.0 344.0 348.8 352.4 354.7 355.5 355.2 354.8 353.9 352.7 351.3 349.6 348.0 346.2 344.6 342.7 341.1 339.4 338.0 336.9 336.1 335.7 335.6 335.7 336.6 337.7 339.3 341.1 343.4 345.7 348.0 350.4 352.5 354.3 355.5 356.4 356.8 356.4 356.0 355.3 354.0 352.7 351.2 349.4 347.6 345.9 344.3 342.8 341.5 340.5 339.9 339.5 339.5 339.8 340.7 341.8 343.4 345.0 346.5 348.2 350.0 351.5 352.7 353.4 353.6 353.5 353.3 353.2 352.7 352.3 351.7 351.2 350.6 350.1 349.8 349.4 349.2 349.2 347.3 344.9 342.6 340.2 337.9 335.6 333.3 331.0 328.7 326.4 324.2 322.0 319.8 317.6 315.4 313.2 311.1 308.9 306.8 304.7 302.6 300.6 298.5 296.4 294.4 292.4 290.4 288.4 286.4 284.4 282.5 280.6 278.6 276.7 274.8 272.9 271.1 269.2 267.4 265.5 263.7 261.9 260.1 258.3 256.5 254.8 253.0 251.3 249.6 247.8 246.1 244.5 242.8 241.1 239.5 237.8 236.2 234.6 233.0 231.4 229.8 228.2 226.6 225.1 223.5 222.3 222.2 222.1 222.0 221.8 221.7 221.5 221.3 221.1 220.9 220.8 220.6 220.6 220.6 220.6 220.6 220.6 220.8 220.9 221.0 221.1 221.3 221.5 221.6 221.8 221.9 222.1 222.2 222.3 222.4 222.4 222.4 222.6 222.6 222.6 222.9 223.1 223.4 223.6 223.8 224.0 224.2 224.4 224.5 224.2 223.6 222.8 221.5 220.0 218.2 216.3 214.2 212.3 210.4 208.6 207.1 205.8 204.9 204.3 204.4 205.0 206.3 208.6 211.6 214.9 218.7 223.5 229.1 235.3 241.9 249.0 256.4 264.2 271.9 279.8 287.5 294.6 300.7 307.1 312.9 317.8 321.7 324.5 326.4 327.0 327.0 327.0 327.1 327.3 327.6 327.7 328.0 328.4 328.7 328.9 329.1 329.4 329.6 329.6 329.7 329.8 330.0 330.6 331.5 332.8 334.4 336.1 337.9 339.7 341.6 343.7 345.8 347.6 349.1 350.5 351.6 352.3 352.7 352.9 352.9 352.9 353.1 353.1 353.2 353.4 353.5 353.7 353.7 353.7 353.5 353.5 353.8 353.5 352.8 351.9 350.5 349.1 347.2 345.4 343.4 341.3 339.3 337.1 335.2 333.4 331.9 330.6 329.4 328.3 327.7 327.4 327.4 327.4 327.8 328.4 329.1 329.8 330.6 331.3 332.0 332.6 332.9 333.1 332.9 332.6 331.9 331.3 330.4 329.2 328.3 327.2 326.3 325.3 324.3 323.5 322.9 322.5 322.3 322.3 322.5 323.0 323.8 324.8 326.0 327.3 328.6 330.0 331.3 332.6 333.5 334.4 335.0 335.3 335.5 335.2 334.7 334.0 333.1 332.0 330.8 329.6 328.5 327.7 326.9 326.3 326.0 326.0 326.0 326.2 326.3 326.7 327.0 327.3 327.7 328.1 328.6 328.9 329.4 329.7 330.0 330.3 330.6 330.8 330.8 330.8 330.2 329.6 329.1 328.5 327.9 327.3 326.7 326.1 325.5 324.9 324.3 323.7 323.2 322.6 322.0 321.4 320.8 320.3 319.7 319.1 318.5 317.9 317.4 316.8 316.2 315.7 315.1 314.5 314.0 313.4 312.8 312.3 311.7 311.1 310.6 310.0 309.4 308.9 308.3 307.8 307.2 306.7 306.1 305.6 305.0 304.5 303.9 303.4 302.8 302.3 301.7 301.2 300.6 300.1 299.5 299.0 298.5 297.9 297.4 296.8 296.3 295.8 295.2 294.7 294.2 293.6 293.3 293.3 293.5 295.4 295.4 295.4 295.4 295.4 295.2 295.1 295.0 294.9 294.8 294.7 294.5 294.3 294.2 294.1 294.0 293.8 293.7 293.7 293.5 293.4 293.3 293.3 293.3 293.3 293.3 293.3 293.3 293.5 293.7 293.8 294.3 293.7 292.8 291.3 289.2 287.0 284.3 281.5 278.6 275.9 273.2 270.9 268.7 267.0 265.9 265.0 264.7 264.5 264.5 264.4 264.3 264.2 264.1 263.9 263.7 263.6 263.4 263.4 263.4 262.5 262.6 262.5 262.5 262.5 262.5 262.4 262.3 262.2 262.1 261.9 261.8 261.7 261.6 261.5 261.3 261.2 261.2 261.0 261.0 261.0 261.0 260.9 260.9 260.8 260.7 260.5 260.4 260.1 260.0 259.8 259.7 259.7 259.7 259.7 259.8 259.9 260.3 260.6 261.0 261.5 262.0 262.5 263.0 263.3 263.7 264.1 264.2 264.2 264.3 263.9 263.1 261.9 260.4 258.8 256.7 254.5 252.3 250.0 247.7 245.5 244.0 242.1 240.5 239.3 238.3 237.8 238.6 238.7 239.0 239.6 240.5 241.4 242.4 243.8 245.3 246.9 248.6 250.3 252.1 253.8 255.6 257.1 258.6 259.9 261.0 261.9 262.7 263.3 264.0 263.9 263.9 263.8 263.5 263.4 263.2 262.9 262.7 262.4 262.2 261.9 261.7 261.4 261.2 261.1 260.9 260.7 260.6 260.6 260.6 260.8 261.3 262.3 263.6 265.4 267.6 269.7 272.1 274.9 277.8 280.8 283.7 286.4 288.9 291.2 293.2 294.6 295.5 296.1 296.3 296.2 296.1 295.9 295.7 295.4 295.1 294.7 294.3 293.8 293.4 293.0 292.6 292.4 292.1 291.8 291.5 291.3 291.3 291.3 291.3 291.4 291.6 292.0 292.4 292.8 293.2 293.8 294.3 294.9 295.5 295.9 296.2 296.6 297.0 297.3 297.4 297.6 297.5 297.3 297.1 296.6 296.2 295.8 295.4 295.0 294.6 294.2 293.7 293.6 293.5 293.5 293.5 293.5 293.6 293.8 294.0 294.2 294.3 294.6 294.8 295.0 295.3 295.4 295.5 295.5 295.7 295.5 295.1 294.3 293.2 291.6 289.8 287.7 285.3 282.8 280.3 277.6 275.0 272.6 270.3 268.1 266.5 265.0 263.6 262.7 261.9 261.8 261.8 261.8 261.8 261.8 261.8 261.8 261.8 261.8 261.8 261.8 261.8 261.8 261.8 261.8 261.8 261.8 261.8 261.8 261.8 261.8 261.9 261.9 261.9 261.9 261.9 261.9 261.9 262.0 261.9 261.9 261.8 261.8 261.7 261.6 261.6 261.6 261.5 261.4 261.3 261.1 261.0 260.7 260.5 260.2 260.1 259.9 259.8 259.8 259.8 260.3 261.2 262.4 263.5 264.6 265.3 265.7 265.6 264.8 263.4 261.6 259.3 256.8 254.2 251.6 249.2 247.1 245.5 244.4 244.0 244.0 244.6 245.9 247.7 250.0 252.6 255.3 258.9 262.8 266.9 271.3 275.7 280.2 284.5 288.8 292.6 296.0 299.0 301.1 302.6 303.8 304.4 304.2 304.0 303.8 303.4 303.0 302.4 301.8 301.1 300.3 299.5 298.6 297.8 296.9 296.2 295.4 294.9 294.1 293.6 293.0 292.5 292.3 292.0 292.0 292.0 292.0 292.3 292.9 293.4 293.8 294.3 294.6 294.7 294.5 294.1 293.2 291.9 290.1 287.9 285.1 281.9 278.7 275.3 271.2 267.0 262.4 257.7 252.9 248.2 243.4 238.7 234.0 229.5 225.5 221.7 217.7 214.0 210.5 207.2 204.3 201.6 199.3 197.3 195.6 194.3 193.4 192.7 192.5 192.5 192.9 193.6 194.6 195.9 197.4 199.2 201.3 203.5 206.0 208.4 210.8 213.2 215.5 217.7 219.5 220.9 222.1 223.1 223.7 223.9 223.7 223.1 222.2 221.1 219.7 218.1 216.3 214.5 212.6 210.7 208.9 207.3 205.9 204.8 203.9 203.3 202.9 203.0 203.3 204.0 205.1 206.4 208.0 209.7 211.7 213.7 215.7 217.3 218.8 220.2 221.4 222.1 222.6 222.5 222.0 221.3 220.3 218.8 217.2 215.7 214.1 212.4 210.9 209.4 208.3 207.4 206.9 206.7 206.9 207.6 208.6 209.9 211.2 212.9 214.7 216.5 218.1 219.5 220.3 220.8 221.3 221.9 222.4 222.9 223.4 223.9 224.4 224.9 225.5 226.0 226.5 227.0 227.6 228.1 228.6 229.1 229.7 230.2 230.7 231.3 231.8 232.3 232.9 233.4 233.9 234.5 235.0 235.6 236.1 236.6 237.2 237.7 238.3 238.8 239.4 239.9 240.5 241.0 241.6 242.2 242.7 243.3 243.8 244.4 245.0 245.5 246.1 246.7 247.2 247.8 248.4 249.0 249.5 250.1 250.7 251.3 252.4 254.2 256.6 259.2 262.2 265.5 269.0 272.6 276.2 279.8 283.0 285.5 288.2 290.5 292.3 293.4 294.1 295.0 295.0 295.0 294.7 294.6 294.3 293.9 293.6 293.3 292.9 292.4 292.0 291.7 291.2 290.8 290.5 290.2 290.0 289.7 289.6 289.5 289.5 289.5 289.5 290.0 290.5 291.0 291.7 292.5 293.3 294.2 295.0 295.5 296.1 296.4 296.6 296.6 296.6 296.4 296.2 296.0 295.8 295.4 295.1 294.7 294.3 293.9 293.5 293.0 292.6 292.1 291.7 291.4 291.0 290.7 290.6 290.3 290.2 290.1 290.1 290.2 291.1 292.5 294.5 297.1 300.1 303.3 307.0 310.9 313.8 317.8 321.5 324.9 328.0 330.6 332.7 334.0 334.7 334.6 334.5 334.3 333.8 333.5 332.9 332.2 331.4 330.8 329.9 329.1 328.3 327.5 326.8 326.2 325.7 325.5 325.1 324.9 324.9 325.0 325.4 326.0 327.0 328.0 329.2 330.4 331.6 332.5 333.5 334.2 334.7 335.1 334.8 332.9 329.6 325.1 319.7 313.8 307.9 302.3 298.3 294.2 291.2 289.6 289.5 289.8 290.6 291.9 293.6 295.5 298.1 300.8 304.0 306.7 310.2 314.1 318.1 322.1 326.3 330.5 334.6 338.5 342.4 346.0 349.2 351.7 354.2 356.3 358.0 359.3 359.7 360.0 359.7 359.0 358.1 357.0 355.5 353.8 352.1 350.2 348.4 346.6 345.2 343.9 343.0 342.1 341.6 341.6 341.8 342.5 343.2 344.6 346.1 347.8 349.6 351.5 353.3 354.9 356.2 357.2 357.9 358.1 358.0 357.8 357.1 356.4 355.3 354.2 353.1 351.9 350.5 349.0 347.7 346.5 345.4 344.4 343.7 343.0 342.8 342.8 342.8 342.9 343.2 343.6 344.1 344.6 345.3 345.9 346.6 347.5 348.2 349.0 349.7 350.3 350.9 351.4 351.9 352.2 352.5 352.7 352.9 350.0 347.1 344.2 341.4 338.6 335.8 333.0 330.3 327.6 324.9 322.2 319.6 316.9 314.3 311.7 309.2 306.6 304.1 301.6 299.1 296.7 294.2 291.8 289.4 287.0 284.7 282.3 280.0 277.7 275.4 273.1 270.9 268.7 266.4 264.3 262.1 259.9 257.8 255.7 253.6 251.5 249.4 247.4 245.3 243.3 241.3 239.3 237.3 235.4 233.4 231.5 229.6 227.7 225.9 224.0 222.2 220.3 219.2 219.2 219.2 219.2 219.2 219.2 219.2 219.2 219.2 219.4 219.4 219.4 219.4 219.4 219.4 219.4 219.4 219.4 219.5 219.5 219.5 219.5 219.6 219.7 219.9 220.0 220.0 220.3 220.4 220.6 220.6 220.8 221.0 221.1 221.2 221.3 221.4 221.4 221.4 221.5 221.4 221.4 221.4 221.4 221.4 221.4 221.3 221.3 221.3 221.3 221.1 221.1 221.1 220.6 220.5 220.5 220.5 220.5 220.4 220.4 220.3 220.3 220.3 220.1 220.1 220.1 220.1 220.2 220.8 222.2 224.4 227.2 230.7 234.4 238.7 244.0 249.7 255.9 262.5 269.4 276.5 283.7 290.8 297.6 304.1 309.8 314.4 319.3 323.2 326.2 328.2 329.1 329.1 329.1 329.1 329.1 329.1 329.1 328.9 328.9 328.9 328.7 328.7 328.7 328.5 328.5 328.5 328.5 328.5 328.5 327.4 327.6 328.6 330.2 332.2 334.6 337.3 340.3 343.0 345.6 347.8 349.7 350.8 351.4 351.3 351.3 351.3 351.3 351.3 351.3 351.3 351.3 351.2 351.0 351.0 351.0 351.0 351.0 351.0 351.0 351.0 351.0 350.4 349.4 348.4 347.1 345.5 344.0 342.3 340.9 339.0 337.1 335.4 333.7 332.2 330.6 329.3 328.3 327.4 326.8 326.4 326.4 326.4 326.6 327.1 327.9 328.7 329.4 330.5 331.5 332.5 333.4 334.0 334.7 335.2 335.4 335.5 335.2 334.7 334.1 333.3 332.1 330.8 329.4 328.0 326.8 325.6 324.5 323.2 322.4 321.8 321.4 321.2 321.2 321.7 322.5 323.7 324.9 326.3 327.7 329.5 331.1 332.7 334.0 335.0 335.8 336.2 336.2 336.0 335.6 334.8 333.8 332.9 331.6 330.3 329.1 327.8 326.8 325.8 324.9 324.2 323.7 323.6 323.6 323.7 324.2 324.7 325.5 326.2 326.9 327.7 328.5 329.1 329.6 330.0 330.1 329.7 329.0 328.4 327.7 327.1 326.5 325.8 325.2 324.6 323.9 323.3 322.6 322.0 321.4 320.8 320.1 319.5 318.9 318.3 317.6 317.0 316.4 315.8 315.1 314.5 313.9 313.3 312.7 312.1 311.5 310.9 310.2 309.6 309.0 308.4 307.8 307.2 306.6 306.0 305.4 304.8 304.2 303.6 303.0 302.4 301.8 301.3 300.7 300.1 299.5 298.9 298.3 297.7 297.1 296.6 296.0 295.4 294.8 294.2 293.7 293.2 293.2 293.2 293.2 293.1 293.0 293.0 292.8 292.8 292.8 292.6 292.6 292.6 292.6 292.6 292.6 292.6 292.8 292.9 293.0 293.2 293.4 293.6 293.8 293.9 294.2 294.3 294.5 294.7 294.8 294.9 295.0 295.0 295.1 295.0 294.6 293.8 292.5 291.0 289.1 287.2 285.0 282.4 279.8 277.1 274.3 271.7 269.1 266.8 264.6 262.6 260.9 259.7 258.6 257.9 257.4 257.4 257.5 257.7 257.9 258.3 258.7 259.2 259.8 260.3 261.0 261.5 262.1 262.6 263.0 263.4 263.6 263.9 264.0 263.9 263.9 263.9 263.7 263.6 263.4 263.3 263.0 262.8 262.6 262.3 262.1 261.8 261.6 261.2 260.9 260.8 260.6 260.3 260.1 260.0 259.9 259.8 259.8 260.4 260.4 260.4 260.4 260.6 260.9 261.2 261.6 262.1 262.4 262.8 263.1 263.4 263.6 263.7 263.6 263.4 263.3 263.0 262.7 262.3 261.8 261.5 261.1 260.7 260.4 260.2 260.1 260.1 260.3 260.8 261.5 262.2 263.1 263.7 264.1 264.4 264.2 264.1 263.9 263.5 263.2 262.8 262.4 261.9 261.4 261.1 260.6 260.2 259.9 259.8 259.7 259.7 260.3 261.9 264.2 267.5 271.4 275.7 280.1 284.5 288.5 291.7 294.1 295.4 295.6 295.5 295.4 295.3 295.0 294.7 294.5 294.2 293.9 293.6 293.5 293.3 293.3 293.3 293.3 293.5 293.8 294.1 294.5 294.8 295.3 295.7 296.0 296.4 296.7 296.8 296.9 297.0 296.9 296.8 296.7 296.4 296.2 295.9 295.6 295.3 295.0 294.6 294.3 294.0 293.7 293.5 293.3 293.3 293.3 293.3 293.3 293.5 293.7 294.0 294.3 294.4 294.6 294.9 295.2 295.3 295.4 295.5 295.5 295.9 296.6 297.6 298.9 300.4 302.1 304.1 306.4 308.6 311.0 313.6 315.7 318.0 320.2 322.5 324.5 326.4 327.9 329.1 330.0 330.6 330.9 331.1 331.9 333.5 335.5 337.9 340.7 343.4 346.0 348.0 349.6 351.0 351.7 351.7 351.5 351.2 350.6 350.0 349.5 348.8 348.3 348.0 347.8 348.8 348.8 348.8 348.8 349.0 349.2 349.8 350.2 350.6 351.1 351.5 351.7 351.9 352.0 351.5 350.8 349.5 347.8 345.6 343.2 340.5 337.5 334.6 332.1 329.8 327.3 325.3 323.7 322.5 321.7 321.5 321.8 322.7 324.2 326.0 328.0 330.2 332.1 333.9 335.2 335.7 335.5 335.9 335.6 335.1 334.5 333.7 332.6 331.5 330.6 329.6 328.7 328.0 327.5 327.4 327.4 327.4 327.6 327.9 328.2 328.6 329.1 329.6 330.1 330.6 331.1 331.5 331.9 332.2 332.3 332.5 332.2 332.0 331.6 331.2 330.5 329.8 329.2 328.5 327.7 327.3 326.9 326.8 326.8 326.8 327.2 327.6 328.1 328.7 329.2 329.6 329.9 330.1 329.6 328.0 325.2 321.4 316.1 310.9 305.1 298.5 291.8 285.3 279.1 273.6 268.9 265.0 262.1 260.4 259.8 259.1 259.2 259.6 259.9 260.3 260.8 261.3 261.6 262.0 262.5 262.9 263.3 263.6 263.9 263.9 264.0 263.9 263.6 263.4 263.1 262.7 262.3 261.9 261.6 261.3 261.0 261.0 261.0 261.1 261.3 261.6 261.9 262.4 262.6 263.0 263.2 263.5 263.6 263.6 263.6 263.6 263.4 263.2 263.0 262.9 262.7 262.4 262.3 262.2 262.1 262.1 262.0 261.9 261.9 261.8 261.6 261.5 261.3 261.0 260.8 260.5 260.3 260.1 259.9 259.7 259.6 259.5 259.4 259.4 259.4 259.7 260.6 262.1 263.9 266.3 269.1 272.1 275.5 278.9 282.4 285.9 289.2 292.3 294.5 296.7 298.6 300.0 300.7 300.8 300.5 300.0 299.3 298.4 297.2 296.1 295.0 293.8 292.4 291.1 290.0 288.9 288.0 287.4 286.9 286.8 286.8 287.3 288.2 289.3 290.9 292.5 294.3 296.0 297.5 298.6 299.7 300.2 300.5 300.4 300.0 299.5 298.9 298.1 297.2 296.4 295.4 294.5 293.7 292.9 292.3 291.7 291.5 291.5 291.5 291.6 291.9 292.3 292.6 293.2 293.8 294.5 295.1 295.8 296.4 296.8 297.2 297.5 297.8 297.8 297.9 297.9 297.9 297.9 297.8 297.8 297.8 297.8 297.8 297.7 297.7 297.7 297.7 297.7 297.6 297.6 297.6 297.6 297.6 297.5 297.5 297.5 297.5 297.5 297.4 297.4 297.4 297.4 297.4 297.3 297.3 297.3 297.3 297.3 297.2 297.2 297.2 297.2 297.2 297.1 297.1 297.1 297.1 297.1 297.0 297.0 297.0 297.0 297.0 296.9 296.9 296.9 296.9 296.9 296.8 296.8 296.8 296.8 296.8 296.7 296.7 296.7 296.7 296.7 296.6 296.6 296.6 296.6 296.4 296.4 296.4 296.3 296.2 296.0 295.8 295.5 295.4 295.1 294.9 294.6 294.3 294.2 293.9 293.7 293.5 293.3 293.2 293.0 293.0 293.0 293.0 293.0 293.0 293.2 293.3 293.6 293.8 294.1 294.5 294.9 295.1 295.6 295.9 296.2 296.4 296.6 296.8 296.9 296.9 297.1 297.1 297.4 297.7 298.1 298.4 298.6 298.8 298.3 296.9 294.9 291.9 289.3 285.4 281.5 277.3 273.4 269.6 266.2 263.3 261.1 259.5 258.9 258.9 260.0 262.2 265.8 270.5 276.1 282.5 289.2 295.5 303.1 310.6 317.8 324.2 329.8 334.0 336.9 338.3 338.3 338.0 337.4 336.6 335.4 334.2 332.9 331.6 330.4 329.4 328.6 327.9 327.6 327.5 327.5 327.7 328.0 328.5 328.9 329.6 330.2 330.6 331.2 331.8 332.2 332.7 333.0 333.3 333.3 333.3 333.1 332.8 332.5 331.9 331.2 330.8 330.1 329.5 329.1 328.7 328.5 328.5 328.5 328.5 328.6 328.7 328.9 329.1 329.3 329.4 329.8 330.0 330.2 330.4 330.6 330.7 330.8 330.8 330.9 330.8 330.5 330.2 329.8 329.4 328.9 328.6 328.5 328.5 328.9 330.1 332.0 334.4 337.1 340.3 343.4 346.6 349.6 352.3 354.0 355.3 356.1 356.2 356.0 355.7 355.1 354.8 353.9 353.1 352.1 351.3 350.0 349.0 348.0 347.0 346.0 345.2 344.4 344.0 343.4 343.0 342.8 342.8 343.0 343.5 344.2 345.3 346.7 348.2 349.6 351.1 352.5 353.7 354.5 355.1 355.5 355.3 355.0 354.4 353.5 352.5 351.3 350.0 348.8 347.6 346.6 345.9 345.3 345.2 345.2 345.3 345.5 346.0 346.3 346.9 347.6 348.1 348.6 349.3 349.8 350.2 350.6 350.8 350.8 349.7 347.6 345.4 343.3 341.2 339.1 337.0 334.9 332.8 330.7 328.7 326.7 324.6 322.6 320.6 318.6 316.7 314.7 312.8 310.8 308.9 307.0 305.1 303.2 301.3 299.5 297.6 295.8 293.9 292.1 290.3 288.5 286.7 285.0 283.2 281.4 279.7 278.0 276.3 274.5 272.8 271.2 269.5 267.8 266.2 264.5 262.9 261.2 259.6 258.0 256.4 254.8 253.3 251.7 250.1 248.6 247.1 245.5 244.0 242.5 241.0 239.5 238.0 236.5 235.1 233.6 232.2 231.5 231.2 230.8 230.1 229.3 228.3 227.3 226.1 224.9 223.7 222.5 221.4 220.3 219.5 218.9 218.3 218.1 218.1 218.1 218.2 218.4 218.7 219.0 219.4 219.7 220.0 220.3 220.6 220.7 220.8 220.9 220.9 220.9 220.9 220.9 221.0 221.1 221.1 221.2 221.3 221.4 221.4 221.4 221.5 221.5 221.5 221.5 221.5 221.1 220.3 219.4 218.0 216.4 214.7 212.9 211.1 209.6 207.8 206.2 204.7 203.5 202.7 202.1 201.7 202.0 202.4 204.2 206.8 210.2 214.6 219.8 225.7 232.5 240.0 247.3 254.7 263.4 272.2 281.1 289.6 297.8 305.4 312.2 317.7 322.0 324.9 326.5 327.0 327.0 327.2 327.5 327.8 328.2 328.6 329.1 329.4 329.8 330.2 330.5 330.6 330.6 330.9 331.3 332.1 333.3 334.9 336.6 338.6 340.8 343.1 345.2 347.4 349.1 350.6 352.1 353.3 354.0 354.3 354.3 354.3 354.4 354.5 354.5 354.7 354.9 354.9 354.9 355.0 355.1 354.4 352.9 350.7 347.7 344.2 340.8 337.6 334.9 332.9 331.9 331.9 332.0 332.2 332.5 332.8 333.2 333.7 334.1 334.6 335.1 335.5 335.8 336.1 336.4 336.4 336.6 336.4 336.1 335.8 335.1 334.5 333.7 332.9 332.1 331.2 330.2 329.2 328.1 327.2 326.2 325.3 324.5 323.8 323.2 322.6 322.3 322.0 321.9 321.9 322.2 322.7 323.4 324.4 325.7 326.9 328.4 329.8 331.3 332.3 333.6 334.6 335.4 335.9 336.2 336.2 335.8 335.0 334.0 332.8 331.3 329.9 328.4 326.8 325.2 323.9 322.7 321.9 321.2 321.0 321.0 321.1 321.4 321.7 322.3 323.0 323.8 324.5 325.5 326.2 327.1 327.9 328.7 329.4 330.0 330.5 330.8 331.2 331.3 330.9 330.2 329.6 329.0 328.4 327.8 327.2 326.6 326.0 325.4 324.8 324.2 323.6 323.0 322.4 321.8 321.3 320.7 320.1 319.5 318.9 318.3 317.7 317.1 316.6 316.0 315.4 314.8 314.2 313.7 313.1 312.5 311.9 311.4 310.8 310.2 309.6 309.1 308.5 307.9 307.4 306.8 306.2 305.7 305.1 304.6 304.0 303.4 302.9 302.3 301.8 301.2 300.7 300.1 299.5 299.0 298.4 297.9 297.3 296.8 296.3 295.7 295.2 294.6 294.3 294.3 294.3 294.3 294.2 294.2 294.0 293.9 293.8 293.7 293.5 293.3 293.2 293.0 292.8 292.7 292.6 292.5 292.3 292.3 292.1 292.0 292.0 292.0 292.0 292.0 291.7 291.5 290.8 290.0 289.0 287.6 286.1 284.5 283.0 281.2 279.2 277.2 275.3 273.3 271.4 269.4 267.8 266.2 264.8 263.5 262.7 261.9 261.2 260.9 260.7 260.7 260.7 261.0 261.2 261.5 261.9 262.3 262.6 262.9 263.4 263.7 264.1 264.4 264.5 264.5 264.6 264.4 263.7 262.9 261.9 260.8 259.8 258.8 258.1 257.7 257.7 257.7 258.1 258.6 259.2 260.0 260.7 261.5 261.9 262.4 262.8 262.4 262.5 262.4 262.3 262.2 262.0 261.9 261.6 261.2 261.0 260.8 260.4 260.1 259.9 259.6 259.4 259.2 259.1 259.1 259.1 259.1 259.3 259.5 259.9 260.2 260.7 261.4 261.9 262.3 262.9 263.4 263.8 264.1 264.4 264.5 264.6 264.5 264.4 264.3 264.1 263.8 263.6 263.3 263.0 262.7 262.4 262.2 262.1 261.9 261.9 261.9 261.6 261.1 260.4 259.5 258.4 257.3 256.2 255.1 254.5 253.8 253.4 253.3 253.4 253.7 254.3 255.2 256.0 257.0 257.8 258.6 259.1 259.4 259.7 259.7 259.7 259.7 259.7 259.7 259.8 259.8 259.9 260.0 260.0 260.1 260.1 260.1 260.1 261.6 262.4 263.4 265.0 267.1 269.7 272.6 275.7 278.9 282.2 285.4 288.3 291.0 293.1 294.7 295.7 296.3 296.2 296.1 295.8 295.2 294.7 294.1 293.5 292.9 292.4 292.0 291.7 291.6 291.6 291.6 291.7 291.9 292.1 292.2 292.5 292.6 292.8 293.0 293.1 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.2 293.1 293.0 293.0 293.0 293.0 293.0 293.0 293.0 293.0 293.0 293.0 292.8 292.7 292.6 292.6 292.6 292.6 292.5 292.6 292.9 293.2 293.7 294.4 294.1 294.0 294.0 294.0 294.0 294.0 293.8 293.8 293.8 293.7 293.7 293.7 293.5 293.5 293.5 293.5 293.5 293.5 293.1 292.3 291.0 289.2 287.0 284.5 281.8 278.9 276.1 273.5 271.2 268.8 266.8 265.1 264.0 263.2 263.0 263.0 263.0 263.0 263.1 263.1 263.2 263.3 263.4 263.5 263.6 263.7 263.9 264.0 264.1 264.2 264.2 264.2 264.2 264.2 264.2 264.2 264.0 263.7 263.5 263.2 262.8 262.4 262.0 261.6 261.2 260.9 260.6 260.3 260.2 260.1 260.1 260.1 260.3 260.6 260.9 261.4 261.9 262.4 262.8 263.3 263.9 264.4 264.7 265.0 265.1 265.3 265.0 264.4 263.4 262.1 260.5 258.6 256.6 254.7 252.7 250.8 249.4 247.8 246.6 245.5 245.0 244.8 245.0 245.5 246.6 248.0 250.0 252.2 254.9 257.9 261.1 264.5 268.2 271.8 275.5 278.7 282.2 285.8 289.0 291.9 294.5 296.5 298.2 299.3 299.8 299.9 299.8 299.5 299.0 298.5 297.8 296.9 296.0 295.2 294.5 293.7 292.9 292.2 291.5 291.0 290.7 290.5 290.5 290.1 289.2 287.6 287.2 286.8 286.3 285.3 284.2 282.6 280.9 279.3 277.0 274.4 271.7 268.9 265.9 262.7 259.3 255.8 252.3 248.9 245.5 242.3 238.9 235.4 232.0 228.5 225.1 222.0 218.9 216.0 213.1 210.4 207.9 205.9 203.9 201.9 200.0 198.4 197.1 195.8 194.8 194.0 193.4 193.1 193.0 193.2 193.9 195.4 197.4 199.9 202.9 206.2 209.6 212.9 216.0 218.6 220.6 221.9 222.6 222.5 222.0 221.2 220.0 218.4 216.6 214.6 212.5 210.2 208.0 205.9 204.2 202.6 201.0 199.8 198.9 198.4 198.2 198.5 199.5 201.2 203.3 205.8 208.7 211.3 214.2 217.2 219.8 222.2 223.7 224.5 224.8 224.6 224.3 223.7 222.9 222.0 221.0 219.9 218.6 217.3 215.9 214.6 213.5 212.2 210.9 209.8 208.7 207.9 207.2 206.7 206.3 206.2 206.3 206.5 207.1 207.9 209.0 210.2 211.5 212.9 214.2 215.3 216.4 217.3 218.1 218.5 217.5 217.3 217.3 217.4 217.5 217.5 217.6 217.6 217.7 217.7 217.8 217.9 217.9 218.0 218.0 218.1 218.2 218.2 218.3 218.3 218.4 218.5 218.5 218.6 218.6 218.7 218.7 218.8 218.9 218.9 219.0 219.0 219.1 219.2 219.2 219.3 219.3 219.4 219.5 219.5 219.6 219.6 219.7 219.7 219.8 219.9 219.9 220.0 220.0 220.1 220.2 220.2 220.3 220.3 220.4 220.5 220.5 220.6 220.6 220.7 221.2 221.9 222.9 224.1 225.5 227.4 229.3 231.6 234.1 236.7 239.0 242.0 245.2 248.4 251.8 255.2 258.7 262.2 265.7 269.1 272.6 275.7 278.4 281.2 284.0 286.4 288.8 290.6 292.2 293.5 294.5 295.1 295.4 295.2 295.2 295.1 295.0 294.9 294.7 294.6 294.4 294.3 294.1 293.8 293.7 293.7 293.6 293.5 293.5 293.5 293.5 293.9 294.3 294.8 295.3 295.9 296.4 296.8 297.0 297.2 297.1 296.7 296.2 295.6 294.9 294.0 293.0 292.1 291.4 290.7 290.2 289.8 289.8 289.0 289.9 291.4 293.7 296.6 300.0 303.8 308.0 312.3 316.6 320.7 324.3 327.3 330.1 332.5 333.8 334.4 334.2 334.2 333.9 333.6 333.3 332.8 332.2 331.7 331.1 330.6 330.0 329.4 328.9 328.5 328.0 327.7 327.5 327.4 327.4 327.4 327.4 327.4 327.4 327.5 327.6 327.7 327.9 328.1 328.1 328.3 328.5 328.5 328.7 328.7 328.7 328.7 328.7 327.6 325.8 323.4 320.3 316.9 313.1 309.4 306.0 303.3 300.4 297.9 296.3 295.3 295.2 295.5 296.7 298.3 300.5 303.3 306.3 309.7 313.0 316.5 319.7 322.7 325.2 327.2 328.2 329.1 329.4 330.3 332.5 335.5 339.3 343.4 347.4 351.3 354.5 356.8 357.8 358.1 357.9 357.4 356.8 355.9 354.9 353.9 352.7 351.5 350.2 349.0 348.2 347.2 346.4 345.7 345.2 345.0 345.0 345.6 346.8 348.8 350.9 353.3 355.5 357.0 358.4 359.3 359.5 359.4 359.0 358.4 357.8 356.8 355.7 354.5 353.4 352.1 350.8 349.6 348.4 347.4 346.4 345.7 345.2 344.8 344.6 344.6 344.8 345.2 346.0 346.8 347.6 348.4 349.1 349.6 349.7 349.8 349.8 349.8 349.8 349.8 349.8 349.8 349.8 349.8 349.8 349.8 349.8 349.8 349.8 349.8 349.8 349.8 349.8 349.8 349.8 349.7 349.7 349.7 349.7 349.7 349.7 349.7 349.7 349.7 349.7 349.7 349.7 349.6 349.6 349.6 349.6 349.6 349.6 349.6 349.6 349.6 349.6 349.6 349.6 349.5 349.5 349.5 349.5 349.5 349.5 349.5 349.5 349.5 349.5 349.5 349.4 349.4 349.4 349.5 350.2 351.4 352.8 354.5 356.8 359.5 362.6 365.8 369.1 372.7 417.5 417.1 416.7 415.7 414.4 412.9 411.2 409.4 407.5 405.3 403.2 401.2 399.4 397.5 395.7 394.2 392.8 391.6 390.8 390.4 390.2 390.9 390.6 390.4 390.2 390.2 390.2 390.2 390.2 390.4 390.5 390.6 391.0 391.2 391.5 391.9 392.3 392.7 392.8 393.2 393.6 393.7 394.0 394.2 394.3 394.3 394.4 394.3 394.3 394.3 394.1 394.0 393.8 393.6 393.4 393.1 392.9 392.6 392.4 392.1 391.9 391.5 391.5 391.1 390.9 390.8 390.6 390.4 390.2 390.2 390.2 390.2 390.6 390.4 390.4 390.4 390.4 390.4 390.3 390.2 390.2 390.0 389.9 389.7 389.6 389.5 389.5 389.3 389.3 389.1 389.1 389.1 389.1 389.1 389.1 389.3 390.7 393.4 397.0 401.8 407.2 413.2 419.4 425.4 430.9 435.2 438.7 441.4 442.7 442.8 442.6 442.5 442.0 441.4 440.9 440.3 439.8 439.7 439.5 439.5 439.5 440.1 440.7 441.5 442.1 442.5 442.8 441.8 439.4 435.7 431.1 426.0 419.3 412.4 405.4 398.6 392.4 387.0 382.7 379.5 377.6 372.4 368.2 363.7 357.0 349.4 341.3 333.2 325.3 318.0 311.5 306.3 302.4 300.1 299.3 299.6 300.5 302.5 305.1 308.3 312.0 315.9 319.9 323.8 327.2 330.2 332.5 333.8 334.4 334.2 333.7 332.7 331.4 329.8 328.1 326.3 324.5 322.8 321.3 320.1 319.3 318.8 318.8 319.0 319.6 320.4 321.4 322.6 324.0 325.5 327.1 328.5 329.8 330.7 331.3 331.7 331.8 331.7 331.2 330.7 330.0 329.1 328.3 327.4 326.4 325.7 324.9 324.3 323.9 323.6 323.6 324.0 324.8 326.2 327.9 329.8 331.5 333.0 334.0 334.4 334.2 334.2 333.8 333.5 333.1 332.6 332.2 331.5 331.1 330.6 330.2 329.9 329.6 329.6 329.4 328.9 328.4 328.0 327.5 327.0 326.5 326.0 325.5 325.0 324.6 324.1 323.6 323.1 322.6 322.1 321.7 321.2 320.7 320.2 319.7 319.3 318.8 318.3 317.8 317.4 316.9 316.4 315.9 315.5 315.0 314.5 314.1 313.6 313.1 312.7 312.2 311.7 311.3 310.8 310.3 309.9 309.4 309.0 308.5 308.0 307.6 307.1 306.7 306.2 305.7 305.3 304.8 304.4 303.9 303.5 303.0 302.6 302.1 301.7 301.2 300.8 300.3 299.9 299.4 299.0 298.8 298.7 298.5 298.2 297.9 297.4 297.0 296.5 296.0 295.5 294.9 294.3 293.9 293.5 292.9 292.5 292.1 291.9 291.6 291.5 291.5 291.5 291.5 291.8 292.3 292.8 293.3 293.9 294.5 294.9 295.1 295.4 295.5 295.4 295.1 294.0 293.5 292.5 290.8 288.7 286.2 283.5 280.7 277.9 274.8 271.6 268.6 265.7 263.1 260.9 259.1 257.7 256.7 256.2 256.2 256.3 256.5 256.9 257.4 257.9 258.4 258.9 259.4 259.9 260.2 260.3 260.5 260.5 260.3 260.0 259.7 259.2 258.8 258.3 257.9 257.7 257.6 257.6 257.6 257.9 258.2 258.6 259.2 259.8 260.3 260.8 261.2 261.5 261.7 261.7 261.6 261.4 261.1 261.0 260.8 260.6 260.4 260.2 260.1 260.0 259.8 259.8 259.8 259.8 260.0 260.0 260.4 260.7 261.1 261.6 262.1 262.5 263.0 263.5 263.8 264.2 264.4 264.5 264.6 264.5 264.1 263.4 262.5 261.3 259.9 258.3 256.7 255.1 253.4 251.7 250.4 249.1 247.8 246.8 245.9 245.5 245.2 245.4 246.3 247.9 250.4 253.5 257.0 260.5 265.0 269.8 274.5 279.1 283.5 287.2 290.5 293.0 294.5 295.1 295.0 294.9 294.6 294.2 293.7 293.3 292.8 292.3 292.1 292.0 292.0 292.0 292.1 292.4 292.6 292.9 293.3 293.7 294.1 294.5 294.9 295.3 295.4 295.5 295.6 295.7 295.7 295.7 295.7 295.7 295.7 295.7 295.7 295.7 295.7 295.8 295.9 295.9 295.9 295.9 295.9 295.9 295.9 295.9 295.9 295.9 295.8 295.7 295.4 295.1 294.8 294.5 294.3 294.2 294.2 294.2 294.2 294.6 295.5 297.1 298.9 301.2 303.8 306.6 309.3 312.4 315.5 318.7 321.5 324.2 326.4 328.2 329.6 330.3 330.5 330.4 330.2 330.0 329.5 329.0 328.5 328.0 327.4 327.0 326.5 326.0 325.8 325.7 325.7 325.9 326.8 328.3 330.3 332.8 335.6 338.5 341.4 344.2 346.7 348.8 350.2 351.0 351.5 351.3 351.3 351.0 350.9 350.6 350.4 350.1 349.8 349.6 349.3 349.2 349.0 349.0 350.4 349.4 348.0 346.2 344.6 342.3 340.0 337.5 334.9 332.6 330.4 328.3 326.5 325.1 324.0 323.3 323.2 323.3 323.6 324.2 324.9 326.0 327.1 328.4 329.6 330.9 332.1 333.3 334.1 334.6 335.1 335.5 335.4 335.3 334.9 334.6 334.1 333.5 332.9 332.2 331.6 331.0 330.6 330.2 329.9 329.8 329.8 329.8 329.8 330.0 330.2 330.4 330.6 331.0 331.1 331.4 331.5 331.9 332.0 332.1 332.1 332.3 331.9 330.8 329.2 326.9 324.1 320.8 317.1 313.0 308.8 304.4 300.1 296.3 291.9 287.6 283.7 280.0 276.7 273.7 271.2 269.1 267.7 266.7 266.4 265.8 264.9 264.0 263.1 262.2 261.3 260.4 259.5 258.6 257.9 257.9 257.9 257.9 257.9 257.9 258.0 258.0 258.0 258.2 258.2 258.2 258.3 258.4 258.5 258.6 258.6 258.6 258.8 258.8 258.8 258.9 258.9 258.9 258.9 258.9 259.1 259.1 259.3 259.6 259.9 260.4 261.1 261.6 262.4 262.9 263.5 264.1 264.4 264.7 264.8 264.9 264.4 263.0 261.1 258.6 255.8 252.7 249.7 246.7 244.1 241.7 240.2 239.1 238.8 238.5 238.7 239.1 239.6 239.8 240.2 240.9 241.9 243.1 244.4 246.0 247.8 249.8 252.1 254.4 256.8 259.4 261.6 264.3 267.1 270.0 272.8 275.6 278.4 281.0 283.5 285.9 288.2 290.1 291.9 293.4 294.6 295.7 296.6 297.0 297.2 297.1 296.9 296.5 295.9 295.4 294.5 293.7 292.8 292.0 291.1 290.3 289.5 288.9 288.4 287.9 287.6 287.6 287.6 287.9 288.3 288.9 289.6 290.5 291.4 292.5 293.5 294.3 295.5 296.5 297.5 298.4 299.1 299.7 300.1 300.3 300.5 300.2 299.5 298.4 297.2 295.8 294.2 292.6 291.4 290.4 289.5 288.9 288.8 288.8 289.0 289.3 289.7 290.2 290.8 291.4 292.1 292.8 293.5 294.2 294.9 295.5 296.0 296.6 297.0 297.2 297.4 289.8 289.8 289.7 289.5 289.3 289.1 288.9 288.7 288.5 288.3 288.1 287.9 287.7 287.5 287.3 287.1 286.9 286.7 286.5 286.3 286.1 285.9 285.7 285.5 285.3 285.1 284.9 284.7 284.5 284.3 284.2 284.0 283.8 283.6 283.4 283.2 283.0 282.8 282.6 282.4 282.2 282.0 281.8 281.6 281.4 281.2 281.0 280.9 280.7 280.5 280.3 280.1 279.9 279.7 279.5 279.4 280.5 282.2 284.8 287.7 291.1 295.7 300.7 306.1 311.8 317.5 323.4 329.1 334.3 339.1 343.1 346.3 348.4 350.0 350.6 350.4 350.2 349.8 349.5 348.9 348.2 347.8 347.1 346.6 346.3 346.0 345.8 345.8 345.8 346.3 346.9 347.6 348.6 349.6 350.4 351.5 352.2 352.7 353.4 353.5 353.6 353.5 353.3 353.1 352.8 352.3 351.9 351.6 351.3 350.9 350.8 350.6 350.6 350.6 350.8 351.0 351.3 351.9 352.2 352.7 353.1 353.3 353.5 353.7 353.4 352.9 351.9 350.7 349.6 348.0 346.3 344.6 342.8 341.3 339.9 338.7 338.0 337.3 337.3 338.2 340.8 344.8 350.4 357.0 364.3 371.9 379.0 384.8 390.7 395.2 397.8 398.5 398.4 398.2 397.9 397.5 397.1 396.5 395.9 395.2 394.5 393.9 393.2 392.4 391.7 391.0 390.4 390.0 389.7 389.3 389.1 389.1 389.1 389.4 390.0 390.7 391.8 392.9 394.0 395.2 396.1 396.9 397.2 397.4 396.6 394.3 391.2 387.3 382.5 377.4 372.1 368.1 363.2 358.8 355.3 352.5 350.9 350.2 349.5 347.4 343.8 339.3 334.2 328.9 324.2 320.2 317.5 316.1 316.0 317.0 318.8 321.7 325.6 330.2 335.8 342.2 349.2 356.8 365.1 373.6 382.2 390.6 397.9 406.2 414.1 421.2 427.4 432.9 437.0 439.9 441.5 441.6 441.5 441.5 441.3 441.3 440.8 440.7 440.3 439.8 439.7 439.2 438.8 438.4 438.0 437.6 437.2 437.0 436.7 436.5 436.3 436.2 436.2 436.2 436.2 436.3 436.7 437.1 437.6 438.2 439.1 439.7 440.5 441.4 442.2 442.9 443.5 444.3 444.8 445.5 445.9 446.1 446.1 446.3 445.6 444.2 442.5 440.8 439.2 438.5 438.5 440.1 442.7 446.4 450.9 456.0 462.9 470.2 478.2 486.5 494.9 503.4 511.2 518.5 525.1 530.2 534.1 536.5 538.1 538.0 537.5 536.7 535.5 533.9 532.0 529.9 527.7 525.6 523.3 521.4 519.6 517.8 516.4 515.2 514.5 514.3 514.3 514.8 515.9 517.2 519.2 521.1 522.5 524.6 526.3 527.5 528.2 528.7 525.6 523.9 520.5 516.0 510.1 503.7 497.2 490.8 484.6 479.0 474.9 471.9 470.4 470.1 470.8 473.0 476.6 481.1 486.2 492.0 498.2 504.0 509.4 514.3 518.0 520.5 521.8 521.9 520.7 518.8 516.0 512.9 508.8 504.0 498.8 493.3 487.4 481.6 475.8 470.3 465.2 460.5 456.4 453.3 450.6 448.4 446.9 446.5 446.4 446.0 445.6 445.2 444.7 444.1 443.7 443.0 442.5 442.1 441.8 441.5 441.3 441.3 441.3 441.3 441.3 441.4 441.5 441.8 442.1 442.3 442.6 442.8 443.2 443.4 443.8 444.0 444.2 444.3 444.3 444.4 444.3 444.3 444.1 443.7 443.2 442.5 442.0 441.4 440.8 440.1 439.7 439.2 439.0 439.0 438.8 437.6 435.7 432.4 428.5 423.5 418.0 411.9 405.4 398.4 391.5 384.8 378.9 373.0 367.1 361.8 357.0 352.9 349.6 347.0 345.5 344.6 344.6 344.6 344.9 345.2 345.7 346.2 346.7 347.3 347.8 348.4 348.9 349.4 349.8 350.0 350.0 350.1 350.0 349.9 349.8 349.6 349.3 349.2 349.0 349.0 349.0 349.0 349.2 349.5 349.8 350.1 350.4 350.8 351.1 351.3 351.5 351.6 351.0 349.2 346.1 341.9 337.1 332.0 326.9 322.1 317.9 314.6 312.6 311.8 311.7 312.5 314.0 316.2 319.1 322.7 326.8 331.3 336.5 342.0 347.8 352.7 358.6 364.8 370.9 376.5 381.9 386.8 391.2 394.7 397.7 399.7 400.8 401.1 400.9 400.4 399.6 398.8 397.7 396.6 395.5 394.2 392.9 391.6 390.4 389.5 388.8 388.1 387.7 387.7 387.9 388.6 390.0 391.5 393.3 395.2 396.7 398.2 399.1 399.4 399.3 399.2 398.8 398.4 397.6 396.9 396.1 395.0 394.0 392.9 392.0 391.3 390.3 389.6 388.8 388.3 387.9 387.7 387.7 387.9 388.5 389.5 390.9 392.3 393.6 394.7 395.6 395.9 395.9 395.7 395.6 395.0 394.4 393.9 393.1 392.6 392.0 391.5 390.9 390.4 390.3 390.2 389.2 387.5 385.8 384.1 382.5 380.8 379.1 377.5 375.8 374.2 372.6 371.0 369.4 367.8 366.2 364.6 363.0 361.4 359.8 358.3 356.7 355.2 353.6 352.1 350.6 349.0 347.5 346.0 344.5 343.0 341.5 340.0 338.6 337.1 335.6 334.2 332.7 331.3 329.8 328.4 327.0 325.5 324.1 322.7 321.3 319.9 318.5 317.1 315.8 314.4 313.0 311.7 310.3 309.0 307.6 306.3 305.0 303.6 302.3 301.0 299.7 298.4 297.1 295.8 294.5 293.2 292.9 292.8 297.0 296.9 296.8 296.6 296.4 296.0 295.7 295.4 294.9 294.6 294.3 294.1 293.8 293.5 293.5 293.5 293.7 294.5 295.9 297.7 299.8 302.5 305.7 309.2 312.7 316.4 320.1 323.4 326.5 329.2 331.3 333.1 333.8 334.2 334.1 333.9 333.7 333.6 333.4 333.1 332.9 332.6 332.4 332.3 332.3 332.2 331.3 329.1 325.4 321.1 316.2 310.9 305.4 300.0 295.1 290.9 287.4 284.8 283.2 282.6 282.5 282.6 282.8 283.3 283.7 284.2 284.9 285.6 286.5 287.3 288.0 288.9 289.9 290.8 291.7 292.6 293.5 294.2 294.9 295.7 296.3 296.7 297.1 297.4 297.6 297.8 297.6 297.2 296.9 296.4 295.7 295.1 294.5 293.8 293.4 293.1 293.0 293.0 293.0 293.0 293.3 293.5 293.7 293.9 294.1 294.4 294.7 294.8 294.9 295.0 295.1 295.0 294.6 294.0 293.0 291.7 290.1 288.3 286.3 284.2 282.3 280.0 277.7 275.2 272.7 270.4 268.2 266.1 264.1 262.4 260.9 259.5 258.7 257.9 257.4 257.1 257.2 257.4 257.8 258.5 259.5 260.5 261.6 262.7 263.8 264.8 265.8 266.7 267.5 268.1 268.5 268.7 268.5 268.3 268.0 267.5 267.0 266.5 265.9 265.1 264.4 263.7 263.1 262.6 262.1 261.7 261.3 261.0 261.0 260.9 260.8 260.5 260.1 259.6 258.9 258.2 257.3 256.3 255.4 254.1 252.9 251.5 250.2 249.1 247.5 246.0 244.4 242.7 241.1 239.5 237.9 236.3 234.7 233.1 231.6 230.3 228.9 227.4 226.0 224.6 223.5 222.3 221.2 220.2 219.3 218.5 217.7 217.2 216.7 216.2 215.8 215.6 215.5 215.5 215.5 215.6 215.8 216.2 216.5 216.9 217.3 217.7 218.2 218.6 219.1 219.5 219.8 220.1 220.4 220.5 220.6 220.6 220.5 220.5 220.4 220.3 220.1 220.1 220.1 220.0 219.9 219.8 219.7 219.7 219.7 219.7 219.7 219.9 220.0 220.3 220.4 220.5 220.7 221.0 221.3 221.5 221.7 221.8 222.0 222.1 222.2 222.2 222.2 222.0 221.2 220.1 218.7 217.0 215.0 213.0 211.0 209.0 207.3 205.7 203.8 205.4 209.1 214.9 223.8 235.2 249.6 265.9 284.1 303.4 323.3 343.0 360.6 375.5 385.9 392.9 396.1 395.9 395.9 395.7 395.6 395.4 395.2 395.0 394.6 394.4 394.1 393.8 393.4 393.1 392.8 392.5 392.1 391.8 391.6 391.2 391.0 390.9 390.8 390.7 390.6 390.6 390.2 390.2 390.2 390.2 390.2 390.5 390.8 391.0 391.4 391.8 392.1 392.5 393.0 393.5 393.9 394.3 394.4 394.6 394.8 395.0 395.0 394.7 393.9 392.7 390.6 388.2 385.5 382.6 379.7 376.9 374.5 372.4 370.9 370.0 372.5 372.8 373.4 374.3 375.4 376.9 378.5 380.1 381.7 383.7 385.8 387.7 389.5 391.2 392.9 394.0 395.0 395.7 396.2 396.5 396.4 396.2 396.0 395.7 395.3 394.7 394.3 394.0 393.6 393.3 393.1 393.1 393.5 394.5 396.4 399.1 402.9 407.1 411.4 415.9 421.1 426.2 430.9 435.2 438.9 441.7 443.6 444.4 444.6 444.6 444.6 444.6 444.8 444.9 444.9 443.9 444.0 443.3 441.8 439.5 436.3 432.4 428.1 423.9 418.5 412.6 406.3 399.8 393.4 386.8 380.3 374.1 368.1 362.3 357.0 352.0 348.2 344.6 341.1 338.1 336.0 334.4 333.6 333.3 333.4 334.0 334.9 336.2 337.9 339.7 341.8 344.0 346.2 348.6 350.8 352.5 354.4 356.1 357.4 358.4 359.0 359.3 358.9 358.1 356.9 355.3 353.5 351.3 348.9 346.4 344.0 341.7 339.6 338.0 336.6 335.4 334.7 334.4 334.7 335.6 336.9 339.0 341.4 344.3 347.2 350.3 353.4 356.1 358.6 360.4 361.5 362.2 362.2 361.7 360.9 359.7 358.1 356.3 354.5 352.6 350.4 348.1 345.7 343.6 341.6 339.8 338.3 337.2 336.3 335.8 335.6 335.7 336.4 337.4 338.7 340.2 342.0 343.7 345.5 347.4 349.1 350.6 351.8 352.7 353.3 353.6 353.5 352.5 351.5 350.5 349.5 348.5 347.5 346.5 345.5 344.5 343.5 342.5 341.6 340.6 339.6 338.6 337.7 336.7 335.8 334.8 333.8 332.9 331.9 331.0 330.0 329.1 328.2 327.2 326.3 325.3 324.4 323.5 322.6 321.6 320.7 319.8 318.9 318.0 317.1 316.2 315.3 314.4 313.5 312.6 311.7 310.8 309.9 309.0 308.1 307.3 306.4 305.5 304.6 303.8 302.9 302.0 301.2 300.3 299.4 298.6 297.7 296.9 296.0 295.2 295.1 295.0 295.0 295.0 295.0 295.0 294.9 294.9 294.9 294.8 294.7 294.7 294.6 294.5 294.5 294.3 294.3 294.2 294.2 294.1 294.0 294.0 294.0 293.9 293.8 293.8 293.8 293.8 293.8 293.8 293.8 293.8 293.9 294.0 294.1 294.3 294.4 294.6 294.9 295.1 295.3 295.5 295.8 296.1 296.4 296.7 296.8 297.0 297.3 297.4 297.6 297.7 297.8 297.8 297.9 297.5 296.4 294.6 292.1 289.3 286.0 282.6 279.3 276.3 273.8 271.9 270.4 269.7 269.7 270.4 271.8 274.4 277.6 281.5 285.9 290.8 296.0 300.7 305.9 311.2 316.2 320.8 324.5 327.4 329.4 330.6 330.9 330.8 330.8 330.8 330.6 330.5 330.3 330.2 330.0 330.0 329.9 329.8 329.6 329.4 329.3 329.2 329.2 329.2 329.2 329.2 329.2 329.4 329.6 329.8 330.0 330.3 330.6 331.0 331.3 331.6 331.7 331.9 332.0 332.1 332.3 332.1 332.1 332.1 332.1 332.1 331.9 331.9 331.8 331.7 331.5 331.5 331.4 331.2 331.1 330.9 330.8 330.8 330.6 330.5 330.4 330.4 330.2 330.2 330.2 330.2 330.2 330.2 330.2 330.7 331.4 332.3 333.3 334.2 335.7 337.3 338.9 340.5 342.2 344.0 345.7 347.2 348.7 350.1 351.2 352.1 352.8 353.3 353.6 353.6 353.4 353.1 352.6 351.9 351.1 350.3 349.4 348.4 347.6 346.7 346.0 345.4 345.0 344.7 344.6 344.6 344.8 345.2 345.8 346.5 347.3 348.1 349.0 349.8 350.4 351.1 351.5 351.7 352.1 351.9 351.9 351.8 351.6 351.5 351.3 351.0 350.7 350.5 350.2 349.8 349.5 349.2 348.9 348.7 348.4 348.1 347.9 347.7 347.6 347.4 347.2 347.2 347.2 347.2 347.2 347.3 347.5 347.8 348.0 348.3 348.6 349.0 349.3 349.6 349.9 350.1 350.3 350.4 350.4 350.6 350.5 350.4 350.3 350.2 350.0 349.8 349.7 349.5 349.3 349.2 349.2 349.0 348.7 348.2 347.4 346.3 345.0 343.6 341.9 340.1 338.1 336.3 334.4 332.5 330.7 329.2 327.6 326.2 325.0 324.0 323.2 322.8 322.5 322.6 322.9 323.6 324.5 325.7 327.4 329.3 331.5 334.0 336.8 339.8 343.0 346.4 349.9 353.5 357.3 360.6 364.1 367.8 371.5 375.1 378.4 381.6 384.6 387.3 389.7 391.8 393.6 394.8 395.7 396.3 396.5 396.3 396.1 395.8 395.4 395.1 394.7 394.0 393.4 392.8 392.2 391.7 391.1 390.5 390.1 389.7 389.4 389.3 389.3 389.3 389.4 389.7 390.0 390.4 391.0 391.5 392.1 392.8 393.5 394.1 394.7 395.3 395.9 396.4 396.8 397.0 397.2 397.4 397.2 396.8 396.1 395.2 393.8 392.4 390.6 388.8 386.9 384.8 382.9 380.9 379.0 377.2 375.4 373.9 372.6 371.6 370.9 370.4 370.2 371.1 373.2 376.6 381.6 387.9 395.5 403.6 412.1 420.5 428.5 436.0 441.9 446.3 449.0 450.3 450.1 449.9 449.6 449.3 448.9 448.3 447.7 447.0 446.3 445.5 444.6 444.0 443.1 442.3 441.4 440.6 440.0 439.4 438.8 438.3 437.9 437.7 437.5 437.5 437.2 436.6 435.6 433.9 431.9 429.3 426.5 423.5 419.9 416.1 411.8 407.2 402.5 397.7 392.9 387.8 383.0 378.1 373.5 369.4 364.9 360.6 356.4 352.4 348.8 345.6 342.6 339.9 337.6 335.7 334.2 333.1 332.4 332.0 331.6 330.5 328.3 325.3 322.2 319.3 316.9 315.4 315.2 315.5 316.4 317.8 319.6 321.7 323.9 326.4 328.3 330.3 332.2 333.7 334.6 335.1 335.1 334.8 334.4 333.7 333.1 332.3 331.5 330.5 329.4 328.3 327.4 326.3 325.3 324.5 323.8 323.2 322.8 322.5 322.5 322.6 323.1 324.0 325.2 326.8 328.5 330.4 332.3 334.2 335.9 337.5 338.7 339.5 340.0 340.2 339.7 338.7 337.2 335.3 333.2 331.1 328.9 327.1 325.8 324.8 324.3 324.3 324.4 324.6 324.9 325.4 325.8 326.3 326.8 327.5 328.1 328.7 329.2 329.6 330.1 330.6 330.9 331.1 331.2 330.8 329.5 328.2 326.8 325.5 324.2 322.9 321.6 320.3 319.0 317.7 316.4 315.2 313.9 312.6 311.4 310.1 308.9 307.6 306.4 305.2 303.9 302.7 301.5 300.3 299.1 297.9 296.7 295.5 294.3 293.1 291.9 290.7 289.6 288.4 287.2 286.1 284.9 283.8 282.6 281.5 280.4 279.2 278.1 277.0 275.9 274.8 273.7 272.5 271.5 270.4 269.3 268.2 267.1 266.0 265.0 263.9 262.8 261.8 260.7 259.7 258.6 257.6 256.5 256.8 257.7 259.2 261.2 263.5 265.9 268.9 272.3 275.9 279.5 282.8 286.1 289.1 291.6 293.6 295.0 295.9 296.0 295.9 295.7 295.5 295.1 294.7 294.3 293.8 293.3 292.8 292.4 292.0 291.8 291.5 291.5 291.5 291.6 292.1 292.9 293.9 295.1 296.0 297.0 297.8 298.3 298.6 298.5 298.1 297.6 296.9 296.1 295.3 294.3 293.1 291.8 290.5 289.3 288.0 286.8 285.6 284.6 283.8 283.0 282.5 282.1 281.9 281.9 282.0 282.8 283.9 285.3 287.1 289.3 291.6 294.3 297.2 300.1 302.9 306.1 309.4 312.7 315.9 319.0 321.9 324.5 326.9 328.9 330.4 331.5 332.3 332.6 332.6 332.3 331.9 331.4 331.0 330.2 329.5 328.8 328.0 327.3 326.9 326.3 325.8 325.7 325.7 325.7 325.8 326.0 326.3 326.8 327.3 327.9 328.5 329.1 329.7 330.2 330.7 331.2 331.5 331.7 331.7 331.8 331.4 331.0 330.0 329.1 328.0 327.0 326.2 325.5 325.3 325.0 324.2 322.8 320.5 317.7 314.4 310.9 307.6 303.6 299.5 295.7 292.1 288.9 286.3 284.2 282.8 282.1 282.0 282.4 283.5 285.1 287.3 290.0 293.2 296.6 300.4 304.4 308.4 312.3 316.0 319.5 322.4 324.6 326.4 327.7 328.3 328.4 328.3 328.3 328.3 328.1 328.1 328.0 327.9 327.9 327.7 327.7 327.7 327.7 328.0 329.1 331.1 334.5 338.3 342.2 345.7 348.2 349.2 349.4 349.4 349.5 349.7 350.0 350.2 350.3 350.5 350.7 350.8 350.8 351.0 350.6 349.6 348.1 346.2 344.0 341.6 339.2 336.5 333.6 330.6 328.0 325.5 323.3 321.5 320.2 319.3 318.8 319.0 319.6 320.8 323.0 325.7 328.8 332.2 336.0 339.9 343.5 346.9 349.8 352.2 353.9 354.7 355.1 354.9 354.8 354.4 354.1 353.6 353.0 352.5 351.8 351.1 350.4 349.8 349.2 348.6 348.0 347.6 347.2 346.8 346.6 346.6 346.6 346.6 346.8 347.0 347.1 347.4 347.8 348.3 348.6 349.1 349.6 350.0 350.3 350.8 351.2 351.4 351.6 351.7 351.9 352.1 351.9 351.6 351.2 350.7 350.2 349.4 348.7 347.9 347.1 346.3 345.8 345.2 344.8 344.6 344.6 344.6 344.8 345.0 345.4 345.9 346.6 347.2 347.8 348.5 349.2 349.8 350.5 351.2 351.8 352.2 352.5 352.7 352.8 352.8 352.5 352.2 351.9 351.2 350.5 349.8 349.2 348.5 347.8 347.1 346.7 346.4 346.2 346.2 346.2 346.2 346.4 346.7 346.9 347.2 347.6 348.0 348.5 349.0 349.5 349.9 350.4 351.0 351.7 352.2 352.7 353.2 353.7 354.1 354.5 355.0 355.1 355.4 355.6 355.7 355.8 355.7 355.1 353.8 351.6 348.9 345.8 342.3 338.7 335.1 331.7 328.8 326.3 324.2 322.8 322.5 322.7 323.3 324.5 326.2 328.6 331.5 334.8 338.6 342.7 347.2 351.8 356.6 361.1 365.4 370.2 374.7 378.9 382.7 386.1 389.1 391.3 392.8 393.6 394.0 393.8 393.8 393.7 393.6 393.5 393.3 392.9 392.7 392.6 392.4 392.2 392.0 391.8 391.6 391.5 391.5 391.5 391.5 391.7 392.1 392.6 393.3 394.0 394.9 395.8 396.6 397.1 397.5 397.8 398.2 396.2 395.4 394.1 392.7 390.6 388.1 385.5 382.8 380.1 377.6 375.4 373.6 372.2 371.4 371.1 371.2 371.7 372.6 374.0 375.6 377.6 379.5 381.6 384.0 386.6 389.0 391.3 393.4 395.2 396.8 397.9 398.7 398.5 398.3 398.0 397.5 396.9 396.3 395.6 394.9 394.1 393.4 392.8 392.2 391.7 391.3 391.1 390.7 391.5 393.0 395.0 397.5 400.3 403.7 407.7 411.9 416.3 420.9 425.6 430.1 434.4 438.5 442.3 445.3 447.5 449.3 450.7 451.3 451.2 450.7 449.9 449.0 447.5 445.6 443.7 441.6 439.3 437.2 435.1 433.2 431.3 429.7 428.5 427.7 427.0 426.7 427.1 428.0 429.5 431.6 433.8 436.4 439.1 441.7 443.9 445.6 446.5 446.9 446.7 446.0 445.2 444.3 443.5 442.5 441.7 440.8 440.4 440.3 438.0 435.2 432.3 429.6 426.8 424.0 421.3 418.6 415.9 413.2 410.5 407.9 405.2 402.6 400.0 397.4 394.9 392.3 389.8 387.3 384.8 382.3 379.8 377.4 374.9 372.5 370.1 367.7 365.4 363.0 360.7 358.3 356.0 353.7 351.4 349.2 346.9 344.7 342.4 340.2 338.0 335.9 333.7 331.5 329.4 327.3 325.2 323.1 321.0 318.9 316.8 314.8 312.8 310.7 308.7 306.7 304.8 304.5 304.8 305.5 306.5 307.7 309.2 310.8 312.7 314.8 317.1 319.6 322.3 325.0 327.7 330.4 333.3 335.8 338.3 340.5 342.5 344.6 346.3 347.7 348.9 349.8 350.3 350.6 350.5 350.3 350.1 349.9 349.6 349.3 348.8 348.3 347.8 347.4 347.0 346.5 346.1 345.8 345.5 345.2 345.0 345.0 345.0 345.1 345.2 345.5 346.0 346.4 346.9 347.4 348.1 348.8 349.3 349.9 350.5 351.0 351.4 351.7 351.9 352.0 352.0 351.8 351.6 351.0 350.5 350.0 349.4 348.7 347.9 347.2 346.4 345.8 345.2 344.5 344.0 343.7 343.4 343.2 343.2 343.9 345.6 348.4 352.2 356.8 362.0 367.8 373.4 378.9 383.9 388.2 391.5 393.3 394.6 394.6 394.4 394.2 394.0 393.6 393.3 392.8 392.3 391.9 391.3 390.9 390.4 390.0 389.7 389.5 389.3 389.3 389.3 389.4 390.0 390.9 391.8 392.9 394.0 395.2 396.3 397.5 398.4 399.0 399.4 399.4 398.8 397.3 395.0 392.0 388.5 384.6 380.2 375.6 371.1 366.8 362.9 359.7 356.2 353.5 351.5 350.0 349.2 349.0 348.6 348.1 347.2 346.4 345.5 344.7 343.9 343.4 343.3 343.5 344.3 345.7 347.7 350.2 353.5 357.3 361.4 365.7 370.0 375.4 381.0 386.7 392.6 398.6 404.4 410.1 415.5 420.6 425.3 429.3 432.3 435.1 437.3 438.9 439.8 440.0 440.2 440.6 441.0 441.4 441.9 442.2 444.5 444.3 444.3 444.2 443.8 443.5 443.2 442.8 442.4 442.0 441.5 441.2 440.9 440.6 440.3 440.3 440.3 440.3 440.3 440.5 440.7 441.0 441.5 442.1 442.5 442.9 443.3 443.6 443.2 442.8 442.1 441.1 440.0 438.7 437.6 436.8 436.3 436.0 436.1 436.7 438.0 440.3 443.3 446.9 451.2 456.0 461.3 467.2 473.2 479.5 485.7 491.3 497.7 503.9 509.8 515.5 520.5 524.8 528.3 531.1 532.9 533.9 534.0 533.5 532.7 531.4 529.7 528.0 526.1 524.2 522.1 520.1 518.1 516.4 515.3 514.3 514.0 514.2 514.9 516.6 519.1 522.2 525.7 529.0 532.0 534.6 536.1 536.9 536.6 535.8 534.5 532.6 530.2 527.2 524.2 520.7 516.6 512.2 507.3 502.2 497.0 491.7 486.2 480.7 475.4 470.1 465.4 460.9 456.0 451.5 447.3 443.3 439.7 436.4 433.7 431.4 429.5 428.0 426.9 426.2 426.3 426.7 428.2 430.3 432.8 435.4 438.0 440.3 442.3 443.4 444.0 443.9 443.8 443.6 443.2 443.0 442.5 441.9 441.4 441.0 440.5 439.9 439.5 438.9 438.4 438.1 437.9 437.5 437.5 437.5 437.0 437.2 437.4 437.8 438.4 438.9 439.3 439.7 440.2 440.6 440.9 441.0 441.1 441.1 441.0 441.0 441.0 440.8 440.8 440.6 440.4 440.3 440.3 440.0 440.0 440.0 440.0 439.9 439.5 438.2 436.5 434.4 432.0 428.7 424.8 420.6 416.1 411.3 406.2 400.9 395.7 390.5 385.1 380.2 376.0 371.2 366.7 362.4 358.4 354.9 351.7 349.0 346.8 345.1 343.8 343.0 342.8 342.8 343.1 343.6 344.2 345.0 346.0 347.0 347.9 348.8 349.8 350.6 351.1 351.6 351.9 352.1 352.1 352.1 352.1 352.1 352.1 352.1 352.1 352.1 352.1 352.1 352.1 351.2 349.2 346.1 342.4 338.6 335.3 331.9 329.2 327.7 327.2 327.4 328.3 329.6 331.4 333.7 336.2 339.3 342.1 345.5 349.4 353.5 357.6 362.1 366.4 370.6 374.9 378.9 382.6 386.1 388.7 391.2 393.5 395.2 396.3 396.9 396.9 396.6 395.9 395.2 394.2 393.0 391.7 390.3 389.1 387.4 385.9 384.4 383.0 381.7 380.6 379.9 379.2 378.8 378.6 378.8 379.2 380.0 381.3 383.1 385.0 387.0 389.3 391.5 393.6 395.5 397.1 398.4 399.3 399.8 399.8 399.4 398.8 397.9 396.6 395.1 393.4 391.6 389.7 387.9 386.5 385.1 383.7 382.4 381.6 381.2 381.1 381.1 381.3 381.7 382.2 383.0 383.7 384.3 385.3 386.3 387.3 388.4 389.3 390.3 391.1 391.8 392.6 393.1 393.5 393.7 394.0 392.7 391.0 389.3 387.6 385.9 384.3 382.6 380.9 379.3 377.6 376.0 374.4 372.8 371.1 369.5 367.9 366.4 364.8 363.2 361.6 360.1 358.5 356.9 355.4 353.9 352.3 350.8 349.3 347.8 346.3 344.8 343.3 341.8 340.3 338.8 337.4 335.9 334.5 333.0 331.6 330.1 328.7 327.3 325.9 324.5 323.1 321.7 320.3 318.9 317.5 316.1 314.8 313.4 312.0 310.7 309.3 308.0 306.7 305.4 304.0 302.7 301.4 300.1 298.8 297.5 296.2 294.9 294.7 294.7 294.7 294.7 294.9 295.0 295.1 295.3 295.4 295.4 295.5 295.7 295.8 295.9 295.9 295.9 296.0 296.4 297.2 298.7 300.5 303.1 306.4 309.9 313.6 317.5 321.2 324.7 328.0 330.8 332.9 334.3 334.9 335.1 334.9 334.7 334.4 333.9 333.5 333.1 332.6 332.1 331.8 331.6 331.5 332.7 332.7 331.9 329.6 326.4 322.5 318.0 313.2 308.3 303.4 298.7 294.6 291.4 288.3 285.9 284.2 283.3 283.3 283.4 283.7 284.0 284.5 285.2 285.9 286.6 287.3 288.1 289.1 290.0 291.0 292.0 293.0 293.8 294.7 295.5 296.2 296.8 297.3 297.6 297.9 298.2 298.3 298.1 298.0 297.6 297.2 296.7 296.3 295.7 295.2 294.7 294.2 293.7 293.3 293.2 293.0 293.0 293.0 293.2 293.6 294.1 294.6 295.1 295.5 295.9 296.1 296.4 296.1 295.5 294.6 293.3 291.6 289.7 287.5 285.2 282.8 280.2 277.8 275.4 273.3 271.4 269.8 268.2 266.9 266.0 265.6 265.4 265.4 265.4 265.4 265.5 265.6 265.6 265.7 265.7 265.8 265.9 266.0 266.0 266.2 266.2 266.2 266.2 266.2 266.3 266.2 266.1 266.0 265.8 265.5 265.1 264.7 264.4 264.0 263.6 263.2 262.8 262.5 262.1 261.8 261.6 261.5 261.3 261.3 261.2 260.9 260.4 259.8 258.9 257.8 256.6 255.4 253.9 252.2 250.3 248.4 246.4 244.3 242.3 240.1 238.0 235.9 233.9 232.3 230.3 228.5 226.7 225.1 223.6 222.3 221.1 220.0 219.2 218.5 218.0 217.7 217.6 217.4 217.0 216.4 215.3 214.1 212.7 211.2 209.7 208.2 206.9 205.7 205.0 204.4 203.9 203.9 204.1 204.6 205.2 206.1 207.2 208.5 209.8 211.3 212.9 214.3 215.6 216.9 218.0 218.8 219.3 219.7 219.9 219.7 219.6 219.5 219.4 219.1 218.8 218.6 218.3 218.1 217.8 217.6 217.5 217.4 217.3 217.3 217.3 217.4 217.5 217.6 217.8 217.9 218.1 218.3 218.4 218.6 218.9 219.2 219.4 219.6 219.9 220.4 221.3 223.2 226.4 230.7 236.0 242.3 249.5 257.7 266.9 276.8 286.4 296.2 307.6 319.0 330.5 341.7 352.5 362.5 371.5 378.9 384.8 389.1 391.5 392.7 392.5 392.4 392.3 392.1 392.0 391.8 391.4 391.0 390.8 390.5 390.1 389.7 389.3 388.8 388.5 388.3 387.9 387.6 387.3 387.2 387.0 386.8 386.8 386.8 386.8 387.0 387.3 387.7 388.5 389.2 390.1 391.0 392.0 392.9 393.7 394.4 395.0 395.5 395.9 395.9 396.0 396.2 396.4 396.7 396.9 397.1 397.4 397.7 397.7 397.9 397.9 398.2 397.0 394.2 390.1 385.5 381.3 376.5 372.9 370.5 369.6 369.8 372.6 372.7 373.5 374.8 376.5 378.4 380.4 382.9 385.4 387.9 390.4 392.4 394.3 395.8 396.7 397.2 397.1 397.0 396.9 396.8 396.6 396.4 396.2 396.0 395.8 395.4 395.2 395.0 394.8 394.6 394.5 394.3 394.3 394.3 394.4 395.1 396.8 399.5 402.9 407.0 411.5 416.3 421.3 425.7 430.4 435.1 439.2 442.5 445.1 446.7 447.4 447.2 447.0 446.7 446.1 445.6 445.2 444.6 444.0 443.4 443.0 442.5 442.5 442.7 442.0 440.5 438.8 436.6 434.2 431.4 428.3 424.8 421.1 417.1 413.4 409.7 405.4 400.9 396.5 392.1 387.7 383.3 379.1 374.9 370.9 367.1 363.7 360.7 357.6 354.6 352.0 349.6 347.7 345.8 344.5 343.3 342.5 342.2 342.1 342.2 342.9 343.9 345.2 346.8 348.6 350.5 352.2 353.9 355.5 356.7 357.6 357.9 358.1 357.9 357.4 356.7 355.9 354.9 353.8 352.7 351.5 350.0 348.6 347.4 346.2 345.0 344.0 343.3 342.6 342.2 342.0 342.1 342.3 342.8 343.8 345.1 346.5 348.1 349.7 351.3 352.8 354.2 355.3 356.1 356.6 356.9 356.7 356.3 355.6 354.7 353.5 352.0 350.4 348.8 347.2 345.8 344.5 343.3 342.2 341.4 340.8 340.7 340.8 341.2 342.1 343.2 344.7 346.1 347.2 348.2 348.9 348.7 347.2 345.6 344.1 342.6 341.1 339.6 338.1 336.6 335.1 333.6 332.1 330.7 329.2 327.8 326.3 324.9 323.4 322.0 320.6 319.2 317.8 316.4 315.0 313.6 312.2 310.8 309.4 308.1 306.7 305.4 304.0 302.7 301.3 300.0 298.7 297.4 296.0 294.7 293.4 292.1 290.8 289.6 288.3 287.0 285.7 284.5 283.2 282.0 280.7 279.5 278.3 277.0 275.8 274.6 273.4 272.2 271.0 269.8 268.6 267.4 266.2 265.9 266.4 267.4 268.8 270.8 273.1 275.6 278.3 281.1 284.0 286.3 288.8 291.1 293.1 294.7 295.7 296.2 296.3 296.2 296.0 295.5 295.1 294.7 294.3 293.7 293.2 292.6 292.1 291.7 291.4 291.3 291.1 291.1 291.2 291.6 292.1 292.7 293.4 294.1 294.9 295.4 295.9 296.1 296.4 296.2 296.2 296.1 296.0 296.0 295.9 295.7 295.7 295.7 295.6 295.2 294.3 292.9 291.0 288.8 286.4 283.8 281.1 278.4 275.8 273.4 271.2 269.3 268.1 267.1 266.6 266.6 267.7 271.4 276.6 283.3 291.1 299.7 308.4 316.6 322.8 328.0 331.9 333.5 333.3 333.3 333.2 332.9 332.6 332.3 332.1 331.7 331.4 331.1 330.8 330.5 330.1 329.8 329.6 329.4 329.2 329.2 329.2 329.2 329.2 329.3 329.5 329.6 329.8 329.9 330.2 330.4 330.6 330.9 331.1 331.3 331.6 331.8 331.9 332.1 332.1 332.1 332.3 331.8 331.0 329.7 328.0 325.9 323.6 321.1 318.8 316.5 314.1 311.8 309.9 308.4 307.4 306.7 306.5 306.7 307.4 308.5 309.7 311.2 313.3 315.6 318.2 321.1 324.1 327.2 330.4 333.6 336.8 340.0 342.9 345.4 347.9 350.3 352.3 353.8 355.1 355.9 356.3 356.1 355.3 354.2 352.7 350.6 348.9 346.8 344.5 342.2 340.3 338.5 337.1 336.2 335.7 335.7 336.3 337.7 339.8 342.4 345.2 348.2 351.2 353.9 355.8 357.5 358.6 359.0 358.6 357.9 356.8 355.3 353.6 351.7 349.6 347.5 345.6 343.8 341.9 340.3 339.0 337.9 337.2 336.9 337.2 338.1 339.6 341.5 343.8 346.0 348.2 350.4 352.1 353.5 354.0 353.8 353.5 352.9 352.1 351.0 350.0 349.1 348.3 347.5 346.8 346.3 346.2 346.1 346.1 346.0 345.9 345.8 345.7 345.7 345.6 345.5 345.4 345.3 345.3 345.2 345.1 345.0 344.9 344.9 344.8 344.7 344.6 344.5 344.5 344.4 344.3 344.2 344.1 344.1 344.0 343.9 343.8 343.7 343.7 343.6 343.5 343.4 343.3 343.3 343.2 343.1 343.0 342.9 342.9 342.8 342.7 342.6 342.5 342.5 342.4 342.3 342.2 342.2 342.1 342.0 341.9 341.8 341.8 341.7 342.1 343.6 346.4 350.4 355.9 361.8 367.7 373.7 380.4 386.3 391.5 395.5 398.1 399.4 399.4 399.2 398.9 398.5 398.2 397.6 396.9 396.2 395.6 394.8 394.0 393.6 393.0 392.4 391.9 391.5 391.2 391.1 391.1 391.1 391.1 391.2 391.4 391.6 391.9 392.1 392.4 392.8 393.0 393.4 393.7 394.0 394.2 394.3 394.5 394.5 394.7 394.6 394.5 394.5 394.5 394.5 394.3 394.3 394.2 394.0 394.6 394.5 394.5 394.3 394.1 393.9 393.7 393.3 392.9 392.5 392.3 392.0 391.6 391.2 390.9 390.7 390.5 390.3 390.2 390.2 390.2 390.0 390.0 389.9 389.7 389.5 389.3 389.3 389.2 389.0 388.8 388.7 388.6 388.6 388.7 389.0 390.0 391.7 393.8 396.3 399.0 401.9 405.4 409.2 413.2 417.2 421.4 425.5 429.4 433.2 436.7 439.8 442.4 444.2 445.8 446.8 447.3 447.3 447.2 447.1 446.9 446.7 446.7 446.5 446.4 446.4 445.1 442.5 438.6 433.8 428.2 422.0 415.3 408.8 402.5 396.8 391.8 387.9 385.3 383.6 382.8 381.9 379.7 376.2 371.9 366.7 360.7 354.2 347.8 341.4 335.8 331.2 326.7 323.1 320.4 318.9 318.4 318.6 320.5 320.7 321.0 321.8 322.6 323.5 324.8 326.0 327.3 328.6 329.7 330.8 331.7 332.3 332.8 333.0 332.9 332.9 332.8 332.5 332.3 332.0 331.7 331.4 331.1 330.6 330.3 329.8 329.4 329.1 328.6 328.3 328.1 328.0 327.8 327.7 327.7 327.7 327.9 328.3 328.8 329.6 330.2 330.8 331.5 332.2 332.7 333.0 333.2 333.2 333.0 332.8 332.7 332.4 332.1 331.7 331.2 330.8 330.3 329.8 329.3 328.9 328.4 328.1 327.6 327.4 327.2 327.0 327.0 327.0 327.2 327.9 329.2 330.7 332.3 334.4 336.8 339.3 341.7 344.2 346.6 348.6 350.5 351.8 352.8 353.4 353.3 352.7 351.7 350.0 348.0 345.7 343.3 340.9 338.2 335.6 333.3 331.2 329.4 328.1 327.5 327.4 327.4 327.7 328.1 328.6 329.2 329.8 330.6 331.3 331.8 332.3 332.7 332.9 333.7 332.7 331.3 329.5 327.3 324.7 321.9 318.5 314.9 311.5 308.2 304.2 300.1 296.0 291.9 287.9 284.1 280.4 277.0 273.8 270.9 268.3 266.4 264.3 262.6 261.2 260.3 259.6 259.5 259.5 259.5 259.5 259.5 259.5 259.5 259.6 259.7 259.7 259.7 259.7 259.7 259.8 259.9 260.0 260.0 260.2 260.7 262.2 264.5 267.4 270.8 274.6 278.6 282.1 285.7 289.2 292.1 294.3 295.5 296.0 295.9 295.7 295.6 295.4 295.1 294.8 294.7 294.5 294.3 294.2 294.2 294.3 294.7 295.3 296.0 296.6 297.1 297.4 297.1 296.1 294.6 292.5 289.8 286.5 282.8 278.9 274.6 270.3 265.7 261.3 257.4 253.6 249.6 245.8 242.5 239.5 237.0 235.0 233.4 232.3 231.8 231.8 232.0 232.7 233.7 235.0 236.5 238.4 240.5 242.7 244.8 247.2 249.7 252.2 254.6 257.0 259.1 261.0 262.7 264.1 265.1 265.6 266.0 265.9 265.7 265.3 264.8 264.2 263.6 262.8 262.1 261.5 260.9 260.4 260.0 259.7 259.7 259.7 259.9 260.2 260.6 261.0 261.5 262.1 262.6 263.1 263.6 263.9 264.3 264.5 264.6 264.6 264.5 264.5 264.4 264.2 264.0 263.7 263.5 263.2 263.0 262.7 262.5 262.2 262.0 261.7 261.5 261.4 261.2 261.1 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.0 261.1 261.2 261.2 261.2 261.2 261.2 261.2 261.2 261.2 261.2 261.3 261.7 262.3 263.4 265.1 267.1 269.8 272.9 276.2 279.9 284.0 288.1 291.9 296.2 300.8 305.3 309.7 313.9 317.9 321.5 324.7 327.4 329.6 331.2 332.1 332.6 332.3 331.4 330.1 328.2 325.7 322.5 319.0 315.0 310.7 306.0 301.2 296.9 292.1 286.8 281.6 276.4 271.2 266.3 261.6 257.0 252.8 248.8 245.1 242.2 239.5 236.8 234.6 232.8 231.4 230.5 229.9 229.8 230.0 231.0 232.4 234.2 236.2 238.4 241.2 244.1 247.1 250.2 253.3 256.1 258.4 260.5 262.2 263.3 263.9 264.0 263.9 263.9 263.9 263.9 263.9 263.9 263.7 263.7 263.7 263.6 263.6 263.6 263.4 263.4 263.3 263.3 263.3 263.3 263.1 263.1 263.1 263.1 263.1 263.1 263.1 263.2 263.5 263.7 264.2 265.1 266.2 267.4 269.0 270.9 272.9 275.2 277.4 279.8 282.2 284.5 286.8 289.1 291.0 292.6 294.3 295.8 296.8 297.6 298.1 298.3 298.1 298.0 297.7 297.4 297.1 296.7 296.2 295.7 295.2 294.7 294.2 293.7 293.2 292.9 292.6 292.4 292.3 292.3 292.3 292.4 292.6 292.9 293.2 293.6 294.0 294.5 295.1 295.6 296.0 296.6 297.1 297.6 298.0 298.5 298.7 299.0 299.2 299.4 299.5 299.3 298.9 298.3 297.7 297.1 296.2 295.1 293.9 292.7 291.5 290.2 289.0 287.8 286.7 285.7 284.9 284.3 283.8 283.3 283.1 283.0 283.2 283.9 284.9 286.3 288.0 290.0 292.2 294.3 296.5 298.6 300.5 302.1 303.4 304.1 304.5 304.5 304.2 303.7 302.8 301.6 300.4 299.0 297.4 295.7 294.0 292.2 290.5 288.8 287.3 286.0 284.9 284.0 283.5 283.1 283.0 283.1 283.5 284.1 284.8 285.7 286.8 288.2 289.6 291.0 292.5 293.8 295.4 296.8 298.2 299.4 300.5 301.4 302.0 302.4 302.7 302.6 302.2 301.5 300.5 299.4 297.9 296.2 294.5 292.9 291.4 289.8 288.2 286.8 285.8 284.8 284.3 284.0 284.1 284.3 284.8 285.6 286.6 287.7 289.1 290.6 292.1 293.8 295.4 297.0 298.5 299.9 301.1 301.9 302.6 303.0 303.3 303.2 302.8 302.3 301.7 301.1 300.2 299.1 297.9 296.7 295.5 294.2 292.9 291.6 290.5 289.4 288.5 287.6 286.9 286.4 286.0 285.8 285.8 285.9 286.2 286.8 287.6 288.5 289.3 290.5 291.6 292.7 293.7 294.5 295.3 296.0 296.4 296.6 296.7 296.5 296.4 296.1 295.8 295.5 295.0 294.4 293.8 293.3 292.8 292.3 291.7 291.1 290.6 290.0 289.5 289.2 288.9 288.6 288.5 288.5 288.5 288.5 288.6 288.9 289.3 289.7 290.1 290.6 291.1 291.7 292.4 293.0 293.5 293.9 294.4 294.7 295.0 295.3 295.5 295.5 295.6 295.5 295.5 295.4 295.2 295.0 294.7 294.5 294.3 294.0 293.6 293.3 293.1 292.9 292.6 292.4 292.2 292.1 292.0 292.0 292.0 292.0 292.0 292.0 292.0 292.1 292.3 292.4 292.6 292.7 292.8 293.0 293.3 293.4 293.7 293.9 294.0 294.1 294.3 294.4 294.6 294.7 294.9 294.9 294.9 292.7 292.5 292.2 291.6 290.9 290.2 289.3 288.2 287.1 285.7 284.4 282.8 281.2 279.6 277.8 276.1 274.4 272.7 271.1 269.4 267.8 266.1 264.5 263.0 261.5 260.1 259.0 257.9 256.8 255.9 255.2 254.6 254.1 253.7 253.5 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4 253.4", + "f0_timestep": "0.005" + } +] \ No newline at end of file diff --git a/samples/06_不谓侠.ds b/samples/06_不谓侠.ds new file mode 100644 index 0000000..13acd18 --- /dev/null +++ b/samples/06_不谓侠.ds @@ -0,0 +1,418 @@ +[ + { + "offset": 34.162, + "text": "SP AP 衣 襟 上 别 好 了 晚 霞 SP", + "ph_seq": "SP AP y i j in sh ang b ie h ao l e w an x ia SP", + "ph_dur": "0.175 0.4 0.025 0.178 0.06 0.163 0.075 0.431 0.045 0.163 0.075 0.178 0.06 0.372 0.105 0.326 0.15 0.476 0.4", + "ph_num": "1 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest rest B3 A3 B3 B3 A3 B3 G3 E3 rest", + "note_dur": "0.2 0.4 0.238 0.238 0.476 0.238 0.238 0.477 0.476 0.476 0.4", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "164.8 165.2 165.1 165.0 164.4 164.5 164.7 164.7 164.9 165.0 165.2 165.0 165.3 165.3 165.0 165.1 165.4 165.2 165.2 165.4 165.4 165.1 165.2 165.4 165.5 165.7 165.9 165.9 165.6 165.8 165.9 165.6 165.8 165.9 166.2 165.9 165.9 165.9 165.8 166.0 166.0 165.7 165.6 165.3 165.9 165.7 165.8 165.7 166.0 166.6 166.9 167.6 168.5 175.9 185.7 196.0 208.6 222.5 234.5 241.7 246.7 248.4 247.7 245.5 244.0 242.2 235.0 217.2 212.1 216.8 219.9 223.4 226.9 221.8 219.3 218.8 219.3 220.4 221.0 221.9 222.5 223.8 223.9 223.2 220.6 214.2 206.6 212.7 220.6 227.3 235.4 243.9 252.9 256.1 255.8 256.3 256.0 255.1 251.2 244.5 234.5 229.3 226.5 224.9 227.5 238.1 248.9 258.2 263.8 266.6 261.8 252.4 240.2 230.2 221.6 218.6 220.9 226.8 241.2 254.7 263.4 270.6 273.5 270.9 261.7 243.8 240.8 247.7 254.3 259.0 265.5 271.8 279.1 261.9 253.8 249.3 248.2 248.4 248.1 247.7 247.0 246.6 246.5 247.2 246.8 244.4 240.6 231.0 229.9 228.6 226.0 224.1 221.3 220.1 218.5 217.3 217.4 217.4 217.9 219.5 221.1 222.2 222.6 221.8 221.1 220.2 219.8 219.0 219.3 218.8 219.7 219.6 219.5 222.9 223.4 222.3 220.7 220.4 221.2 221.9 222.3 222.3 221.3 221.0 219.1 218.3 219.1 224.7 234.1 242.0 248.1 252.4 253.4 252.8 248.1 244.0 242.6 242.7 242.3 243.2 244.7 244.9 246.0 246.0 244.2 238.1 228.6 216.9 208.2 198.7 191.6 188.0 189.1 191.0 193.6 195.0 197.2 198.1 197.2 197.1 196.2 195.3 193.8 193.7 193.6 194.5 195.3 196.4 196.6 196.3 194.2 192.4 193.6 195.9 198.1 198.8 198.9 198.5 198.6 197.6 195.8 194.1 191.7 187.7 185.1 183.1 181.5 179.6 178.0 176.3 174.4 173.0 171.1 169.4 167.9 166.0 164.3 161.7 162.1 165.0 167.5 168.5 169.6 169.2 167.8 163.0 159.2 156.4 155.5 156.7 160.3 165.1 170.1 174.4 178.6 180.4 179.7 177.1 171.2 165.0 159.5 154.5 153.4 153.4 154.6 157.9 164.3 170.5 176.4 180.1 181.1 177.5 173.1 165.3 157.5 151.0 147.8 146.6 147.8 149.3 149.4 149.5 149.6 149.5 149.9 150.8 151.3 152.2 152.9 153.6 154.4 155.4 156.0 157.1 157.6 158.0 158.4 158.8 158.7 158.5 158.5 158.2 158.6 158.8 158.7 158.4 158.5 158.8 158.8 158.7 159.2 158.7 159.4", + "f0_timestep": "0.011609977324263039", + "energy": "-79.6824 -75.5457 -73.7248 -72.1148 -71.9961 -72.8376 -74.7103 -75.9698 -76.7203 -76.4745 -75.6223 -74.2676 -72.1918 -69.884 -67.4335 -65.1903 -62.8453 -61.0503 -59.4356 -57.6432 -56.0874 -55.0188 -53.5811 -53.1038 -52.4225 -51.987 -51.9398 -51.7419 -51.7107 -51.9007 -51.9156 -51.8013 -52.0085 -52.25 -52.6968 -53.0934 -53.8388 -54.5906 -55.1659 -56.1946 -57.0114 -57.4786 -57.6957 -57.749 -57.7266 -56.0182 -53.6722 -49.4826 -44.9419 -40.0747 -34.8739 -30.3236 -27.1223 -25.4272 -24.3722 -23.8297 -23.5321 -23.5164 -23.3808 -23.5265 -23.2948 -23.1467 -23.1139 -23.137 -23.7721 -24.9402 -26.9339 -28.7846 -30.2604 -30.8519 -30.613 -29.2659 -27.3553 -25.1829 -23.1791 -21.9925 -21.3518 -21.4041 -21.2288 -21.3028 -21.4215 -21.7518 -22.0445 -22.8233 -23.9048 -25.5673 -27.565 -29.4093 -30.6029 -30.9044 -30.2212 -28.9487 -26.79 -24.4656 -22.5569 -21.4587 -20.9191 -20.9704 -21.4645 -22.3992 -23.3721 -24.3381 -25.1218 -25.8175 -26.1433 -26.308 -26.1604 -25.8319 -25.5952 -25.5701 -25.3677 -25.5527 -25.8105 -26.113 -26.6331 -26.8365 -27.4674 -27.5459 -27.6051 -27.4736 -27.4216 -27.2353 -27.3625 -28.7889 -31.2344 -35.157 -38.9815 -41.8418 -43.0922 -41.9621 -39.1062 -35.0453 -30.2094 -26.3503 -24.3371 -23.0809 -22.4358 -22.1148 -21.6846 -21.3192 -21.1727 -21.1673 -21.3058 -21.7713 -22.3558 -23.7801 -25.843 -28.6959 -31.7843 -34.4603 -36.0448 -36.0965 -34.56 -32.1565 -29.1585 -26.353 -24.3976 -22.7588 -22.2128 -21.6691 -21.6818 -21.7668 -21.7719 -21.6567 -21.744 -21.7398 -21.9423 -22.2149 -22.4737 -22.6968 -23.1086 -23.0061 -23.0995 -22.4648 -21.8437 -21.3584 -20.9571 -20.8997 -21.0521 -21.1932 -21.4662 -22.0496 -22.7553 -23.3845 -24.0592 -24.6477 -25.1572 -25.3289 -25.3306 -25.1148 -24.9358 -24.6971 -24.7572 -24.9267 -24.8475 -24.9611 -25.1813 -25.505 -25.6081 -25.6749 -25.4676 -25.1835 -25.1372 -24.9368 -25.0702 -25.1604 -25.4347 -26.0017 -26.3132 -26.4198 -26.4459 -25.8248 -25.0937 -24.4642 -23.6119 -23.0273 -22.3236 -22.0948 -21.9727 -22.0899 -21.9831 -22.1384 -22.2264 -22.2868 -22.0908 -22.1723 -22.3745 -22.3223 -22.5856 -22.6655 -23.034 -23.2401 -23.5962 -23.7777 -23.8667 -23.9294 -24.0995 -24.1918 -24.3505 -24.7286 -25.4822 -26.6169 -28.1982 -29.8836 -31.8413 -33.4153 -34.5885 -35.3296 -35.9949 -36.3722 -37.006 -37.4126 -37.1883 -36.15 -34.528 -32.358 -29.8275 -27.5703 -25.3584 -24.415 -23.9009 -23.7052 -23.9353 -24.342 -24.884 -25.4424 -25.9663 -26.3784 -26.8376 -26.7825 -26.752 -26.5744 -26.454 -26.1188 -26.414 -26.7328 -27.2216 -28.0398 -28.3471 -28.9833 -29.6437 -30.2257 -30.5487 -30.8972 -31.1438 -31.4722 -31.5148 -31.8873 -32.1716 -32.2745 -32.5526 -32.7089 -33.3149 -33.6512 -34.3917 -35.1516 -36.5003 -38.492 -41.1755 -44.6136 -48.6393 -52.6569 -56.2618 -59.695 -62.0333 -63.845 -64.9931 -65.5417 -65.7467 -65.9802 -66.2236 -66.1447 -66.5185 -66.6935 -66.8444 -67.0168 -67.15 -66.9787 -67.0617 -67.5821 -67.3931 -67.6991 -67.6392 -67.4776 -67.3161 -67.0905 -67.2987 -68.0815 -69.4036 -70.4832 -70.2787 -67.8975 -65.7169", + "energy_timestep": "0.011609977324263039", + "breathiness": "-79.8225 -77.0239 -74.8982 -73.6184 -73.4931 -74.5329 -76.178 -77.3928 -77.6 -77.1705 -75.8096 -73.7519 -71.4804 -68.8682 -66.6073 -64.5742 -62.6184 -60.66 -58.822 -57.2703 -55.6806 -54.469 -53.379 -52.6833 -52.0238 -51.712 -51.6303 -51.7031 -51.6427 -51.7344 -51.8449 -51.8935 -52.1289 -52.0842 -52.4013 -52.72 -53.3679 -54.2367 -55.4654 -56.5834 -57.7778 -58.9033 -59.7389 -60.6197 -61.031 -60.1364 -57.7882 -54.8002 -51.0498 -47.2266 -44.2166 -42.5347 -42.3753 -43.4972 -45.4627 -47.5085 -49.615 -51.372 -52.5215 -52.8023 -53.1442 -52.9834 -52.6248 -52.0025 -50.8504 -49.1215 -46.754 -44.368 -41.9003 -40.1537 -39.6153 -40.7384 -42.8076 -45.6104 -48.9994 -52.3106 -55.4426 -58.013 -60.0155 -60.9531 -61.2285 -60.1576 -57.5289 -53.7366 -49.076 -44.4191 -40.3786 -37.2415 -35.3146 -35.1985 -35.6972 -37.5299 -40.0733 -42.7105 -45.4913 -47.6906 -49.2032 -50.2332 -50.3573 -50.5106 -50.739 -51.2662 -52.0315 -53.0964 -54.1078 -55.2507 -56.8793 -58.2912 -60.2061 -61.7515 -63.2309 -64.2536 -64.7855 -65.4711 -65.9433 -66.8209 -67.6646 -68.8919 -70.1055 -70.9349 -71.4209 -70.9821 -69.9113 -67.7308 -65.1978 -62.642 -60.1161 -57.8375 -56.182 -55.434 -54.9375 -54.7186 -54.387 -54.0425 -53.7634 -53.8464 -53.9349 -54.0255 -53.9615 -54.0075 -54.0626 -53.8738 -53.6208 -53.2273 -52.3018 -51.2351 -49.547 -47.8129 -45.9974 -44.2559 -42.9005 -42.0767 -42.0207 -42.6923 -44.2588 -46.6687 -49.181 -51.8792 -54.209 -56.28 -57.5812 -58.7384 -59.7562 -60.447 -60.8257 -60.7305 -60.0139 -58.8071 -57.5416 -56.5233 -55.6978 -55.1032 -54.4553 -54.2654 -54.0382 -53.7404 -53.9048 -54.0099 -54.4902 -54.7458 -55.0172 -55.1928 -54.9656 -55.006 -55.0528 -54.8136 -55.2216 -55.5885 -56.0917 -56.3505 -56.874 -57.4413 -58.0119 -58.9587 -59.6404 -60.4609 -61.4228 -62.7474 -63.8936 -65.3129 -66.7378 -67.9442 -68.789 -69.5113 -69.7594 -69.869 -69.715 -69.5445 -69.5565 -69.657 -69.2966 -68.624 -67.413 -65.8647 -63.8559 -62.0367 -60.2987 -59.1615 -58.09 -57.3529 -56.8769 -56.5174 -56.3534 -56.3127 -56.2392 -56.2727 -56.3629 -56.555 -56.8134 -57.1371 -58.0181 -58.8765 -59.6071 -60.6598 -61.4813 -62.0869 -62.3714 -62.1978 -60.981 -58.8983 -55.7291 -51.9386 -47.834 -44.1512 -40.5876 -38.2639 -36.6005 -35.9241 -35.4518 -35.6435 -35.9436 -36.9561 -38.3601 -40.2116 -42.5374 -45.1142 -47.5312 -49.648 -51.5582 -52.7352 -53.5633 -53.6725 -53.7826 -53.7846 -53.7436 -53.7155 -53.8887 -53.9794 -53.8615 -53.8605 -53.55 -53.4594 -53.2543 -53.1741 -53.4898 -53.5675 -54.2602 -54.9578 -55.7753 -56.6609 -57.5747 -58.4485 -59.1999 -59.7585 -60.3152 -61.1392 -61.8969 -62.709 -63.5452 -64.1823 -64.6701 -64.8315 -64.8666 -65.3303 -65.5983 -65.7081 -65.2188 -64.4848 -63.579 -62.3408 -61.7194 -61.5083 -62.2873 -63.4983 -64.6929 -65.9384 -67.1388 -68.3029 -69.3473 -70.5802 -72.0663 -73.4742 -75.0543 -76.3213 -77.3109 -77.8574 -77.5778 -76.5398 -74.9435 -72.8673 -71.3131 -70.1741 -69.8511 -70.0775 -70.7908 -71.7058 -72.79 -74.3639 -75.2202 -76.4785 -76.6666 -76.5556 -76.0215", + "breathiness_timestep": "0.011609977324263039" + }, + { + "offset": 37.715, + "text": "AP 余 晖 送 我 牵 匹 老 马 SP", + "ph_seq": "AP y v h ui s ong w o q ian p i l ao m a SP", + "ph_dur": "0.32 0.06 0.163 0.075 0.163 0.075 0.179 0.06 0.163 0.075 0.178 0.06 0.163 0.075 0.371 0.105 1.429 0.095", + "ph_num": "2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest E3 E3 F#3 G3 F#3 E3 D3 E3 rest", + "note_dur": "0.38 0.238 0.238 0.239 0.238 0.238 0.238 0.476 1.429 0.095", + "note_slur": "0 0 0 0 0 0 0 0 0 0", + "f0_seq": "130.1 130.2 130.1 129.9 130.0 129.9 130.0 129.9 130.0 129.8 129.8 129.9 129.8 130.1 130.1 130.1 130.2 130.2 130.0 129.8 129.9 129.9 130.0 129.9 130.0 129.8 129.8 129.5 129.5 129.0 128.8 127.8 126.2 125.3 129.0 133.5 138.9 144.8 152.1 158.8 163.4 166.0 166.7 165.9 163.2 160.7 157.4 158.9 160.6 162.5 163.8 165.8 166.6 167.7 166.0 165.6 165.5 165.0 164.9 165.3 165.0 164.8 166.1 164.9 162.7 159.6 158.1 163.0 167.3 171.8 176.1 179.9 185.3 190.2 189.4 186.4 185.4 185.3 185.1 185.5 184.8 184.3 185.1 186.2 186.7 186.9 185.6 183.8 181.8 180.8 183.8 188.3 194.5 198.1 199.9 200.5 199.2 198.6 197.3 196.9 195.9 195.7 195.3 195.3 195.4 194.4 189.5 183.6 180.1 176.8 173.1 169.4 165.6 163.7 160.2 157.5 157.3 159.1 159.7 163.7 171.6 179.3 183.7 186.3 187.4 186.6 183.3 179.9 177.7 239.1 312.9 370.0 370.0 370.0 366.6 309.2 189.3 184.6 180.0 174.6 170.5 168.1 165.7 164.7 163.9 164.2 164.7 165.9 165.9 165.0 163.2 160.3 158.2 155.4 152.5 149.4 146.2 143.2 142.2 142.3 143.2 144.7 146.8 148.7 148.8 148.4 147.8 147.6 147.7 147.3 147.0 147.0 146.6 146.6 146.1 145.5 145.1 144.3 144.8 145.7 146.3 146.2 146.2 146.5 146.5 145.8 145.0 144.3 144.3 144.6 144.9 145.4 145.7 146.9 150.0 156.2 162.4 165.1 167.5 169.0 169.2 168.3 166.4 162.6 157.8 154.9 152.3 152.0 153.6 157.8 162.7 166.5 170.1 170.5 170.2 168.7 166.8 164.3 161.9 160.2 159.4 159.9 160.8 162.8 165.1 166.5 166.6 167.7 168.0 167.9 165.6 163.1 161.0 160.0 159.8 159.5 160.4 161.9 164.5 168.0 169.9 170.5 170.8 170.2 168.6 165.2 161.6 160.0 158.4 157.3 157.2 159.6 163.3 167.8 171.4 173.9 174.8 174.6 173.1 170.8 165.7 160.7 158.4 157.3 155.9 155.3 157.0 159.8 163.1 166.6 169.8 172.5 172.5 172.3 169.4 165.3 161.7 159.1 157.8 156.0 155.2 157.0 160.6 163.5 167.3 171.1 173.7 173.9 172.5 169.6 164.6 157.4 152.2 150.6 150.9 151.9 155.1 159.9 164.6 168.3 171.6 174.4 174.5 172.5 167.2 160.1 152.7 148.3 147.5 148.9 151.3 155.1 160.7 167.6 171.7 174.5 176.5 174.3 170.8 166.7 157.9 158.7 157.1 157.2 156.8 157.3 156.4 155.8 156.1", + "f0_timestep": "0.011609977324263039", + "energy": "-64.1734 -65.216 -64.1812 -62.7385 -60.425 -58.0543 -55.7484 -53.9038 -52.4517 -51.3679 -50.205 -49.6155 -48.5423 -48.2435 -48.0869 -48.3242 -48.8713 -49.4441 -50.201 -50.8807 -51.1111 -51.4662 -51.847 -51.931 -52.7397 -52.4484 -51.1882 -48.4929 -44.6632 -39.9528 -35.1361 -30.6411 -27.5068 -25.7996 -24.8868 -24.5746 -24.3521 -24.2524 -24.486 -24.6544 -24.9749 -25.2448 -26.1826 -27.6831 -29.7284 -32.3235 -35.1133 -37.5805 -39.1566 -39.2314 -37.7942 -34.9947 -31.7005 -28.5013 -25.84 -23.9954 -22.9181 -22.5584 -22.4658 -22.5543 -22.5762 -23.1762 -23.5176 -24.4473 -26.1634 -28.0395 -29.9255 -31.5644 -32.5116 -32.5766 -31.5643 -29.9935 -28.337 -26.4802 -24.7031 -23.7022 -23.0784 -22.9064 -23.2498 -23.5788 -23.5758 -23.8228 -23.6211 -23.5057 -23.3128 -23.2973 -23.2766 -23.3805 -23.5182 -23.593 -23.5341 -23.5683 -23.3773 -23.0895 -22.9493 -22.8105 -22.6509 -22.5925 -22.5528 -22.6818 -22.7611 -22.9488 -23.2465 -24.0842 -25.1654 -26.7089 -28.8168 -31.1315 -32.9873 -33.9208 -34.5033 -33.5675 -31.9451 -29.8315 -27.8476 -26.2138 -25.0153 -24.5586 -24.5564 -24.8711 -25.0201 -25.3941 -25.6975 -25.8733 -26.6969 -28.5458 -31.313 -33.8575 -36.1464 -37.8542 -38.1904 -37.5404 -35.6418 -32.7792 -30.0581 -27.7214 -26.1275 -24.9954 -23.8815 -23.4514 -23.3125 -23.4745 -23.5844 -23.6014 -23.7385 -23.6898 -23.7514 -23.4111 -23.4145 -23.3708 -23.5265 -23.5587 -23.532 -23.4615 -23.4769 -23.407 -23.2876 -23.4792 -23.784 -23.7599 -23.6955 -23.8753 -23.8833 -23.9803 -23.8556 -23.89 -23.8448 -23.957 -23.9584 -24.0182 -23.9348 -23.9601 -23.981 -23.9139 -23.9639 -24.0258 -24.2091 -24.1872 -24.2777 -24.4066 -24.5618 -24.5783 -24.6104 -24.5129 -24.5863 -24.6319 -24.7447 -24.426 -24.4516 -24.5579 -24.4204 -24.3466 -24.1246 -24.032 -23.996 -23.5416 -23.6568 -23.5801 -23.5588 -23.4886 -23.4312 -23.5057 -23.5543 -23.6262 -23.8066 -23.9713 -24.213 -24.1506 -24.0657 -24.1678 -23.9444 -23.7988 -23.3642 -23.3054 -23.1845 -23.337 -23.6943 -24.0383 -24.1446 -24.5307 -24.4483 -24.5852 -24.7057 -24.6281 -24.4592 -24.4208 -24.1545 -23.8134 -23.9547 -23.8505 -23.7997 -24.0975 -23.9568 -24.3729 -24.4523 -24.8523 -24.9808 -24.8916 -24.742 -24.5414 -24.3747 -24.2083 -23.9847 -24.0414 -24.3656 -24.6565 -25.1327 -25.4731 -25.985 -26.1888 -26.3249 -26.0222 -25.8974 -25.4934 -24.9725 -24.5031 -24.2817 -24.1754 -24.2049 -24.264 -24.5342 -24.8986 -25.0055 -25.356 -25.6699 -25.9767 -26.0647 -26.2118 -26.2591 -25.9461 -25.6916 -25.6032 -25.8468 -25.4601 -25.7522 -25.7937 -25.9961 -26.173 -26.5243 -26.6892 -26.9761 -26.9673 -27.2507 -27.301 -27.2003 -27.1242 -27.2306 -27.127 -27.0956 -27.4114 -27.7777 -28.2319 -28.8025 -29.5294 -29.9683 -30.6852 -31.0113 -31.4043 -31.4057 -31.4479 -31.4446 -31.1501 -30.9905 -30.8507 -30.695 -31.1027 -31.7183 -32.5904 -33.6916 -34.4289 -35.1856 -35.6858 -35.7517 -35.5857 -35.2024 -35.2878 -35.3073 -35.9081 -37.0109 -38.8727 -41.6198 -44.9601 -48.3777 -51.9885 -54.7993 -56.2711 -56.0208 -54.1574 -51.6567", + "energy_timestep": "0.011609977324263039", + "breathiness": "-73.1654 -71.3893 -68.7023 -66.0819 -63.2788 -60.4863 -57.8625 -55.3371 -53.1124 -51.479 -50.1676 -49.3908 -48.8597 -48.524 -48.3306 -48.5263 -48.8271 -49.4778 -50.1659 -50.7336 -51.2959 -51.7536 -52.1222 -52.2739 -53.0465 -53.7344 -54.545 -54.8628 -55.4497 -55.7261 -55.9454 -55.8607 -55.9282 -56.4991 -57.2076 -57.9905 -58.5816 -59.117 -59.5272 -59.9993 -60.0915 -60.0784 -60.0966 -59.1493 -57.4403 -54.8805 -52.0669 -49.0249 -46.418 -44.5474 -43.8206 -44.0533 -45.8305 -47.9999 -50.4034 -53.1104 -55.0576 -56.771 -57.4272 -57.2839 -57.2826 -56.1721 -54.0639 -51.1808 -47.6709 -43.7075 -40.0463 -36.9066 -34.9238 -34.1365 -34.1865 -35.3496 -38.1818 -41.767 -46.0551 -50.3748 -54.3032 -57.5345 -59.8841 -61.1114 -62.136 -62.7278 -62.948 -63.1461 -62.7216 -62.373 -61.966 -61.5337 -61.4693 -61.1321 -60.7637 -60.1881 -59.48 -58.307 -57.7178 -56.9745 -56.5757 -56.9776 -57.0017 -57.4041 -57.3065 -57.3021 -56.71 -55.1305 -52.6423 -49.5485 -46.0367 -42.6083 -39.4485 -37.541 -36.8127 -37.2204 -38.7728 -41.2482 -44.2356 -47.5321 -51.0546 -54.3405 -57.4066 -59.6528 -62.1014 -64.1599 -65.4712 -65.4861 -64.3833 -61.8965 -59.31 -56.2048 -53.4694 -51.326 -49.5802 -49.034 -48.6893 -48.5856 -48.6965 -49.478 -50.6852 -51.9908 -53.2231 -54.3855 -55.3827 -55.987 -56.3123 -56.4985 -56.3061 -56.3211 -56.2042 -56.0913 -56.1844 -56.4175 -56.7676 -56.782 -57.1181 -56.696 -56.0986 -55.5904 -54.9215 -54.332 -53.9569 -53.9041 -53.9664 -53.9217 -53.9366 -53.9118 -54.1546 -54.4696 -54.7781 -54.9702 -55.1716 -55.3437 -55.2937 -55.4017 -55.5564 -55.8022 -56.4342 -57.2663 -58.2084 -59.4592 -60.421 -61.139 -62.0018 -62.6407 -63.0502 -63.5875 -64.1411 -64.8428 -65.6654 -66.4252 -67.1502 -67.8101 -68.3813 -68.3999 -67.8198 -66.5094 -64.6499 -62.5445 -60.2488 -58.1775 -56.5715 -55.3793 -54.7583 -54.321 -54.3827 -54.5208 -54.9234 -55.2126 -55.7142 -55.6618 -55.5473 -54.9124 -54.004 -53.1677 -52.2443 -51.8282 -51.7827 -52.1802 -52.9165 -53.8764 -55.0834 -55.8515 -56.5325 -56.7262 -56.9909 -56.8436 -56.5634 -56.0372 -55.7449 -55.4569 -55.0088 -54.7387 -54.7006 -54.6406 -54.7385 -54.9998 -55.1714 -55.4823 -55.6791 -55.7815 -55.9539 -55.8306 -55.6391 -55.3116 -55.0932 -55.0752 -55.1432 -55.4941 -55.8431 -56.6105 -57.0604 -57.6144 -57.9657 -57.9667 -57.6448 -57.3427 -56.8959 -56.555 -56.0496 -55.3913 -54.889 -54.6491 -54.4855 -54.6813 -55.1795 -55.8578 -56.035 -56.2638 -56.1472 -56.0891 -55.9008 -56.1277 -55.9699 -55.8799 -56.029 -55.9192 -56.012 -56.0327 -56.3059 -56.8734 -57.1979 -57.6571 -58.0317 -58.2053 -58.3419 -58.3441 -58.3712 -58.3276 -58.5641 -58.7891 -59.196 -59.5122 -60.2628 -61.2237 -62.4582 -63.6266 -64.9473 -66.1019 -66.8931 -67.4189 -67.783 -67.4958 -67.176 -66.7072 -66.3626 -65.9614 -65.9756 -66.0651 -66.5907 -67.4458 -68.6145 -69.9729 -71.4711 -72.6474 -73.5949 -73.6671 -73.5501 -73.2424 -72.3225 -71.0427 -68.7221 -66.0969 -63.1065 -60.4244 -58.1822 -57.526 -57.8218 -58.1269 -58.4208 -57.9962 -56.844", + "breathiness_timestep": "0.011609977324263039" + }, + { + "offset": 41.781, + "text": "SP AP 正 路 过 烟 村 里 人 家 AP 恰 似 当 年 故 里 正 飞 花 SP", + "ph_seq": "SP AP zh eng l u g uo y En c un l i r en j ia AP q ia s i0 d ang n ian g u l i zh eng f ei h ua SP", + "ph_dur": "0.14 0.4 0.06 0.178 0.06 0.193 0.045 0.401 0.075 0.163 0.075 0.194 0.045 0.401 0.075 0.401 0.075 0.476 0.148 0.09 0.163 0.075 0.193 0.045 0.163 0.075 0.194 0.045 0.178 0.06 0.178 0.06 0.193 0.045 0.163 0.075 0.952 0.19", + "ph_num": "1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest rest B3 A3 B3 B3 A3 B3 D4 B3 B3 rest B3 A3 G3 G3 E3 G3 A3 G3 B3 rest", + "note_dur": "0.2 0.4 0.238 0.238 0.476 0.238 0.239 0.476 0.238 0.238 0.476 0.238 0.238 0.238 0.238 0.239 0.238 0.238 0.238 0.238 0.952 0.19", + "note_slur": "0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "154.7 154.9 154.6 154.5 154.5 154.6 154.6 154.4 154.9 154.8 155.3 155.3 155.0 155.1 155.4 155.3 155.2 155.5 155.4 155.6 155.9 155.5 155.9 155.5 155.7 155.6 155.4 155.5 155.2 155.5 156.0 155.4 155.6 155.5 155.8 155.6 155.8 155.6 155.6 155.7 155.5 155.4 155.5 155.3 155.5 155.5 155.6 154.9 155.2 154.8 154.6 154.1 154.3 159.0 167.1 178.1 192.1 203.8 220.8 235.0 242.0 246.9 248.8 249.5 247.4 244.0 241.4 237.7 234.6 233.4 228.2 224.2 223.7 221.7 219.1 218.0 217.9 218.0 218.8 220.0 220.7 220.8 220.1 218.4 213.0 204.4 203.8 205.2 219.9 231.8 247.0 259.3 252.9 251.1 253.4 254.0 253.5 252.3 250.3 245.5 239.9 234.2 230.2 226.6 226.0 227.3 232.2 239.9 250.5 258.5 262.2 261.0 257.0 249.3 240.3 233.8 230.7 229.0 229.8 234.5 241.2 246.4 252.1 255.7 259.4 262.3 262.6 262.1 260.2 257.3 253.6 252.5 252.9 251.7 249.6 249.2 250.6 250.3 250.2 248.8 248.1 247.9 248.0 248.8 248.1 246.8 243.1 236.8 235.5 235.7 235.0 234.7 233.9 233.8 234.2 222.8 217.8 215.5 216.3 217.5 218.1 218.4 219.8 222.1 224.0 224.3 223.5 222.9 222.8 222.9 221.5 220.5 220.1 220.1 218.3 218.2 220.0 220.3 220.1 220.2 219.9 218.5 217.6 218.1 219.6 220.8 221.0 220.0 219.8 223.1 231.2 243.1 246.7 248.9 249.1 249.0 247.6 245.5 244.6 243.6 243.7 244.1 245.9 247.7 248.0 248.1 248.8 248.6 248.2 248.5 249.8 251.0 255.2 260.0 272.7 284.4 294.2 302.6 304.5 304.3 301.8 299.9 296.3 293.7 292.5 292.0 292.6 293.9 295.3 297.2 298.8 299.2 296.3 288.3 275.2 259.3 249.3 244.5 243.6 245.7 246.4 247.7 250.7 251.2 252.6 251.5 251.3 248.9 245.5 242.6 239.8 235.6 235.3 240.5 244.6 249.5 253.8 255.7 257.0 257.7 257.4 257.5 254.1 251.9 246.3 242.0 236.3 232.2 229.9 232.1 236.5 241.7 248.6 254.2 257.6 259.4 260.6 259.8 258.6 254.4 244.5 234.7 227.7 225.2 226.1 227.9 228.4 229.1 231.2 235.7 242.3 250.3 253.9 256.0 255.1 253.5 255.2 257.5 257.1 252.2 253.8 254.1 254.9 256.4 256.6 258.1 258.7 258.1 257.3 258.4 259.5 261.4 263.6 266.0 268.0 271.2 274.5 278.2 277.3 272.2 262.1 253.2 247.1 244.2 243.2 243.9 244.4 246.2 246.4 244.6 240.1 234.9 226.8 226.3 224.9 223.9 223.9 222.5 224.0 220.8 218.9 219.3 219.4 220.1 220.1 219.3 219.7 220.1 219.7 219.8 219.2 218.6 214.7 205.9 190.8 191.4 193.9 196.4 197.4 198.0 197.8 195.0 194.1 194.5 195.8 196.8 196.4 196.3 196.0 195.6 195.5 194.9 194.7 194.6 194.0 195.2 195.2 195.1 195.7 197.0 196.6 196.2 196.4 196.3 195.9 195.0 194.3 194.5 195.0 196.5 198.1 198.6 196.3 190.9 182.0 169.6 165.2 166.9 167.9 168.9 171.3 164.5 163.3 163.0 162.5 162.3 163.0 164.2 164.9 166.2 167.0 167.0 164.3 163.5 161.5 158.7 154.7 149.9 140.9 141.7 145.0 146.1 148.7 152.2 158.1 166.3 175.2 184.1 191.0 196.0 198.4 199.0 197.1 194.5 190.4 179.9 180.3 189.5 197.8 207.1 216.7 227.8 225.5 223.3 223.4 223.7 223.3 221.1 219.4 218.7 219.4 220.1 220.2 218.5 213.8 207.4 199.9 200.3 199.5 200.2 199.4 201.0 198.8 194.0 191.0 191.6 193.7 196.2 197.9 196.8 197.8 196.3 191.3 180.0 176.2 180.0 183.6 187.7 191.5 195.5 199.2 202.2 205.9 206.1 208.2 209.8 212.7 214.3 214.2 214.6 215.6 216.6 217.1 217.6 218.5 218.9 218.5 218.1 218.2 218.9 219.0 218.5 218.7 220.4 221.6 222.2 223.1 226.3 231.3 235.6 240.7 246.5 249.2 250.2 250.4 251.1 250.9 250.1 247.8 245.2 242.3 241.3 241.4 242.5 244.6 250.0 256.5 261.0 262.4 261.9 259.1 254.7 248.9 243.2 236.7 233.7 232.8 233.9 236.4 241.1 246.8 253.5 260.2 263.6 263.8 261.1 255.1 248.4 241.4 231.9 224.9 223.1 231.0 244.0 247.8 243.7 244.6 246.9 248.8 248.5 248.4 248.7 249.4 250.0 250.1 247.5 243.7 243.5 243.5 244.5 245.5 244.6 244.9 245.4 245.0 245.1 246.2 246.0 245.1 246.4 246.2", + "f0_timestep": "0.011609977324263039", + "energy": "-89.252 -88.1934 -84.7832 -80.8903 -76.4724 -72.9601 -70.2108 -68.5781 -67.6996 -67.2147 -66.4785 -65.6012 -64.3584 -62.5313 -60.9495 -59.1922 -57.8083 -56.9083 -56.0358 -55.3353 -54.9027 -54.4263 -53.8403 -53.5872 -52.8632 -52.3027 -51.7714 -51.5115 -51.4057 -51.6064 -51.9786 -52.2125 -53.2219 -54.0253 -55.4653 -56.8724 -58.0493 -59.4999 -60.1405 -60.7369 -61.0301 -60.9314 -60.264 -58.5584 -56.0604 -53.001 -48.9722 -44.4398 -39.5052 -34.8771 -30.9505 -27.8255 -25.5458 -23.9223 -23.1554 -23.2069 -23.5136 -23.7696 -23.8706 -24.1053 -23.8051 -23.392 -23.2345 -22.7855 -22.6313 -22.5 -22.524 -22.783 -23.2398 -23.2871 -23.2527 -23.2201 -22.9348 -22.4939 -22.3697 -22.0569 -21.8742 -21.879 -22.0523 -22.1204 -22.6576 -23.8788 -25.305 -27.4676 -30.5755 -34.1641 -37.1138 -38.7386 -38.5096 -36.5856 -33.2826 -29.5796 -25.7308 -23.0976 -21.7462 -21.1798 -21.0408 -21.3548 -21.4816 -21.9085 -22.366 -22.9171 -23.2776 -23.8984 -24.4123 -24.5083 -24.6523 -24.7366 -24.5736 -24.1095 -23.914 -23.7824 -23.754 -23.9068 -24.0751 -24.1154 -24.6487 -24.3858 -24.3768 -24.4067 -24.0655 -24.1285 -23.876 -23.7039 -23.9562 -23.8223 -23.5761 -23.6591 -23.2944 -23.2329 -23.0318 -22.7412 -22.5003 -22.0078 -21.5567 -21.3692 -20.9157 -20.7964 -20.7363 -20.9846 -21.2645 -21.3601 -21.6125 -21.7978 -22.5147 -23.7841 -25.5096 -27.2434 -29.3504 -31.2128 -31.9894 -31.7382 -30.5805 -28.8093 -27.09 -25.0737 -23.5606 -22.3884 -21.9157 -21.7973 -21.8385 -21.7978 -21.8538 -21.7329 -21.7425 -21.7936 -21.7086 -21.5003 -21.6212 -21.5818 -21.8565 -21.9733 -22.2124 -22.181 -22.2755 -22.1938 -22.1787 -22.2355 -22.5122 -22.5672 -22.449 -22.4459 -22.6574 -22.8449 -22.878 -23.1947 -23.3358 -23.6307 -23.6744 -23.605 -23.4713 -23.0207 -22.7427 -22.4647 -22.2783 -22.2812 -22.0879 -22.0639 -22.3466 -22.4832 -22.4441 -22.5756 -22.6538 -22.6414 -22.5738 -22.9307 -23.1022 -23.3668 -23.67 -23.6911 -24.0251 -23.967 -24.0016 -23.5155 -23.1646 -22.7272 -22.4562 -21.9936 -21.5876 -21.5979 -21.4908 -21.2719 -21.3718 -21.4203 -21.536 -21.5099 -21.4316 -21.6271 -21.642 -21.546 -21.571 -21.5099 -21.3697 -21.3336 -21.2812 -21.3992 -21.1875 -21.2825 -21.2865 -21.2958 -21.3737 -21.2754 -21.2724 -21.3955 -21.0118 -20.8039 -20.96 -21.2064 -22.1616 -23.8699 -25.7936 -27.6708 -28.9697 -29.3306 -28.7528 -27.3985 -25.4114 -23.7126 -22.3059 -21.3215 -20.9918 -20.7894 -21.1451 -21.2958 -21.7728 -22.1456 -22.6122 -22.8776 -22.9651 -23.1239 -23.2456 -23.4417 -23.6581 -23.7818 -24.223 -24.644 -24.9805 -25.3221 -25.6605 -25.9163 -26.2471 -26.6946 -27.1015 -27.5224 -27.7166 -28.207 -28.3165 -28.6716 -29.1515 -29.2595 -29.7525 -29.8934 -30.3411 -30.6305 -31.2138 -32.7169 -33.8621 -36.2039 -38.7111 -41.6227 -44.2456 -46.4271 -47.9447 -48.7954 -49.7737 -50.6633 -51.5148 -51.9771 -51.4815 -50.2856 -48.2736 -45.2141 -42.2548 -39.3054 -36.8807 -34.3378 -31.9554 -29.7886 -27.5941 -25.4271 -23.6507 -22.3817 -21.6218 -21.264 -21.1467 -21.3855 -21.6649 -22.3325 -23.1324 -24.1959 -25.8874 -27.2622 -28.9699 -29.6821 -30.1992 -29.7252 -28.9234 -27.5038 -26.0204 -24.3732 -23.0377 -21.9643 -21.515 -21.1895 -21.021 -20.8972 -21.0781 -21.0833 -21.3625 -21.8723 -22.5672 -24.0926 -26.5361 -29.382 -31.6063 -33.0707 -33.1755 -31.9154 -30.0799 -27.8739 -25.7317 -24.5803 -24.1007 -23.9721 -23.9624 -23.9616 -23.7739 -23.8985 -24.0088 -23.8701 -23.6225 -23.7292 -23.7998 -23.7045 -23.7169 -23.8899 -23.752 -23.9033 -23.7389 -23.8163 -23.8025 -23.5814 -23.4773 -23.6117 -23.841 -24.1646 -24.4713 -24.6622 -24.7769 -25.0621 -25.5326 -26.3227 -28.276 -29.9921 -32.1933 -33.3491 -33.7901 -32.9427 -31.2008 -28.9724 -26.4365 -24.7047 -23.0847 -22.8224 -22.6377 -22.4679 -22.3265 -22.2226 -22.1529 -22.3701 -22.2492 -22.3678 -22.6258 -22.9326 -23.3665 -23.7692 -24.1187 -24.2238 -24.0056 -24.0687 -23.8805 -23.7976 -23.6921 -23.8746 -24.1807 -24.3218 -24.6799 -24.998 -25.002 -24.9705 -24.9051 -25.4043 -26.3277 -28.0071 -30.2406 -32.4936 -34.391 -35.0912 -34.6668 -33.0833 -30.752 -28.107 -25.9531 -24.6297 -24.0421 -24.0014 -24.0482 -24.3114 -24.4224 -24.6012 -24.8101 -24.7855 -25.244 -26.1222 -27.6014 -29.9666 -32.493 -34.1192 -34.8822 -34.1617 -32.4581 -29.7189 -26.8945 -24.6848 -23.157 -22.4309 -22.0533 -22.244 -22.679 -23.4885 -25.0215 -27.2897 -30.1989 -33.45 -36.5028 -38.8026 -40.6024 -41.3193 -40.6532 -38.0336 -35.3386 -32.2531 -29.2734 -26.4824 -24.4255 -23.0851 -22.3686 -21.7648 -21.4492 -21.2698 -21.003 -20.9806 -20.7669 -20.74 -20.7643 -20.8684 -20.805 -20.9974 -21.134 -21.4973 -21.6632 -22.1037 -22.5288 -23.3995 -23.9238 -24.5405 -24.8627 -24.9467 -24.8605 -24.3451 -24.0725 -23.6403 -23.3044 -22.809 -22.5716 -22.7203 -22.4564 -22.7009 -23.1153 -23.464 -23.8816 -24.369 -24.8303 -24.9947 -25.0161 -24.8783 -24.3964 -23.9253 -23.5933 -23.4416 -23.5865 -23.8886 -24.786 -25.3117 -26.0114 -26.9744 -27.3974 -27.8853 -28.0282 -27.7178 -27.8564 -27.5232 -27.2102 -27.1803 -27.2162 -27.3946 -27.8585 -28.7503 -30.2167 -31.4539 -32.7443 -33.5554 -34.2137 -34.3898 -34.1382 -33.7467 -33.1305 -32.7842 -32.8838 -32.7022 -32.9108 -33.1771 -34.0117 -35.2212 -36.9384 -40.1881 -43.424 -47.2261 -51.35 -54.7795 -58.4945 -61.4173 -63.6348 -65.1273 -66.2082 -66.5349 -66.293 -65.9319 -64.883 -63.6505 -62.1704", + "energy_timestep": "0.011609977324263039", + "breathiness": "-96.0 -96.0 -94.664 -90.6115 -86.1119 -81.608 -78.06 -75.2225 -72.7695 -70.9146 -69.7455 -68.5748 -67.022 -65.38 -63.3612 -61.5213 -59.9992 -58.6368 -57.7049 -56.8111 -56.3186 -55.6187 -54.9114 -54.1729 -53.4075 -52.7562 -51.951 -51.5151 -51.1574 -50.6906 -50.9266 -51.0095 -51.9604 -53.0865 -54.5869 -56.314 -58.4003 -60.1204 -61.6196 -62.8992 -63.6145 -64.2242 -63.9451 -62.0054 -58.8465 -55.2998 -51.0284 -46.9331 -44.0915 -43.3335 -44.1976 -45.9805 -48.0874 -50.1087 -52.0301 -53.7472 -55.1085 -56.6306 -58.4782 -60.1554 -61.7089 -62.8321 -63.258 -63.7473 -63.7901 -63.8413 -63.685 -63.2666 -62.6438 -61.925 -61.0572 -60.0642 -59.8534 -60.0206 -60.1903 -60.6665 -61.3821 -62.001 -62.8686 -63.6745 -64.395 -65.2832 -65.5144 -65.1292 -63.9092 -61.6588 -59.1777 -56.2836 -54.3815 -53.4852 -54.2612 -55.9791 -57.5451 -58.7244 -59.9077 -60.2381 -60.1739 -59.949 -59.6459 -59.3445 -59.0347 -58.9541 -58.8798 -58.889 -58.9406 -58.9858 -58.9341 -59.0738 -58.959 -59.0783 -58.9484 -58.9722 -59.0447 -58.7911 -58.9067 -59.1613 -59.4989 -59.5228 -59.4695 -59.1383 -58.694 -57.6329 -57.2209 -56.93 -56.9303 -56.9376 -57.0955 -57.0781 -57.0308 -56.6161 -56.3695 -55.7107 -55.5157 -54.9307 -54.8075 -54.5083 -54.5033 -54.8097 -55.1413 -55.9016 -56.8852 -58.1016 -58.418 -57.3649 -54.6712 -50.8625 -46.2378 -41.5739 -37.3999 -35.033 -34.7275 -36.3435 -39.0911 -42.9724 -46.856 -50.3878 -53.2836 -55.5174 -56.8612 -57.9177 -58.9125 -59.701 -60.3367 -60.8295 -61.1141 -61.0049 -61.093 -61.1636 -61.1676 -60.5151 -59.9994 -59.0573 -57.9951 -56.6705 -55.5652 -54.6237 -54.3148 -53.9958 -53.9588 -54.1504 -53.8708 -53.8653 -53.2723 -52.9373 -52.3912 -51.6863 -51.1429 -50.6709 -50.4323 -50.4159 -50.8051 -51.5718 -52.5034 -53.4255 -54.3546 -55.2464 -55.8878 -56.3575 -56.6741 -56.962 -56.8528 -56.8461 -56.6624 -56.4005 -56.2205 -56.1723 -56.2026 -56.0211 -55.8491 -55.2913 -54.2695 -53.1982 -52.0916 -51.5297 -51.3216 -51.7828 -52.7584 -53.8983 -54.8679 -55.5457 -55.8439 -55.6393 -55.0364 -54.2177 -53.64 -53.6068 -54.0372 -54.5197 -55.7336 -56.7536 -57.8269 -58.3419 -58.0966 -57.9237 -57.5658 -57.5581 -57.6614 -58.0408 -58.9098 -59.9255 -61.0294 -62.0386 -62.9242 -63.3572 -63.6458 -63.6366 -62.0022 -59.3501 -55.3415 -50.9048 -45.7123 -40.7633 -36.5504 -33.9414 -33.3111 -33.9408 -36.0294 -38.8315 -41.9045 -44.9949 -47.6294 -49.458 -50.6004 -51.0478 -51.2179 -51.2749 -51.1943 -51.3224 -51.0264 -50.551 -50.4939 -50.415 -50.6162 -51.1831 -51.8932 -52.8613 -53.6107 -53.8369 -54.0552 -53.6918 -53.6038 -53.314 -53.101 -53.1389 -53.4965 -53.8521 -54.408 -55.138 -55.7481 -56.4059 -56.761 -57.1221 -57.4509 -57.7469 -57.9404 -57.676 -57.1471 -56.2103 -55.1529 -53.7942 -52.6406 -51.7063 -51.0244 -51.0369 -51.0942 -51.1314 -51.5206 -51.591 -51.4113 -50.3633 -48.2109 -45.7272 -42.9279 -40.6669 -38.816 -38.2299 -38.4583 -39.8168 -41.9529 -44.1263 -46.5958 -49.291 -51.1897 -52.7925 -53.6564 -53.9163 -53.1027 -51.5075 -49.25 -46.515 -42.9754 -39.7184 -36.7622 -34.4484 -32.9649 -32.754 -33.4074 -35.5939 -38.9048 -42.7527 -46.712 -50.5942 -53.7296 -55.9706 -56.9204 -57.4693 -57.6675 -57.5763 -57.5568 -57.7989 -58.1262 -58.4184 -58.2207 -56.8616 -54.8838 -52.3922 -49.7758 -48.0868 -47.0641 -47.3457 -48.3514 -50.0607 -51.8077 -53.1441 -54.5473 -55.4991 -56.6795 -58.1046 -59.448 -60.7928 -62.2052 -63.2436 -63.9085 -63.7663 -63.3636 -62.7461 -61.5921 -60.3356 -59.1047 -58.0262 -56.841 -56.3627 -56.2442 -56.7867 -57.7885 -59.1591 -60.5874 -62.5662 -64.1509 -65.6273 -66.3489 -65.8345 -64.3637 -61.5414 -57.9439 -54.042 -50.659 -48.5663 -48.5214 -49.918 -53.1969 -56.7671 -60.0966 -62.9994 -65.3782 -66.3734 -66.5369 -66.1036 -65.195 -63.5132 -61.5025 -58.6022 -55.4174 -52.5222 -50.1053 -48.7042 -48.2539 -48.6901 -49.334 -50.3028 -50.9672 -51.6802 -52.5782 -53.3974 -54.3361 -55.4459 -56.415 -57.6104 -58.3516 -59.0837 -59.4013 -59.2791 -58.7189 -57.2895 -54.7374 -51.7971 -48.2418 -44.8749 -42.1855 -41.1176 -41.9688 -44.1527 -47.3562 -50.9007 -54.2403 -57.1689 -59.4756 -61.571 -63.395 -64.854 -66.0408 -66.497 -66.8443 -66.4901 -65.0522 -62.9321 -60.3552 -57.4833 -54.5043 -52.6772 -51.6526 -52.0836 -52.9908 -54.6075 -56.1236 -57.3717 -58.6228 -58.9893 -59.1812 -59.1938 -58.8008 -57.9728 -56.3924 -54.3 -51.8979 -49.48 -47.1718 -45.5361 -44.6207 -44.1191 -44.585 -45.7238 -47.5989 -49.7485 -52.1076 -54.6551 -56.5804 -57.716 -58.103 -58.0547 -58.3926 -58.2549 -58.1865 -58.3444 -58.4464 -58.3364 -58.333 -58.5567 -58.3716 -58.5613 -58.6475 -58.3034 -58.1895 -57.7638 -57.1631 -56.5534 -56.0275 -55.583 -55.3652 -55.3888 -55.2415 -55.413 -55.4606 -55.4994 -55.7239 -56.11 -56.5095 -56.842 -57.3266 -57.6017 -57.678 -57.4492 -57.2428 -56.9377 -56.8465 -56.524 -56.3913 -56.3928 -56.1603 -56.2293 -56.3555 -56.4319 -56.6139 -56.923 -57.6856 -58.8815 -59.836 -60.9072 -61.6772 -62.1527 -62.2264 -62.0848 -62.0033 -61.4319 -61.0476 -60.6156 -60.6366 -60.923 -62.0103 -63.5044 -65.001 -66.6217 -67.9789 -68.972 -69.4057 -69.481 -69.1867 -69.2485 -69.2134 -69.5424 -69.9232 -70.1819 -69.4534 -68.0052 -65.4334 -62.682 -59.9955 -58.0249 -57.5249 -58.5911 -60.1397 -62.5194 -64.1622 -66.064 -67.1456 -68.0017 -68.8107 -70.1569 -71.7804 -72.0111 -72.7575", + "breathiness_timestep": "0.011609977324263039" + }, + { + "offset": 48.476, + "text": "SP AP 醉 过 风 喝 过 茶 SP", + "ph_seq": "SP AP z ui g uo f eng h e g uo ch a SP", + "ph_dur": "0.097 0.4 0.075 0.193 0.045 0.163 0.075 1.353 0.075 0.193 0.045 0.164 0.075 0.714 0.143", + "ph_num": "1 2 2 2 2 2 2 1 1", + "note_seq": "rest rest B3 D4 E4 D4 E4 A3 rest", + "note_dur": "0.172 0.4 0.238 0.238 1.428 0.238 0.239 0.714 0.143", + "note_slur": "0 0 0 0 0 0 0 0 0", + "f0_seq": "264.3 264.5 264.9 264.7 264.0 263.9 263.8 263.7 263.6 263.5 263.3 263.1 263.0 262.2 262.1 262.2 262.4 262.1 261.7 262.1 262.0 262.3 262.0 261.7 261.7 261.9 261.1 261.5 262.0 261.6 261.1 260.9 260.5 261.4 260.8 261.2 260.6 260.8 260.6 260.1 260.0 259.3 259.5 259.0 259.2 258.4 258.0 257.5 257.0 256.2 256.3 249.7 247.1 246.4 246.6 246.3 245.2 245.1 245.4 245.6 246.0 247.3 243.9 239.3 231.1 245.7 260.2 275.7 291.2 304.0 297.8 297.4 298.9 298.5 298.4 297.2 296.5 295.2 295.6 295.6 294.3 289.0 279.3 267.0 274.0 282.6 292.0 301.6 312.2 324.2 339.4 336.1 333.4 334.2 334.2 332.0 328.0 324.5 319.7 315.9 314.4 314.7 317.2 321.6 325.4 327.3 330.2 331.7 330.8 329.7 329.1 328.4 328.3 329.2 329.6 328.7 330.1 331.6 332.2 333.0 333.6 334.5 334.3 332.1 330.4 327.9 324.5 322.1 320.6 322.3 326.4 331.0 337.2 342.4 346.1 347.6 347.5 347.1 343.7 338.2 331.5 325.8 321.6 320.6 321.8 324.2 328.4 332.9 339.7 345.6 349.6 351.9 351.6 349.0 344.6 340.2 334.1 327.5 321.6 318.3 317.5 320.0 325.5 332.6 339.8 346.2 351.4 354.0 354.5 351.7 347.2 341.6 335.7 328.4 324.3 320.1 318.3 319.1 321.8 326.3 331.3 337.1 341.9 344.8 345.4 344.6 341.9 337.4 334.4 329.5 322.5 320.2 321.1 322.5 328.0 329.3 329.4 331.9 335.2 338.4 341.4 339.9 334.5 324.0 313.3 305.5 300.9 298.5 296.5 294.6 292.8 291.2 289.4 290.6 290.1 290.6 291.0 292.3 293.2 293.5 292.9 292.0 291.1 291.2 292.3 293.4 291.2 285.6 272.9 285.6 301.5 316.1 331.3 344.5 338.7 336.1 335.5 336.0 334.4 334.7 334.3 333.5 331.3 327.3 321.6 311.6 291.5 277.8 265.5 253.1 242.4 231.8 221.1 210.4 204.5 204.3 210.1 215.8 221.1 225.5 225.7 224.9 223.2 218.2 212.5 207.4 203.3 202.3 206.8 214.3 222.9 229.8 233.1 235.4 234.9 233.3 226.2 220.1 211.8 206.6 205.5 207.7 212.8 216.2 220.5 223.8 226.4 225.8 223.8 220.7 216.1 212.6 214.2 218.0 223.0 228.1 231.9 232.4 232.2 230.3 226.4 221.5 215.1 210.1 207.2 206.3 209.0 213.2 218.4 225.3 231.9 236.5 235.8 233.6 228.6 219.3 211.6 204.8 201.5 199.3 198.5 198.7 199.5 200.1 200.0 200.6 201.4 201.6 203.4", + "f0_timestep": "0.011609977324263039", + "energy": "-76.4405 -76.5256 -74.4063 -73.0861 -71.7266 -70.4336 -68.8047 -66.8576 -65.0031 -62.4978 -60.3319 -58.4413 -56.4821 -55.1429 -53.416 -52.6508 -51.3696 -50.4501 -49.7025 -49.1096 -48.7279 -48.3942 -48.0149 -47.6001 -47.3578 -47.0648 -46.921 -46.9005 -46.5417 -46.8413 -47.1645 -47.7262 -48.7419 -50.0175 -51.9117 -53.7846 -55.6816 -57.1533 -58.1447 -57.8667 -56.022 -52.8884 -49.5469 -45.6288 -42.0286 -38.733 -35.5938 -32.8131 -29.899 -27.2258 -24.9457 -22.8488 -21.5842 -20.9296 -20.5896 -20.3093 -20.5122 -20.4533 -20.7249 -21.029 -21.8342 -23.1986 -25.5178 -28.6544 -30.84 -32.2506 -32.1546 -31.0378 -28.718 -25.7735 -23.1896 -21.3225 -20.2067 -19.744 -19.6112 -19.4866 -19.7968 -20.2124 -20.9382 -21.8635 -23.6913 -26.1659 -29.6741 -33.6239 -37.5591 -40.6632 -41.9958 -41.2128 -38.3191 -34.0838 -29.43 -25.1919 -22.1895 -20.3476 -19.4537 -18.9404 -18.7284 -18.3615 -18.534 -18.4151 -18.7538 -18.7528 -18.8681 -18.8964 -18.875 -18.7962 -18.7293 -18.4264 -18.4169 -18.1771 -17.8407 -17.771 -17.1816 -17.138 -16.8438 -16.6908 -16.4734 -16.2236 -16.0025 -15.7953 -15.6082 -15.3419 -15.0501 -15.107 -15.0768 -15.1229 -15.1594 -15.1789 -15.6046 -15.6469 -15.7773 -15.7358 -15.8323 -15.8902 -15.8832 -15.9121 -15.8263 -15.5001 -15.2982 -15.1784 -14.9968 -15.3575 -15.4906 -15.8244 -16.1773 -16.3759 -16.4925 -16.5525 -16.57 -16.685 -16.6792 -16.4111 -16.3307 -16.203 -15.9121 -15.5885 -15.9907 -16.0279 -16.1809 -16.8088 -17.428 -18.0712 -18.6349 -19.3269 -19.8313 -20.2442 -20.342 -20.6269 -20.7683 -20.813 -20.6706 -20.6888 -20.5447 -20.77 -20.6588 -20.8722 -21.3856 -22.0458 -22.8093 -23.5017 -24.158 -24.4992 -24.8046 -24.9057 -24.9676 -24.9614 -25.0835 -25.2507 -25.4364 -25.3639 -25.7704 -25.9107 -26.0438 -26.2896 -26.6413 -26.3642 -26.1989 -26.083 -25.806 -25.5567 -25.506 -26.1169 -27.1576 -28.8174 -31.0746 -33.6041 -36.1308 -38.4585 -39.7732 -39.6419 -38.1632 -35.7226 -32.646 -29.3845 -26.37 -24.1679 -22.651 -21.5751 -21.3026 -20.9786 -20.8505 -20.5992 -21.0919 -21.762 -22.9664 -25.181 -28.3728 -31.737 -34.8002 -36.6882 -37.7586 -36.5154 -33.9826 -31.0163 -27.9144 -25.5578 -24.171 -23.5642 -23.2288 -23.157 -23.3992 -23.7664 -24.2189 -25.1165 -26.4348 -28.6804 -31.2608 -33.7187 -35.8408 -37.3441 -37.5171 -36.5434 -34.3014 -31.7797 -29.1178 -26.7967 -24.9069 -23.646 -23.017 -22.5876 -22.6563 -22.6626 -23.0877 -23.6638 -24.2115 -24.7434 -25.0899 -25.6148 -25.632 -25.6691 -25.7574 -25.381 -25.2765 -25.2767 -25.3197 -25.2748 -25.4742 -25.5585 -25.9985 -25.8981 -25.8719 -25.9449 -26.0143 -26.0321 -25.8932 -26.0579 -26.1915 -26.1564 -26.3679 -26.577 -26.9752 -27.4948 -27.881 -27.9481 -28.4366 -28.4589 -28.5309 -28.6973 -28.596 -29.0544 -29.181 -29.6401 -29.9382 -30.4214 -31.0857 -31.7785 -32.0898 -32.5015 -32.5936 -32.594 -32.7337 -32.8577 -33.0031 -33.3105 -34.1025 -35.7497 -38.216 -41.9699 -46.2206 -51.2796 -56.6667 -61.8138 -66.0404 -69.0089 -70.4879 -70.3407 -68.9001 -66.1306 -63.4367", + "energy_timestep": "0.011609977324263039", + "breathiness": "-82.6794 -81.3932 -79.5872 -77.2479 -74.999 -72.7115 -70.4778 -68.0253 -65.301 -62.8872 -60.5212 -58.7632 -56.9795 -55.7419 -54.1813 -53.0376 -51.8816 -50.692 -49.6188 -48.8492 -48.3782 -47.7947 -47.464 -47.2357 -47.031 -47.05 -46.8519 -46.7099 -46.5789 -46.6912 -47.0309 -47.7321 -48.6754 -49.8295 -51.42 -53.1469 -55.3033 -57.6478 -59.4143 -59.9541 -58.8824 -56.4233 -52.691 -48.3614 -43.6952 -39.582 -36.8705 -35.8454 -35.8647 -37.9792 -40.6744 -43.8962 -47.137 -50.0525 -52.5332 -53.7571 -54.4443 -54.8157 -54.9843 -55.1905 -55.1522 -54.4494 -53.2425 -51.6317 -49.7332 -47.9423 -47.0442 -47.5724 -49.2703 -51.4559 -53.6594 -56.0994 -57.4231 -58.2485 -58.5072 -58.2951 -58.0817 -58.1315 -57.8181 -57.7348 -56.5587 -55.5466 -53.7977 -51.8195 -49.9153 -48.6078 -47.9131 -48.1563 -48.6517 -49.8086 -50.9628 -52.226 -53.043 -53.8352 -53.922 -53.9862 -53.6194 -53.4517 -54.047 -54.7926 -55.3957 -56.1459 -56.4925 -56.6269 -56.4866 -56.2119 -55.8178 -55.4264 -54.8841 -54.2847 -53.6721 -52.9745 -52.0457 -51.837 -51.3397 -51.1415 -51.291 -51.2767 -51.7718 -51.7734 -51.9769 -52.0692 -51.9028 -51.6476 -51.0971 -50.6421 -49.9081 -49.3411 -48.7255 -48.5488 -48.6024 -48.7947 -49.257 -49.8721 -50.4618 -50.9038 -51.0381 -51.1331 -50.8946 -50.5674 -49.8678 -49.3185 -48.7976 -48.4963 -48.8374 -49.5093 -49.9702 -50.6221 -51.0701 -51.3051 -51.5658 -51.2179 -51.2402 -51.2268 -51.0592 -51.1234 -50.8241 -50.9558 -50.9847 -51.4612 -52.2289 -52.987 -53.5997 -54.3009 -54.6202 -54.9032 -55.0511 -55.1946 -55.4575 -55.8394 -56.5377 -57.0416 -57.6493 -58.2927 -59.2377 -60.038 -60.706 -61.5122 -61.9356 -62.1903 -62.5744 -63.1633 -63.6203 -64.2993 -64.8893 -65.5839 -66.301 -66.9165 -67.5433 -68.2718 -68.9093 -69.5008 -69.6333 -69.6146 -68.974 -68.293 -67.2822 -66.2036 -65.0086 -64.1864 -63.3013 -62.0678 -59.9737 -57.295 -53.732 -49.9632 -46.361 -43.5196 -41.6529 -40.7855 -41.9491 -43.9733 -46.6231 -49.2735 -51.8548 -53.9148 -55.1521 -55.8149 -56.0464 -55.8997 -56.2971 -56.8227 -57.6133 -58.7356 -59.6316 -60.2414 -60.027 -58.9242 -56.94 -54.7419 -52.9615 -52.3947 -52.8349 -53.9833 -55.6802 -57.1392 -58.3314 -58.9875 -59.385 -59.4335 -59.4161 -59.2171 -58.7097 -57.3989 -55.5509 -52.9824 -49.8744 -46.7235 -44.0987 -42.1042 -41.0795 -41.1725 -42.4083 -44.1122 -46.2411 -48.2822 -50.0437 -51.0636 -51.6801 -51.5996 -51.7844 -51.7621 -52.1494 -52.658 -53.3676 -54.0201 -54.9237 -55.5268 -56.1008 -56.4458 -56.4479 -56.5898 -56.5601 -56.6007 -56.7653 -56.583 -56.5823 -56.6731 -56.9154 -57.1257 -57.1895 -57.1952 -57.2144 -57.2554 -57.6497 -58.0576 -58.165 -58.3493 -58.1897 -58.3203 -58.307 -58.1411 -58.3786 -58.6471 -59.1249 -60.0548 -60.7366 -61.3529 -61.8056 -61.9185 -62.1243 -62.1445 -62.317 -62.7353 -63.8108 -64.8773 -66.0074 -67.2416 -68.0264 -68.481 -68.7919 -68.9506 -68.1169 -66.8684 -64.9836 -62.7892 -60.381 -58.6474 -58.459 -59.5009 -62.1133 -65.1365 -68.2519 -71.1523 -73.1946 -74.2246 -74.4311 -73.9377 -74.6396", + "breathiness_timestep": "0.011609977324263039" + }, + { + "offset": 52.239, + "text": "AP 寻 常 巷 口 寻 个 酒 家 SP", + "ph_seq": "AP x vn ch ang x iang k ou x vn g e j iu j ia SP", + "ph_dur": "0.275 0.105 0.178 0.06 0.163 0.075 0.193 0.045 0.595 0.12 0.193 0.045 0.401 0.075 0.163 0.075 0.952 0.095", + "ph_num": "2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest B3 A3 B3 D4 B3 A3 B3 G3 rest", + "note_dur": "0.38 0.238 0.238 0.238 0.715 0.238 0.476 0.238 0.952 0.095", + "note_slur": "0 0 0 0 0 0 0 0 0 0", + "f0_seq": "196.8 197.5 197.4 197.9 197.2 197.3 197.2 197.1 196.7 196.6 196.4 196.4 196.2 195.9 195.9 196.1 196.1 196.3 196.6 197.0 196.6 196.5 196.2 196.6 196.9 196.8 196.8 196.6 196.4 196.5 195.9 196.1 195.7 195.8 193.3 192.3 194.9 201.7 211.9 224.0 234.0 242.5 248.6 249.7 247.7 244.4 240.8 234.4 225.1 219.5 220.8 220.5 222.6 226.9 223.0 219.4 218.5 217.8 218.9 219.1 219.3 219.2 219.4 219.8 218.7 217.6 218.8 216.2 212.5 221.4 228.1 236.0 243.7 251.0 254.8 249.3 246.1 245.1 245.5 245.2 244.4 244.7 245.7 246.5 248.0 250.2 250.5 249.4 244.7 238.0 235.8 244.1 255.4 267.4 281.9 288.7 291.3 294.3 295.2 296.7 293.9 291.1 288.0 285.2 280.5 277.1 275.0 274.7 275.6 278.2 280.8 286.4 290.1 293.8 295.0 295.3 294.4 292.7 289.5 286.5 285.2 284.3 284.9 285.9 290.1 294.2 298.3 302.8 305.9 304.7 301.5 295.9 290.5 284.0 280.7 279.5 282.8 287.0 292.8 298.7 304.8 309.0 308.2 305.8 300.7 296.4 296.7 293.7 292.3 293.1 293.9 294.2 294.5 294.6 293.1 283.6 267.8 255.0 251.9 248.4 248.1 247.3 246.6 246.8 246.0 246.3 245.4 246.1 245.2 242.8 235.7 228.6 222.6 217.2 213.8 212.0 216.5 215.4 218.4 220.6 222.4 222.8 222.5 221.3 220.9 219.7 220.3 221.6 221.3 220.7 220.6 220.6 221.3 221.0 219.9 219.5 219.7 218.6 219.4 220.4 220.1 220.2 220.7 220.5 219.6 218.4 218.5 220.1 221.4 219.1 205.4 208.1 216.8 224.2 231.9 240.8 250.2 261.7 253.3 252.8 251.5 252.4 250.5 248.1 246.7 247.6 247.5 247.3 246.3 241.6 230.4 227.6 222.7 218.1 213.1 207.9 204.1 198.3 192.7 192.4 196.2 198.7 200.5 200.9 200.3 198.4 194.9 191.0 188.0 186.3 185.5 188.3 192.7 199.1 204.3 207.5 207.3 207.1 205.4 200.7 196.0 190.5 185.6 184.8 185.6 190.4 195.2 200.1 205.7 209.3 210.2 210.3 206.6 200.7 192.1 185.3 182.7 181.6 183.6 187.7 193.7 198.7 204.1 207.8 208.3 207.1 203.6 196.8 188.5 182.1 179.0 178.6 181.5 186.2 190.6 196.6 203.1 207.3 209.9 211.0 208.6 202.6 194.8 187.0 182.9 180.9 181.3 182.7 186.9 191.8 198.1 203.3 205.0 205.7 206.6 206.6 205.1 201.3 198.8 196.9 195.1 192.7 189.3 187.0 186.3 183.9 182.6 182.1", + "f0_timestep": "0.011609977324263039", + "energy": "-60.0683 -57.6949 -55.3042 -51.9782 -49.7139 -48.0388 -46.3777 -45.4232 -44.8352 -44.3521 -44.0329 -43.9521 -44.2622 -44.6129 -45.2272 -46.4559 -48.1796 -50.1593 -52.2321 -54.1932 -55.1554 -54.6364 -52.5926 -49.4155 -45.6809 -42.0208 -39.2642 -37.2285 -35.4448 -33.5056 -31.5576 -29.1449 -26.5471 -24.3391 -22.6286 -21.86 -21.391 -21.5744 -21.7903 -21.9292 -21.7714 -21.6841 -21.4486 -21.1163 -21.156 -21.5952 -22.9419 -24.5299 -26.4047 -27.6914 -28.1322 -28.0894 -27.0306 -25.297 -23.6966 -22.2553 -21.4869 -21.3013 -21.2453 -21.3647 -21.3302 -21.3613 -21.5408 -21.7208 -22.1542 -22.7901 -24.1193 -25.6945 -27.4102 -28.868 -29.6409 -29.2189 -28.1575 -26.3354 -24.4197 -22.7402 -21.5841 -20.9593 -20.6636 -20.8037 -21.1731 -21.0748 -21.2227 -21.426 -21.4867 -21.8948 -22.6005 -23.9673 -25.6852 -28.1136 -29.977 -31.2885 -31.1673 -30.3658 -28.3736 -26.0316 -23.8805 -21.8685 -20.7084 -20.2422 -19.4498 -19.3106 -19.5782 -19.5176 -19.4708 -19.5483 -19.6501 -19.3479 -19.5164 -19.3193 -19.1494 -18.9276 -18.7716 -18.5497 -18.7428 -18.7376 -18.7709 -19.1425 -19.2529 -19.5874 -19.9308 -19.6432 -19.7468 -19.5046 -19.4483 -19.2537 -18.953 -18.7447 -18.9113 -18.9788 -19.1203 -19.3777 -19.4919 -20.0285 -20.222 -20.5213 -20.6438 -21.0315 -20.5538 -20.6317 -20.5636 -20.566 -21.1339 -21.7849 -22.8781 -24.7809 -27.0796 -29.3079 -31.6935 -33.6747 -34.8059 -34.8367 -33.4334 -31.1325 -28.6026 -25.8842 -23.5631 -21.7119 -20.6129 -20.1827 -20.1978 -20.3469 -20.1151 -20.2191 -20.0863 -20.1368 -20.3329 -20.4813 -20.8417 -21.5941 -22.9013 -24.2627 -24.9509 -25.5635 -25.0058 -24.436 -23.3506 -22.2412 -21.2013 -20.7182 -20.47 -20.0844 -20.3486 -20.3504 -20.3866 -20.3759 -20.4138 -20.3706 -20.3249 -20.2085 -20.357 -20.2525 -20.1964 -20.2076 -20.2152 -20.1716 -20.1509 -20.2261 -20.2149 -20.2242 -20.1483 -20.1886 -20.3318 -20.3683 -20.4892 -20.515 -20.7776 -21.6992 -22.7407 -25.0726 -27.1637 -29.2469 -30.7798 -31.3577 -30.8404 -29.4471 -27.242 -25.0873 -23.2613 -21.751 -20.7985 -20.3566 -20.2015 -20.3965 -20.2588 -20.5032 -20.8749 -21.3561 -22.5047 -24.0471 -26.227 -28.5532 -30.4736 -31.5163 -31.5591 -30.3673 -28.7043 -26.4517 -24.4561 -22.9613 -22.2154 -21.9512 -21.5189 -21.2793 -21.5045 -21.3151 -21.3299 -21.719 -22.0988 -22.2049 -22.6093 -22.479 -22.4573 -22.4707 -22.372 -22.3748 -21.9771 -21.8725 -22.0122 -22.3988 -22.7029 -23.46 -24.0024 -24.5991 -25.0398 -25.2278 -25.3089 -25.266 -25.2554 -24.9303 -24.8949 -24.5538 -24.6262 -24.9322 -25.2425 -25.6615 -26.2044 -26.719 -27.0872 -27.4257 -27.2567 -27.2186 -27.1986 -27.1962 -27.2337 -27.4923 -27.7144 -27.9404 -28.404 -28.6977 -28.9751 -29.4861 -29.731 -29.9905 -30.2042 -30.3648 -30.3856 -30.909 -30.9995 -31.2736 -31.7474 -32.2985 -32.8718 -33.479 -34.3521 -34.977 -35.5617 -36.1919 -36.5214 -36.3271 -36.1949 -35.7851 -35.5429 -35.451 -35.743 -36.367 -37.5461 -39.8982 -43.1233 -47.3119 -51.6217 -55.4911 -58.5283 -60.015 -60.2387 -58.1204 -55.3067 -52.3269", + "energy_timestep": "0.011609977324263039", + "breathiness": "-60.8752 -59.1407 -55.0369 -52.2111 -49.4973 -47.4628 -45.8913 -44.4749 -43.5553 -42.731 -42.3994 -42.6083 -43.1632 -44.1372 -45.2398 -46.3536 -48.003 -49.8528 -52.2689 -54.4952 -55.5197 -55.145 -53.1517 -49.9893 -46.1224 -41.8823 -38.7654 -36.9003 -36.611 -37.2889 -38.7037 -40.7649 -43.3971 -46.0233 -48.632 -51.2114 -53.287 -55.2771 -57.0216 -58.5086 -60.1325 -61.5397 -62.533 -62.309 -60.6549 -57.4444 -53.7257 -48.9714 -44.4135 -40.6654 -38.7018 -39.1639 -41.0666 -43.7468 -46.5081 -49.0807 -50.8494 -52.4234 -52.8809 -53.1421 -53.1677 -53.2043 -53.3362 -52.5726 -51.1033 -48.6475 -45.7078 -42.6438 -39.3131 -36.9181 -35.6577 -35.8617 -37.2705 -39.6626 -42.5757 -45.8694 -49.2753 -51.9319 -54.1394 -55.8223 -56.8787 -57.6799 -58.5556 -59.239 -59.9471 -60.1957 -59.0537 -56.7436 -53.2729 -49.569 -45.5083 -42.1955 -39.9126 -39.771 -41.1168 -43.2845 -46.3639 -48.9539 -51.3978 -53.2241 -54.3758 -54.9663 -55.6342 -56.3967 -56.7313 -56.9322 -56.7382 -56.2754 -55.9399 -55.6201 -55.4452 -55.5685 -55.9473 -56.1245 -56.2927 -56.2497 -55.9464 -55.5848 -55.5387 -55.6671 -55.6884 -56.0987 -56.4084 -56.576 -56.529 -56.2292 -56.1096 -55.9926 -55.9561 -56.2694 -56.4516 -56.9168 -57.3254 -58.004 -58.5368 -59.2354 -59.8608 -60.4331 -60.9971 -61.0203 -60.9402 -60.4592 -59.2432 -56.9695 -53.8716 -50.3812 -46.2867 -42.5003 -39.5312 -37.4086 -36.3759 -36.4801 -37.3248 -38.9386 -41.5065 -44.5467 -48.1719 -51.5679 -55.0922 -57.6765 -59.7752 -60.8585 -61.4693 -61.8477 -61.6254 -61.1161 -60.8405 -60.3904 -60.2431 -59.9514 -59.6996 -59.2515 -58.3929 -57.8326 -56.5831 -55.7315 -55.3544 -55.1598 -55.423 -55.8908 -56.3169 -56.7391 -57.0277 -56.7712 -56.4992 -55.7088 -55.3045 -54.7671 -54.2336 -54.0773 -53.7686 -53.9686 -53.9733 -54.1698 -54.3736 -54.8144 -55.5021 -55.7783 -56.0545 -56.0026 -55.943 -55.5235 -55.1519 -54.8755 -54.7499 -54.5629 -53.7781 -52.749 -50.5573 -47.6995 -44.3151 -40.6912 -37.7056 -35.2194 -34.0899 -34.4839 -36.4695 -39.5766 -43.4868 -47.8552 -51.7543 -54.9808 -57.1826 -58.4729 -59.0294 -58.3995 -56.4226 -53.2217 -49.2796 -45.232 -41.2689 -38.5543 -37.0663 -36.9064 -37.7468 -39.4289 -41.617 -44.4458 -46.8532 -49.0016 -50.5217 -51.4549 -51.6844 -51.4991 -51.3315 -51.1953 -51.4241 -51.4523 -51.6802 -52.0541 -52.0986 -52.3941 -52.6184 -52.9163 -53.0145 -53.3195 -53.114 -52.668 -52.3866 -51.9886 -51.8984 -51.8961 -52.185 -52.6799 -52.9914 -53.535 -53.9614 -54.4868 -54.6617 -55.1358 -55.1736 -55.3119 -55.2794 -55.1266 -55.1989 -55.4881 -55.5791 -55.9448 -56.4149 -56.5837 -57.0853 -57.4679 -58.0667 -58.6417 -59.2008 -59.5947 -59.5942 -59.8477 -60.1239 -60.4889 -61.1059 -61.8206 -62.6826 -63.7095 -64.6905 -65.3025 -65.5994 -65.8222 -65.7667 -65.5952 -65.3867 -65.7641 -66.4118 -67.3691 -68.8002 -69.9625 -70.857 -71.8714 -72.2643 -72.7594 -72.52 -72.2536 -71.9872 -71.7399 -70.8272 -69.4365 -67.8269 -65.6946 -63.8673 -62.3261 -61.0939 -61.2484 -62.3816 -63.4175 -64.582 -65.2483 -65.164 -64.8688", + "breathiness_timestep": "0.011609977324263039" + }, + { + "offset": 56.048, + "text": "AP 在 座 皆 算 老 友 SP", + "ph_seq": "AP z ai z uo j ie s uan l ao y ou SP", + "ph_dur": "0.321 0.06 0.178 0.06 0.178 0.06 0.163 0.075 0.416 0.06 0.163 0.075 1.429 0.095", + "ph_num": "2 2 2 2 2 2 1 1", + "note_seq": "rest G3 E3 G3 A3 B3 A3 rest", + "note_dur": "0.381 0.238 0.238 0.238 0.476 0.238 1.429 0.095", + "note_slur": "0 0 0 0 0 0 0 0", + "f0_seq": "178.2 177.9 178.0 178.1 177.7 178.1 178.2 178.5 178.3 178.1 178.0 178.1 177.8 178.0 178.0 177.9 178.0 178.2 178.4 178.4 178.5 178.7 178.4 178.9 179.4 179.6 180.0 180.8 181.8 182.7 184.8 186.9 190.3 190.7 189.2 187.4 186.0 184.6 183.0 185.7 188.4 192.3 197.1 199.1 198.8 195.7 190.7 180.3 171.2 168.3 166.3 165.9 164.6 164.9 164.9 165.0 165.0 165.0 165.8 165.7 166.3 166.6 166.7 166.7 166.1 163.9 158.9 153.6 157.1 163.4 169.3 176.4 183.4 190.8 199.3 197.2 196.1 196.0 196.4 196.2 196.1 195.9 195.8 196.2 196.5 195.4 193.9 194.0 197.1 203.7 209.2 214.6 220.1 226.4 231.8 229.9 226.2 227.6 226.9 225.1 221.8 216.0 210.3 207.0 205.5 206.0 211.0 217.9 224.5 229.5 228.7 226.0 220.9 211.8 205.3 201.4 199.8 202.0 206.0 210.7 214.6 221.5 225.7 231.0 231.4 231.9 230.2 227.4 224.2 224.9 224.8 227.0 232.1 238.1 242.2 247.1 250.0 248.7 247.7 247.5 246.6 245.9 246.2 246.3 247.2 248.2 248.2 248.9 246.1 241.7 234.7 225.6 216.1 208.6 208.3 210.6 213.7 213.7 216.7 218.9 219.3 218.4 217.0 214.2 211.7 208.5 206.4 205.4 207.2 211.9 218.6 224.8 228.6 229.6 228.1 224.6 220.6 213.9 209.7 209.2 210.8 214.8 221.5 225.3 226.9 227.5 225.7 223.1 219.2 215.9 212.6 211.1 211.3 211.5 215.2 221.4 226.5 229.4 230.9 231.1 229.0 225.3 221.7 217.1 213.7 211.1 210.3 211.9 215.4 219.6 223.9 227.3 229.3 231.5 231.0 229.3 225.6 221.0 216.6 214.2 211.5 210.8 212.2 215.0 218.5 220.8 224.4 227.3 230.1 230.8 230.0 227.6 223.4 219.6 216.2 213.1 211.3 211.3 213.2 216.2 220.5 224.9 228.1 230.5 231.5 230.0 227.5 223.4 219.1 214.2 211.1 209.6 210.3 214.9 219.2 223.0 227.7 229.4 229.8 229.4 226.3 222.8 219.6 213.6 208.7 206.2 205.8 210.5 216.9 224.1 226.0 229.7 229.2 228.4 228.5 228.2 227.2 225.9 223.7 220.2 216.9 216.8 217.0 215.8 215.1 215.4 213.8 213.8", + "f0_timestep": "0.011609977324263039", + "energy": "-64.9498 -61.0856 -58.4382 -55.7203 -52.9628 -51.0196 -48.8767 -46.9911 -45.7665 -44.4903 -43.499 -42.8414 -42.7891 -42.776 -43.0174 -43.5147 -44.378 -45.6248 -47.1324 -49.2573 -51.0767 -53.1493 -54.2141 -54.4525 -53.2617 -51.3746 -48.832 -45.6852 -42.2987 -38.8279 -35.4679 -31.9468 -28.8521 -26.3618 -24.4885 -23.378 -22.7888 -22.8512 -22.9026 -23.0111 -22.9413 -22.9756 -23.1649 -23.7172 -24.645 -26.1427 -28.2047 -30.2065 -31.7897 -32.5812 -31.6836 -30.5395 -28.6406 -26.4029 -24.6446 -23.2655 -22.3812 -22.1155 -21.9826 -21.8669 -22.3161 -22.6065 -23.2768 -24.6195 -26.5305 -29.2725 -32.4238 -35.1128 -37.1192 -37.4422 -36.4477 -34.035 -30.9169 -27.7906 -25.074 -22.9636 -22.0308 -21.5162 -21.6308 -21.6173 -21.801 -21.8451 -22.2507 -22.6425 -23.4862 -24.7473 -26.453 -28.1196 -29.6082 -30.8477 -31.0724 -30.6262 -29.1785 -27.3305 -25.2393 -23.9481 -22.631 -22.28 -22.1442 -22.4106 -22.8242 -23.2341 -23.5393 -24.1029 -24.3435 -24.7011 -24.8619 -24.9144 -24.9425 -24.7611 -24.8479 -25.3057 -25.4593 -25.9287 -26.2579 -26.7506 -27.1597 -27.4858 -27.7301 -27.8896 -27.6377 -27.7664 -27.5531 -27.3844 -27.423 -27.2174 -27.1536 -27.2891 -27.5053 -27.2864 -27.1186 -26.6457 -26.1762 -24.9736 -24.0993 -22.7744 -21.8675 -20.9804 -20.3499 -20.122 -19.9444 -19.893 -19.7488 -19.8216 -19.8828 -19.9123 -20.1418 -20.3695 -20.478 -20.9134 -20.9997 -21.0984 -21.1243 -20.964 -20.982 -20.8195 -20.4824 -20.336 -20.1905 -20.2385 -20.1796 -20.0852 -20.2696 -20.3489 -20.7308 -20.8559 -21.1135 -21.2042 -21.392 -21.336 -21.0548 -20.8824 -20.7034 -20.6279 -20.2495 -20.2725 -20.5729 -20.7068 -21.0201 -21.327 -21.2293 -21.3712 -21.3739 -21.1715 -20.9684 -20.7312 -20.6801 -20.3698 -20.3848 -20.4559 -20.5696 -20.6266 -20.7899 -20.7293 -20.7316 -20.7859 -20.5684 -20.4687 -20.3839 -20.208 -20.2863 -20.314 -20.6351 -20.6877 -21.253 -21.6714 -22.0123 -22.4235 -22.6976 -22.8142 -22.7359 -22.7133 -22.6347 -22.6548 -22.4438 -22.5732 -22.6738 -22.8129 -22.9746 -23.5537 -23.6156 -23.8136 -23.9102 -23.8575 -23.7481 -23.6873 -23.5543 -23.3242 -23.3744 -23.4073 -23.2935 -23.4168 -23.5119 -23.783 -24.0192 -24.4601 -24.6565 -25.1032 -25.4145 -25.5766 -25.5532 -25.494 -25.3813 -25.0941 -24.7748 -24.749 -24.7262 -24.7689 -25.0273 -25.98 -26.5742 -27.6146 -28.4482 -28.9295 -29.303 -29.4375 -29.2736 -29.1515 -29.0494 -28.9301 -29.0395 -29.3113 -30.0077 -30.4868 -31.0892 -32.0811 -32.73 -33.266 -33.5359 -33.7349 -33.6575 -33.277 -32.9205 -32.7392 -32.9455 -33.4078 -34.0991 -35.821 -38.7057 -42.8939 -47.8543 -52.825 -57.2251 -60.4964 -62.0808 -61.557 -60.0239 -56.1395", + "energy_timestep": "0.011609977324263039", + "breathiness": "-67.8952 -63.2037 -58.9702 -55.874 -52.7344 -50.1791 -47.6635 -45.8418 -44.3407 -43.1926 -42.3234 -42.0945 -42.3678 -42.7055 -43.1856 -43.4004 -44.0144 -44.9617 -46.4633 -48.228 -50.8229 -53.5067 -55.5883 -56.7852 -56.4353 -54.9357 -52.2606 -48.4354 -44.4213 -40.7192 -38.5396 -37.6412 -38.3126 -40.1649 -42.7984 -45.5553 -48.3751 -50.6723 -52.2224 -53.1389 -53.4239 -53.5802 -53.9313 -54.4237 -55.0007 -55.0799 -53.7696 -51.3895 -47.8801 -43.3003 -38.5473 -34.5655 -32.6968 -33.9171 -37.1956 -42.2273 -47.2208 -51.7685 -55.1762 -57.1833 -57.1932 -56.8803 -56.413 -55.6219 -54.6897 -53.2537 -51.1689 -48.7833 -46.1019 -43.3215 -41.5261 -40.5776 -41.0098 -42.674 -45.0948 -47.7112 -49.9252 -51.8071 -53.0552 -53.4726 -53.4923 -52.7489 -51.8417 -49.8243 -47.1646 -44.229 -40.9404 -37.9775 -35.5007 -33.9426 -33.6556 -34.3185 -35.9654 -38.4904 -41.4227 -44.6402 -47.6346 -50.1304 -51.872 -53.0747 -53.1078 -53.2517 -53.4921 -53.676 -53.7235 -54.3233 -54.5492 -54.8855 -55.1524 -55.8301 -56.3729 -57.444 -58.7344 -60.2027 -62.048 -63.8582 -65.4486 -67.0274 -68.167 -69.0565 -69.5804 -69.6658 -69.4383 -69.0004 -68.4288 -67.7387 -66.9742 -66.124 -64.9481 -63.6229 -62.231 -60.5749 -58.9207 -57.129 -55.7699 -54.2148 -53.3623 -52.68 -52.7721 -52.95 -53.3785 -53.9231 -54.5238 -55.0185 -55.509 -56.0273 -56.4342 -56.5359 -56.7662 -56.6588 -56.3631 -56.1134 -55.6346 -55.034 -54.3393 -53.8136 -53.3766 -53.3423 -53.1659 -53.1706 -53.1819 -53.17 -53.0776 -53.4771 -53.5854 -53.9513 -54.3424 -54.1165 -53.5936 -52.8302 -52.0074 -51.5702 -51.0777 -51.0243 -50.8774 -51.5505 -52.2943 -52.8028 -53.5051 -54.2628 -54.7814 -55.2389 -55.5545 -55.7189 -55.6484 -55.4368 -55.0073 -54.6258 -54.3227 -54.2607 -54.6718 -54.8983 -55.8879 -56.3931 -56.8029 -57.0188 -57.0009 -56.9097 -56.862 -56.6015 -56.4184 -56.2674 -56.0085 -56.1922 -56.4234 -57.1096 -57.4295 -58.1544 -58.6728 -58.9054 -59.0506 -58.7994 -58.4892 -57.9117 -57.4787 -57.1194 -56.8174 -56.8799 -57.2354 -57.6388 -58.1042 -58.5176 -58.3829 -58.3509 -58.0187 -57.8538 -57.9137 -57.727 -57.7595 -57.9922 -57.9065 -57.5927 -57.535 -57.5294 -57.7967 -58.1225 -58.7357 -59.2836 -59.6553 -59.9979 -59.9849 -60.2292 -60.0642 -59.9858 -59.6603 -59.2063 -58.8603 -58.5066 -58.5834 -59.1568 -60.0799 -61.4809 -63.1459 -64.5721 -65.6905 -66.4295 -66.9589 -67.0798 -67.2864 -67.8562 -68.1703 -68.9312 -69.5652 -70.1429 -70.7368 -71.7252 -72.6334 -73.8278 -74.8411 -75.634 -76.3652 -76.6443 -76.4118 -75.9242 -75.3208 -73.9746 -71.9318 -69.7571 -67.4407 -65.1468 -63.2201 -62.4725 -62.6043 -63.7918 -64.8387 -65.7448 -65.8257 -64.6617", + "breathiness_timestep": "0.011609977324263039" + }, + { + "offset": 59.638, + "text": "SP AP 碗 底 便 是 天 涯 SP", + "ph_seq": "SP AP w an d i b ian sh ir t ian y a SP", + "ph_dur": "0.095 0.4 0.105 0.193 0.045 0.193 0.045 0.163 0.075 0.417 0.06 0.178 0.06 2.143 0.19", + "ph_num": "1 2 2 2 2 2 2 1 1", + "note_seq": "rest rest G3 E3 G3 A3 B3 B3 rest", + "note_dur": "0.2 0.4 0.238 0.238 0.238 0.477 0.238 2.143 0.19", + "note_slur": "0 0 0 0 0 0 0 0 0", + "f0_seq": "125.8 126.1 126.0 125.8 125.6 125.7 125.7 125.8 125.4 125.5 125.4 125.5 125.5 125.4 125.5 125.7 125.5 125.5 125.5 125.5 125.3 125.4 125.3 125.4 125.3 125.2 125.2 125.6 125.6 125.3 125.3 125.4 125.6 125.2 125.2 125.5 124.9 124.9 124.9 124.9 124.8 125.1 124.9 125.0 125.1 125.1 125.6 125.9 125.2 125.7 128.7 133.6 140.0 146.5 153.3 158.2 164.0 175.1 184.5 188.8 192.2 195.3 197.1 197.1 195.1 190.0 184.2 177.8 169.6 170.2 172.9 176.6 176.9 168.0 162.5 162.3 162.3 163.1 164.5 165.5 166.0 165.9 166.8 166.2 164.8 163.0 157.8 150.9 157.6 166.7 176.3 185.4 190.8 195.0 196.0 197.0 197.3 197.5 196.2 195.7 195.6 194.7 194.7 195.4 193.6 191.0 186.6 191.4 198.4 205.6 213.7 221.6 230.0 235.5 238.4 233.2 232.8 231.4 226.6 220.4 213.5 207.4 204.8 203.7 206.7 213.9 223.3 230.8 235.9 236.7 233.9 226.9 217.5 211.4 208.5 207.2 211.4 219.3 228.3 234.5 237.3 244.2 250.6 256.0 260.3 260.1 261.7 264.7 267.9 270.0 272.7 275.9 280.3 285.1 287.1 277.9 270.4 261.1 256.4 254.4 252.9 251.5 251.2 250.5 249.4 249.8 248.5 248.3 247.7 246.2 244.8 241.9 237.6 233.1 227.4 225.8 224.6 224.5 224.4 224.7 225.6 225.7 225.3 226.7 227.1 228.2 227.9 228.1 228.7 228.7 228.8 228.9 228.5 228.6 227.2 226.4 226.5 225.6 225.3 229.1 237.9 247.7 252.9 253.4 252.8 251.2 248.2 245.5 243.5 243.4 243.7 245.6 247.0 248.9 249.8 249.5 249.7 250.5 250.0 248.7 247.3 245.8 245.0 245.1 246.1 247.3 249.3 249.4 249.2 248.3 247.6 247.5 247.6 247.6 246.7 246.9 247.0 247.1 248.1 248.7 248.5 248.2 248.4 248.3 248.2 248.0 248.6 248.9 248.0 248.3 248.0 247.6 248.3 248.1 247.9 247.7 248.0 248.4 248.0 247.0 247.3 246.3 246.8 246.1 246.5 246.2 245.7 246.2 246.8 247.5 247.7 247.9 247.3 247.2 247.1 247.4 247.7 247.6 247.3 247.1 246.7 247.2 247.2 246.4 247.1 247.4 248.0 247.4 248.1 247.5 247.8 247.9 248.1 248.0 247.4 247.4 246.7 246.4 246.2 245.7 246.0 246.8 247.8 247.7 247.4 246.5 247.1 247.0 246.4 246.1 246.0 246.0 246.0 246.6 246.3 246.7 246.3 246.1 247.2 247.1 246.9 247.4 247.4 246.7 246.9 246.2 246.5 247.2 248.6 251.4 253.2 255.6 254.8 252.7 251.9 250.9 248.7 246.3 247.0 247.6 248.4 249.4 251.0 252.1 252.9 254.2 253.5 253.4 252.1 251.4 249.1 246.8 245.2 246.1 247.9 248.4 248.6 249.9 250.1 250.0 252.6 252.5 252.1 251.8 251.2 250.0 248.8 248.3 247.9 246.5 245.8 244.2 243.8 242.7 243.4 241.1", + "f0_timestep": "0.011609977324263039", + "energy": "-79.4123 -78.6147 -77.6421 -76.1255 -74.3339 -72.9097 -71.4942 -70.0373 -68.5843 -66.7924 -65.2784 -63.4517 -61.881 -60.4025 -58.7164 -57.3725 -56.0777 -54.8059 -53.5454 -52.7446 -52.0078 -51.4571 -51.1888 -51.155 -51.1998 -51.5804 -51.6807 -52.1785 -52.4769 -52.6492 -52.9648 -53.3055 -53.6811 -53.9255 -54.4223 -55.498 -56.6695 -57.8105 -59.2783 -60.5551 -60.9367 -60.9367 -59.49 -56.9966 -53.3045 -49.0416 -44.2405 -39.6709 -35.4626 -32.1711 -29.8388 -28.0383 -26.6881 -25.9358 -25.4507 -25.078 -24.8675 -24.8987 -24.8791 -24.9404 -24.9168 -24.9757 -25.1126 -25.224 -25.7177 -26.2623 -27.0827 -27.8622 -28.1738 -28.1075 -27.7922 -27.2669 -26.4087 -25.6694 -25.0786 -25.1646 -25.2494 -25.3118 -25.4304 -25.1355 -25.0997 -25.2152 -25.5061 -26.1288 -27.401 -29.0814 -30.9235 -32.0145 -32.0225 -31.3687 -29.8282 -27.7371 -25.5096 -24.189 -23.623 -23.4517 -23.5395 -23.5571 -23.8334 -23.9879 -24.2977 -24.6227 -25.3823 -26.1696 -27.314 -28.5168 -29.9699 -31.3755 -32.3605 -32.8261 -32.3739 -31.2091 -29.4827 -27.4428 -25.5849 -24.123 -23.1952 -22.7879 -23.2107 -23.7777 -24.3329 -24.914 -25.6055 -25.8071 -26.1576 -26.3725 -26.7722 -27.0621 -27.3514 -27.7685 -27.9402 -28.4443 -28.7054 -29.1569 -29.6262 -30.0382 -30.1584 -30.1524 -30.1554 -30.3748 -30.6075 -31.326 -32.6165 -35.6383 -39.2316 -42.9488 -45.8366 -47.3932 -48.218 -47.1798 -44.7387 -41.2722 -37.3443 -33.5813 -29.9229 -26.2647 -23.6445 -22.474 -21.5586 -21.5202 -21.6476 -21.9995 -22.0772 -22.3639 -22.5282 -22.3528 -22.3903 -22.1843 -22.0427 -22.0929 -22.0915 -22.0576 -21.9633 -22.3083 -22.3715 -22.2057 -22.3572 -22.336 -22.2029 -22.0413 -21.8161 -21.6574 -21.8097 -21.5332 -21.5541 -21.5986 -21.5409 -21.5711 -21.6391 -21.5822 -21.6199 -21.6573 -21.9928 -22.4008 -22.7424 -23.395 -23.96 -24.3079 -24.6757 -24.9059 -24.6443 -24.5933 -24.3789 -24.1752 -24.2418 -24.3623 -24.5578 -24.6866 -24.8141 -24.7937 -24.3312 -24.1652 -23.8025 -23.5532 -23.397 -22.9374 -23.0751 -23.0403 -23.0294 -22.9414 -23.1041 -22.8776 -22.746 -22.6362 -22.2661 -22.0786 -22.0404 -21.9974 -22.0032 -21.9343 -21.9744 -22.0849 -22.0082 -22.0264 -21.9829 -21.8076 -21.6224 -21.5901 -21.2836 -21.1797 -21.2068 -20.8479 -20.9468 -21.0078 -20.9195 -20.903 -20.8911 -20.9171 -20.8992 -20.8274 -20.5907 -20.7607 -20.6572 -20.5935 -20.5866 -20.476 -20.1856 -20.3066 -20.1839 -20.0094 -20.1021 -19.9857 -20.2066 -20.0326 -20.1466 -20.2513 -20.3166 -20.2713 -20.4217 -20.3043 -20.3469 -20.2918 -20.2045 -20.4475 -20.2531 -20.3392 -20.2681 -20.22 -20.2242 -20.2819 -20.1886 -20.3823 -20.4769 -20.517 -20.5978 -20.5643 -20.7589 -20.5863 -20.7129 -20.5875 -20.6679 -20.6044 -20.7517 -20.6494 -20.6185 -20.6465 -20.7427 -20.735 -20.8588 -20.8018 -20.7195 -21.2245 -21.0286 -21.0975 -21.2462 -21.4153 -21.499 -21.4965 -21.595 -21.7436 -21.8012 -22.0034 -22.1425 -22.2652 -22.4268 -22.5683 -22.5857 -22.729 -22.8743 -23.0567 -23.1332 -23.5216 -23.7217 -23.8317 -24.0891 -24.1859 -24.4784 -24.8054 -24.996 -25.374 -25.5369 -25.7469 -26.1424 -26.4607 -26.6336 -27.183 -27.5016 -27.9313 -28.2609 -28.5274 -29.061 -29.2057 -29.3352 -29.6012 -29.6529 -29.9297 -30.1448 -30.4154 -30.9081 -31.1638 -31.5813 -31.7771 -32.0969 -32.2832 -32.9314 -33.0091 -33.8955 -34.7002 -36.3601 -38.7605 -41.969 -45.9441 -50.2654 -53.9383 -57.3537 -60.2052 -62.1064 -63.9456 -65.2932 -66.6041 -67.5043 -67.88 -68.0135 -67.3255 -66.6848 -63.3237", + "energy_timestep": "0.011609977324263039", + "breathiness": "-82.8759 -81.5084 -80.187 -79.093 -77.4811 -76.299 -75.0647 -73.2943 -71.5834 -69.5803 -67.0957 -64.5302 -62.3567 -60.2401 -58.2676 -56.6142 -55.4259 -54.3502 -53.7333 -53.0694 -52.6332 -52.229 -51.7775 -51.5657 -51.5742 -51.5262 -51.8111 -52.2039 -52.6354 -53.1083 -53.4807 -53.9912 -54.5556 -55.0967 -55.5363 -56.3784 -57.2283 -58.3852 -60.1133 -61.9474 -63.5929 -64.9596 -65.3019 -65.131 -64.1784 -62.9691 -62.0642 -61.1697 -60.8076 -60.6121 -60.0359 -59.2204 -57.8614 -56.7861 -55.7258 -55.6153 -56.4502 -57.6276 -59.376 -61.0226 -62.6431 -64.0857 -64.8481 -65.5605 -66.019 -65.864 -65.5583 -64.5219 -62.852 -61.2598 -59.3105 -57.8263 -56.4124 -55.4106 -55.034 -54.8309 -55.0045 -55.1052 -55.3341 -55.7801 -56.2612 -56.9549 -57.7689 -58.9447 -60.6133 -62.5939 -64.6089 -66.2881 -66.8345 -66.5543 -65.1706 -63.1945 -61.1001 -59.444 -58.3733 -57.8957 -57.8022 -58.1614 -58.6536 -59.4196 -59.6244 -59.2087 -58.0155 -55.467 -51.9543 -48.1532 -43.5275 -39.5585 -36.2532 -34.0911 -33.1932 -33.7731 -35.7409 -39.3235 -43.3366 -47.4606 -50.9183 -53.6967 -55.3755 -56.3343 -56.7035 -57.3539 -58.0087 -58.5155 -58.9893 -59.4369 -59.4178 -59.5694 -59.635 -60.0366 -60.5246 -61.3394 -62.3596 -63.424 -64.5845 -65.9775 -66.9974 -67.9847 -68.4447 -68.4071 -67.6112 -66.0396 -64.0 -61.5053 -59.7822 -57.4749 -55.4505 -53.3416 -51.3256 -49.7205 -48.0176 -46.9026 -47.045 -48.1579 -49.7434 -51.3404 -53.0439 -54.218 -55.2592 -55.8077 -56.7092 -58.1489 -59.6904 -61.5363 -62.9674 -64.2028 -64.5106 -64.4582 -63.601 -62.5765 -60.905 -59.2933 -57.6402 -56.1491 -55.3011 -54.6471 -54.3317 -54.3706 -54.2027 -54.0862 -54.1713 -53.9338 -53.9701 -53.6156 -53.7488 -53.7208 -53.9613 -53.9864 -54.2095 -54.197 -54.0487 -53.5128 -53.1325 -52.4622 -51.9304 -51.4839 -51.3911 -51.2925 -51.6134 -51.9385 -52.5486 -53.1911 -54.0058 -55.1078 -55.906 -56.7863 -57.4639 -57.9541 -57.8799 -57.8209 -57.4337 -57.3435 -57.2801 -57.3903 -57.4617 -57.529 -57.2705 -57.0253 -56.5003 -55.9813 -55.5473 -55.0745 -54.9553 -55.2224 -55.3346 -55.8038 -55.9761 -56.4565 -56.5321 -56.5165 -56.7619 -56.6802 -56.6536 -56.3853 -56.1846 -55.7326 -55.3617 -55.2683 -55.0131 -54.9645 -54.9246 -54.7513 -54.5352 -54.2048 -53.737 -53.0127 -52.5843 -52.1223 -51.8295 -51.4753 -51.2261 -51.2308 -50.8974 -50.7732 -50.7475 -50.6385 -50.6335 -50.6831 -50.6353 -50.5339 -50.3482 -50.2464 -50.0275 -50.0613 -50.3178 -50.4162 -50.3223 -50.0699 -49.6833 -48.9444 -48.6953 -48.4203 -48.3292 -48.5403 -48.7717 -49.3015 -49.5234 -49.7715 -49.8724 -50.1227 -50.2818 -50.5966 -50.8174 -50.951 -51.2102 -51.2027 -51.4706 -51.4848 -51.7588 -51.7475 -51.9827 -52.1973 -52.201 -52.2453 -52.197 -52.3167 -52.6395 -52.6818 -52.8806 -52.8179 -52.6641 -52.443 -52.1897 -52.3231 -52.4426 -52.652 -53.0192 -53.193 -53.2851 -53.3946 -53.2873 -53.2961 -52.9318 -52.8552 -52.9094 -53.1403 -53.5149 -53.7756 -54.2369 -54.5763 -54.4959 -54.3717 -54.2007 -54.1052 -54.2391 -54.6583 -54.976 -55.6301 -56.3461 -57.0768 -57.6453 -58.1059 -58.9152 -59.3615 -59.867 -60.2526 -60.5127 -60.9277 -61.2928 -61.6394 -62.3609 -62.9239 -63.6677 -64.4955 -65.1396 -65.9335 -66.6198 -67.095 -67.6036 -68.1712 -68.6072 -69.1631 -69.4208 -69.3363 -69.3747 -69.352 -68.5362 -67.1794 -65.1015 -62.5165 -60.195 -58.2923 -57.2482 -57.402 -58.7212 -60.5656 -62.6637 -64.3838 -66.2228 -67.9976 -70.2682 -72.1013 -74.4848 -76.3663 -77.2687 -76.6288", + "breathiness_timestep": "0.011609977324263039" + }, + { + "offset": 64.638, + "text": "SP AP 天 涯 远 无 处 不 为 家 SP", + "ph_seq": "SP AP t ian y a y van w u ch u b u w ei j ia SP", + "ph_dur": "0.125 0.4 0.075 0.178 0.06 0.163 0.075 0.311 0.165 0.164 0.075 0.193 0.045 0.416 0.06 0.386 0.09 0.476 0.285", + "ph_num": "1 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest rest B3 A3 B3 B3 A3 B3 G3 E3 rest", + "note_dur": "0.2 0.4 0.238 0.238 0.476 0.239 0.238 0.476 0.476 0.476 0.285", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "147.2 147.0 147.2 147.4 147.3 147.2 147.0 147.8 147.6 147.6 147.4 147.6 148.1 147.9 147.9 147.9 147.9 148.0 147.8 147.8 147.9 148.1 148.1 148.2 147.9 148.0 148.1 148.2 148.1 148.4 148.2 148.1 148.6 148.2 148.3 148.5 148.4 148.5 148.2 148.3 148.5 148.6 148.6 148.3 148.7 148.5 148.6 148.7 148.6 148.6 148.7 148.6 147.2 146.8 151.4 160.4 173.3 188.0 206.0 220.7 235.0 244.4 248.3 247.6 243.2 238.0 232.6 228.7 225.2 222.3 220.2 219.1 217.7 216.7 218.1 219.7 220.7 220.7 220.9 221.6 220.6 219.0 219.1 218.8 218.7 219.8 219.8 219.5 218.6 217.6 218.8 226.0 242.6 251.3 255.9 260.3 261.5 259.9 255.6 248.3 242.7 238.4 237.0 237.8 238.8 242.2 246.5 250.5 253.5 253.7 252.5 250.9 249.0 246.4 244.4 242.4 241.7 242.7 245.9 248.1 248.9 248.4 248.8 249.2 249.5 250.0 248.8 247.0 245.0 245.0 245.6 246.4 246.3 245.7 244.7 244.3 245.8 246.4 246.5 245.5 246.0 246.4 246.8 247.0 245.6 242.6 237.7 232.9 232.3 232.9 233.4 233.2 233.3 233.2 234.5 227.9 223.4 222.5 220.6 220.3 221.1 220.7 220.8 220.1 219.7 215.5 203.3 203.4 203.8 207.2 210.6 217.5 221.5 227.3 221.9 223.2 224.8 224.7 224.8 224.8 223.5 223.8 224.8 224.0 222.1 221.1 220.1 219.7 219.4 225.7 234.5 240.5 245.0 247.6 249.8 250.2 248.2 246.4 244.6 243.3 243.7 244.8 245.9 246.5 246.7 246.5 246.2 243.4 238.8 232.1 223.5 211.6 203.5 196.7 193.9 194.0 194.4 196.5 196.6 196.9 197.9 198.8 198.2 198.0 195.9 193.9 194.2 193.9 193.1 194.3 195.5 196.7 198.0 199.1 199.0 199.2 199.4 200.0 199.7 199.8 199.4 199.8 201.2 202.2 202.5 202.7 201.1 195.0 182.0 179.7 176.9 174.7 172.3 169.5 167.2 165.0 163.2 161.7 163.7 166.6 168.7 170.3 170.9 170.5 167.2 161.7 156.5 151.8 150.0 152.6 157.0 163.5 171.8 179.0 182.7 183.8 182.7 179.3 173.9 167.4 160.0 153.1 150.6 151.8 153.7 158.2 162.8 167.8 173.0 176.0 177.9 178.3 176.2 170.8 164.1 160.0 161.0 163.9 167.4 171.6 172.2 172.2 172.5 172.4 171.9 171.5 171.0 171.6 171.5 170.1 169.8 170.2 170.7 170.8 170.7 171.0 170.8 170.1 169.8 169.6 169.9 169.0 170.4", + "f0_timestep": "0.011609977324263039", + "energy": "-79.4568 -79.5384 -79.3348 -78.1158 -76.6991 -75.3745 -73.5211 -71.7881 -69.5246 -67.3326 -65.1125 -63.1968 -60.8837 -58.8876 -57.1724 -55.1923 -54.1859 -53.0566 -52.2278 -51.652 -51.0596 -50.5514 -50.1871 -50.0547 -50.1738 -50.2226 -50.4327 -50.9056 -51.5581 -52.0602 -52.7481 -53.5475 -54.4538 -55.5362 -56.5386 -57.8167 -58.7865 -59.9379 -60.9119 -61.8464 -62.4537 -62.4413 -61.3366 -59.282 -56.0194 -52.2883 -47.976 -43.492 -39.3229 -35.3782 -32.3495 -29.6033 -27.7895 -26.4203 -25.8965 -25.7566 -25.8307 -26.1072 -25.9932 -26.008 -25.6453 -25.2594 -24.6926 -24.3203 -23.7762 -23.5533 -23.5932 -23.571 -23.5496 -23.611 -23.7575 -23.8832 -23.7052 -23.7858 -23.5659 -23.3871 -23.3167 -23.1392 -23.1716 -23.221 -23.1999 -23.3025 -23.4093 -23.5289 -23.7822 -24.1651 -24.6253 -24.9491 -25.3634 -25.3059 -24.8264 -24.4862 -23.5831 -23.0045 -22.4844 -22.1552 -21.8871 -22.0392 -22.0966 -22.567 -22.9205 -23.213 -23.6604 -24.0536 -24.0764 -24.0787 -23.6635 -23.4554 -23.112 -22.8221 -22.6489 -22.2734 -22.3417 -22.0251 -21.8598 -21.9132 -21.7855 -21.9747 -21.7888 -21.7193 -21.6425 -21.488 -21.4479 -21.294 -21.2591 -21.2903 -21.3462 -21.386 -21.4912 -21.5404 -21.5418 -21.9118 -22.0025 -22.297 -22.3111 -22.3789 -22.5186 -22.6168 -22.6342 -22.7638 -22.9156 -22.9387 -23.1615 -24.0266 -25.1595 -27.0912 -29.3119 -31.4115 -33.4862 -34.6915 -35.0855 -34.1754 -32.2071 -29.7811 -27.5802 -25.7886 -24.3527 -23.686 -23.2738 -23.4704 -23.3323 -23.7838 -24.2452 -25.6395 -27.129 -29.5412 -32.2696 -34.3517 -35.86 -35.9547 -35.4665 -33.5276 -31.1872 -28.3444 -25.9876 -23.8659 -22.9886 -22.3935 -22.2759 -22.1705 -22.3438 -22.5437 -23.1661 -23.2117 -23.926 -24.5076 -24.7762 -25.1689 -25.069 -25.2473 -25.0844 -24.998 -24.9174 -24.5602 -24.466 -24.3602 -24.2722 -24.0816 -24.2005 -24.12 -24.3791 -24.4818 -24.6686 -24.8494 -24.7958 -24.868 -24.7395 -24.8126 -24.7607 -24.5333 -24.5374 -24.1457 -24.188 -23.8313 -23.5896 -23.2558 -23.0488 -22.9782 -22.715 -22.8086 -23.0746 -23.0568 -23.0934 -23.2349 -23.283 -23.2212 -23.4841 -23.5688 -23.5165 -23.8337 -23.5667 -23.6911 -23.8272 -23.8824 -23.7066 -23.6635 -23.6171 -23.5531 -23.5482 -23.6034 -23.5424 -23.5505 -23.885 -24.2931 -25.1256 -26.0701 -27.8904 -30.2327 -32.6696 -35.3447 -37.5214 -38.7996 -38.5628 -37.1418 -34.8909 -32.3768 -29.4466 -27.0358 -25.7751 -24.6657 -24.3972 -24.4464 -24.6307 -25.0209 -25.1446 -25.6649 -26.001 -26.4776 -26.8383 -27.1949 -27.5836 -27.6552 -27.7134 -27.9072 -28.0464 -28.3358 -28.7426 -29.2999 -29.8346 -30.5237 -31.0458 -31.6723 -32.2548 -32.727 -33.0392 -33.4939 -33.9622 -34.6379 -35.1244 -35.6741 -36.1922 -36.9365 -37.3094 -37.8572 -38.4748 -39.0323 -40.0395 -41.2312 -43.4271 -46.4906 -50.1409 -54.4225 -58.5158 -62.2859 -65.6312 -67.7252 -68.4937 -68.7453 -68.9271 -69.0702 -69.3527 -69.577 -70.616 -71.2043 -71.8518 -71.7854 -71.6079 -71.5885 -71.8141 -71.9084 -70.5965 -68.2728 -66.6896", + "energy_timestep": "0.011609977324263039", + "breathiness": "-88.6473 -90.7176 -91.4583 -91.981 -90.6174 -88.5107 -84.5072 -79.5176 -74.9647 -70.5323 -66.9204 -64.5351 -62.3729 -60.0711 -58.0641 -56.2069 -54.8623 -53.7061 -52.5564 -52.1407 -51.6467 -51.048 -50.5717 -50.317 -50.1463 -50.0593 -50.3275 -50.6348 -51.088 -51.6151 -52.3873 -53.1159 -53.9708 -55.1219 -56.3015 -57.615 -58.8214 -60.5584 -62.114 -63.763 -65.2051 -65.4209 -64.6614 -62.1845 -58.7373 -54.2841 -49.8246 -45.9972 -43.8328 -42.8558 -43.1291 -44.0194 -45.6235 -47.0692 -48.7279 -50.3348 -52.3366 -54.4396 -57.0082 -59.5531 -61.6922 -63.0791 -63.7417 -63.8534 -63.5421 -62.6066 -61.6479 -60.6525 -59.4908 -58.3041 -57.2108 -55.9888 -54.9402 -54.3546 -53.83 -53.473 -53.2508 -53.0094 -52.8565 -52.837 -52.757 -52.9694 -53.1799 -53.4984 -53.9362 -54.469 -54.6665 -54.5337 -54.3502 -53.5748 -53.0407 -52.3995 -52.1476 -52.0882 -52.4724 -52.7628 -52.8678 -53.1564 -53.3598 -53.6869 -53.8377 -54.1246 -54.6859 -55.4845 -56.9459 -58.1707 -59.7388 -61.0743 -61.9503 -62.4077 -62.0493 -61.4935 -60.5359 -59.6756 -59.2383 -58.9825 -58.6291 -58.5268 -58.6492 -58.6479 -58.7861 -59.1139 -59.7952 -60.42 -61.1321 -61.6538 -62.1701 -62.6884 -63.1985 -63.4375 -63.8794 -64.3313 -64.448 -64.4034 -64.4803 -64.3335 -64.38 -64.3419 -64.5571 -64.5712 -64.7342 -64.5993 -64.2325 -63.2684 -61.3595 -58.5939 -54.8096 -50.3815 -45.878 -41.9416 -39.6009 -38.8233 -39.7358 -42.2752 -45.4857 -49.5671 -53.3816 -56.5456 -58.9181 -60.3124 -61.2088 -61.9013 -63.2781 -65.2265 -67.5584 -70.2563 -72.8252 -74.9267 -76.2726 -76.0332 -74.9711 -72.5809 -70.191 -67.6498 -66.0492 -65.5027 -65.5477 -65.7734 -65.9198 -65.9623 -65.835 -65.4355 -64.8872 -64.1953 -63.5762 -62.8702 -62.5228 -62.3133 -62.6651 -63.0562 -63.8568 -64.6435 -65.4507 -65.8499 -65.9937 -66.2957 -65.9732 -65.7196 -65.4932 -65.4973 -65.6595 -65.7873 -66.2775 -66.6771 -66.9361 -66.9036 -67.0918 -67.1669 -67.2887 -67.1579 -66.8506 -66.4004 -65.8351 -65.0595 -64.1784 -63.1028 -62.2731 -62.0055 -61.2173 -60.7046 -60.1934 -59.5473 -59.0226 -58.5626 -58.2883 -58.2031 -58.2447 -58.2138 -58.2511 -58.0701 -58.2297 -58.1647 -58.1209 -58.2695 -58.4763 -58.29 -58.4937 -58.2924 -58.4015 -58.376 -58.5421 -58.4496 -58.8728 -58.9705 -58.5123 -57.0381 -54.6732 -51.9576 -48.7514 -45.5289 -43.1038 -41.641 -41.3353 -41.7605 -43.0018 -44.7506 -47.0475 -48.9429 -50.628 -51.5911 -52.2512 -52.5094 -52.6075 -52.4685 -52.656 -52.8966 -53.1918 -53.4913 -53.9552 -54.4787 -54.92 -55.1357 -55.4732 -55.5902 -55.7239 -55.9864 -56.2249 -56.6825 -57.3983 -58.3915 -59.5562 -60.5999 -62.0556 -62.8947 -63.7347 -64.5027 -65.0797 -65.6 -66.0143 -66.5276 -67.1249 -67.6129 -68.4793 -69.5338 -70.2093 -70.6399 -69.9971 -68.2748 -66.2234 -63.918 -62.4341 -62.2123 -62.9332 -64.5763 -66.5147 -68.0941 -69.2982 -69.6976 -69.8367 -69.6353 -69.8874 -70.3055 -71.0931 -72.3325 -73.9388 -75.9394 -77.7804 -80.0611 -82.1595 -84.1916 -85.0202 -85.4632 -85.3687", + "breathiness_timestep": "0.011609977324263039" + }, + { + "offset": 68.191, + "text": "AP 蓬 门 自 我 也 像 广 厦 SP", + "ph_seq": "AP p eng m en z i0 w o y E x iang g uang sh a SP", + "ph_dur": "0.32 0.06 0.179 0.06 0.178 0.06 0.163 0.075 0.163 0.075 0.163 0.075 0.178 0.06 0.341 0.135 1.429 0.095", + "ph_num": "2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest E3 E3 F#3 G3 F#3 E3 D3 E3 rest", + "note_dur": "0.38 0.239 0.238 0.238 0.238 0.238 0.238 0.476 1.429 0.095", + "note_slur": "0 0 0 0 0 0 0 0 0 0", + "f0_seq": "133.9 134.2 134.3 134.3 134.3 134.2 134.1 134.2 134.3 134.4 134.3 134.2 133.9 134.2 134.1 134.4 134.0 133.7 133.7 133.7 133.6 133.4 133.7 133.7 133.5 133.4 134.0 134.0 133.8 133.9 133.9 134.4 134.4 133.2 132.5 133.1 134.4 137.5 141.5 147.2 151.3 155.2 157.7 160.1 163.0 164.7 165.7 165.1 164.1 162.3 164.0 163.4 162.4 161.3 160.5 160.4 160.1 161.3 162.1 162.7 163.5 163.6 164.0 165.5 165.5 165.1 161.8 156.5 151.4 158.1 165.5 172.1 180.6 189.5 187.6 186.3 185.4 185.6 185.6 185.5 185.3 184.9 185.3 184.9 185.7 185.3 184.7 183.8 182.1 182.1 182.9 184.8 187.9 188.9 188.8 191.2 194.7 196.0 196.5 196.4 195.8 194.3 193.4 193.5 194.2 194.1 194.2 194.5 194.5 195.3 195.9 194.8 194.3 193.1 189.4 185.3 182.1 181.1 181.0 182.3 183.1 183.5 184.8 186.1 186.8 186.0 184.1 179.3 173.1 169.2 169.3 169.3 170.1 170.0 170.5 171.6 168.0 165.8 163.6 163.2 163.7 163.3 163.3 164.1 165.5 168.1 169.1 169.1 167.2 163.9 160.8 155.3 150.1 145.4 145.9 148.2 146.3 145.7 144.5 142.5 142.8 143.0 144.1 145.3 145.5 145.8 146.1 146.3 146.0 145.4 145.1 145.0 145.3 145.7 146.2 146.2 146.5 146.2 146.8 147.1 147.7 148.2 148.6 148.5 146.9 144.9 145.2 147.0 149.5 151.8 154.3 156.5 159.2 161.1 164.3 167.2 170.6 172.2 168.1 166.7 165.9 164.8 163.4 162.1 161.7 161.6 161.8 161.5 161.9 161.4 163.6 164.5 164.4 164.8 166.3 166.9 166.3 165.8 165.1 165.2 165.2 164.7 163.4 161.9 161.0 161.0 160.7 159.1 159.5 160.7 162.8 166.2 168.9 171.4 172.9 173.1 172.7 169.8 167.4 164.7 160.8 157.9 156.5 157.1 159.9 164.1 168.1 170.9 173.1 174.6 173.8 171.4 168.2 164.9 159.5 156.2 155.6 155.9 159.3 162.9 167.1 171.2 173.7 175.5 175.2 171.2 167.5 163.8 159.1 156.2 155.3 156.8 159.8 164.5 168.7 171.7 174.1 174.5 172.8 169.0 165.4 160.5 156.4 154.6 155.1 158.1 163.0 166.5 169.9 171.8 173.4 171.7 167.8 162.8 159.3 156.8 155.5 154.7 156.6 161.1 165.7 169.7 172.6 174.6 173.0 169.1 164.0 156.9 154.1 150.3 149.1 151.7 154.6 160.1 169.4 173.7 177.1 178.3 174.9 168.6 160.7 153.1 151.8 151.6 152.4 153.0 153.5 152.9 154.1", + "f0_timestep": "0.011609977324263039", + "energy": "-59.9544 -56.4974 -54.1024 -51.9043 -50.2592 -48.9099 -47.8119 -47.3643 -46.637 -46.232 -45.7724 -45.8199 -46.0032 -45.9755 -46.5538 -47.0068 -47.5336 -47.9974 -48.2819 -48.3502 -48.4421 -48.3372 -48.505 -48.999 -48.98 -48.4707 -46.9585 -44.1943 -40.9468 -36.5966 -32.882 -29.4611 -27.1338 -25.4859 -24.5315 -24.1134 -23.9785 -23.6818 -23.8249 -23.8755 -23.8721 -24.0372 -23.9757 -23.7894 -23.8657 -23.4998 -23.6521 -23.4514 -23.7068 -23.9632 -23.9073 -23.9649 -23.9561 -23.6902 -23.5264 -23.3505 -23.4394 -23.4371 -23.448 -23.4532 -23.661 -23.7919 -24.0436 -24.6134 -25.2049 -26.2541 -27.6812 -28.8415 -30.0223 -30.4808 -30.2463 -29.3508 -28.015 -26.1809 -24.7556 -23.4745 -22.4759 -22.0437 -22.2911 -22.0458 -22.3021 -22.3632 -22.329 -22.3645 -22.4947 -22.5054 -22.3931 -22.5591 -22.7426 -22.7181 -22.5507 -22.5025 -22.5165 -22.5999 -22.5498 -22.9713 -23.1623 -23.2887 -23.4204 -23.5563 -23.684 -23.4822 -23.2312 -23.288 -22.9184 -22.8194 -22.7572 -22.4116 -22.4351 -22.3995 -22.5135 -22.6844 -23.1061 -23.1082 -23.3895 -23.4226 -23.6263 -23.1159 -22.9109 -22.5826 -22.4978 -22.5028 -22.7358 -23.2107 -23.9235 -25.2356 -27.0291 -29.003 -31.3454 -33.3503 -35.1539 -35.8025 -35.1249 -33.5836 -31.3562 -29.1295 -27.1836 -25.7048 -24.9247 -24.5819 -24.4958 -24.4943 -24.6669 -24.611 -24.8237 -24.9206 -25.0764 -25.3645 -25.4917 -26.0242 -26.3845 -26.5687 -26.6195 -26.2708 -26.1346 -25.47 -24.748 -24.0641 -23.6872 -23.7171 -23.5296 -23.654 -23.4201 -23.4329 -23.526 -23.5208 -23.6748 -23.7718 -23.8712 -23.8649 -23.7827 -23.7978 -23.8139 -23.635 -23.7598 -23.8711 -24.0025 -23.6248 -23.8072 -23.8426 -24.1966 -24.5158 -25.4166 -26.6209 -28.2048 -30.1043 -31.7648 -32.966 -33.5471 -34.4207 -34.8473 -35.1025 -35.3609 -35.0253 -34.0462 -32.7322 -30.6214 -28.0997 -25.932 -24.6185 -23.8971 -23.5738 -23.2851 -23.1853 -23.1251 -22.9786 -22.7334 -22.6956 -22.4824 -22.306 -22.4351 -22.2607 -22.2646 -22.1521 -22.3215 -22.0485 -22.203 -22.3874 -22.2534 -22.3625 -22.2813 -22.4237 -22.5772 -22.5966 -22.7646 -22.976 -23.3738 -23.5505 -23.6003 -23.3922 -23.3406 -23.3925 -23.4167 -23.3848 -23.4415 -23.5079 -23.7263 -23.9401 -24.3544 -24.6898 -25.2725 -25.6531 -26.1688 -26.584 -26.684 -26.3899 -26.4305 -26.1552 -26.1218 -25.8242 -25.7868 -25.6819 -25.8789 -25.9537 -25.8788 -26.0196 -26.3516 -26.2622 -26.2846 -26.2012 -26.1988 -25.9518 -26.0034 -25.8266 -25.7974 -25.6688 -26.0541 -26.0033 -26.4055 -26.5223 -26.712 -26.889 -26.8341 -26.6458 -26.3247 -26.2922 -26.1451 -26.1108 -26.0998 -25.9499 -26.1658 -26.2625 -26.4205 -26.5968 -27.1836 -27.7695 -27.8522 -28.2838 -28.3482 -28.2764 -27.9751 -27.8672 -27.7537 -27.885 -28.359 -28.7547 -29.21 -29.6461 -30.2272 -30.229 -30.2021 -30.1061 -29.9969 -29.4712 -29.4703 -29.4999 -29.9741 -30.5446 -31.402 -32.4858 -33.4626 -34.1279 -34.6061 -34.8403 -34.5867 -34.5736 -34.3927 -34.354 -34.8679 -36.2429 -38.1835 -41.8774 -45.3963 -48.9079 -52.1077 -54.053 -53.5036 -51.6994 -49.9105", + "energy_timestep": "0.011609977324263039", + "breathiness": "-61.3265 -58.2349 -54.8128 -51.7422 -49.3541 -47.6554 -46.3462 -45.717 -45.3057 -45.4701 -45.2281 -45.3327 -45.338 -45.5031 -45.8681 -46.3337 -46.8998 -47.4954 -48.2763 -49.2788 -50.4607 -52.0827 -54.4433 -56.7448 -58.6813 -59.2327 -58.48 -56.3998 -53.6939 -50.5156 -48.2097 -47.5053 -48.2483 -49.321 -51.1131 -52.932 -54.5577 -56.2509 -57.6365 -58.9372 -59.8381 -60.4415 -61.2115 -61.3286 -61.7848 -62.3358 -62.8502 -63.4805 -63.7315 -63.7378 -63.4426 -62.3204 -61.0055 -59.3933 -58.041 -56.9706 -56.4409 -56.473 -56.9128 -57.856 -58.8936 -60.5567 -62.1318 -62.7358 -61.5483 -58.3524 -53.7652 -48.3303 -42.8624 -38.2038 -35.4984 -35.1526 -37.5089 -40.6745 -44.7484 -48.6572 -52.269 -55.0154 -56.4971 -57.2731 -57.5426 -57.5362 -57.5359 -57.1311 -56.8664 -56.3209 -56.2114 -56.0996 -56.2193 -56.7876 -57.5378 -57.9429 -58.4978 -58.6587 -58.5847 -58.6092 -58.5589 -58.1493 -57.9601 -57.9455 -57.7356 -57.737 -57.9443 -58.2692 -58.3922 -58.5066 -58.3382 -58.2238 -57.6855 -57.0815 -56.5561 -55.8731 -55.1504 -54.2246 -53.8881 -53.4768 -53.3044 -53.1164 -53.3248 -53.1389 -53.1081 -53.1383 -53.0494 -52.6537 -52.2508 -50.8208 -48.7948 -46.5166 -43.9477 -41.4103 -39.7327 -38.94 -38.9454 -39.7968 -41.5267 -43.777 -46.5213 -48.9691 -51.2623 -53.141 -54.7351 -55.9709 -57.071 -58.3814 -59.5877 -61.1127 -62.7734 -63.807 -64.9667 -65.7251 -66.29 -66.6077 -66.5934 -66.0715 -65.5685 -64.7972 -63.7669 -62.8222 -62.1027 -61.3783 -60.5166 -60.0942 -59.8243 -59.6262 -59.6304 -59.7971 -60.1904 -60.2259 -60.4783 -60.4605 -60.6425 -60.6908 -60.7197 -61.1311 -61.2661 -61.9888 -62.5529 -62.9071 -63.1666 -63.0382 -62.0081 -59.521 -56.0279 -51.7509 -47.213 -42.9969 -39.4355 -36.8065 -35.5389 -34.7492 -34.6247 -35.1537 -36.3683 -38.4229 -41.357 -44.6714 -48.2102 -51.0643 -53.3456 -54.9455 -55.8271 -56.1229 -56.2831 -56.1655 -56.3766 -56.4145 -56.3262 -55.835 -55.6032 -55.5529 -55.3521 -55.1605 -55.268 -55.211 -55.2091 -55.4629 -55.5587 -55.6935 -55.6831 -55.5447 -55.2281 -55.2169 -55.092 -55.3324 -55.4648 -55.9004 -56.2447 -56.551 -56.5405 -56.5867 -56.4247 -56.2029 -56.1286 -56.1458 -56.3556 -56.6867 -56.9605 -57.3248 -57.4528 -57.8432 -58.0748 -58.4594 -58.7967 -59.0035 -59.0293 -59.0376 -58.8828 -58.4697 -58.205 -57.7149 -57.5365 -56.723 -56.301 -56.0976 -55.8614 -56.0227 -56.1745 -56.5616 -56.8237 -57.1711 -57.1739 -57.3035 -57.1633 -57.057 -57.0662 -56.673 -56.5468 -56.5368 -56.6286 -56.7397 -56.6384 -56.6877 -56.1507 -55.7307 -54.8214 -54.2701 -53.5829 -53.2422 -53.047 -53.2028 -53.7841 -54.6269 -55.3974 -56.3811 -57.3381 -57.9224 -58.5597 -58.6293 -58.8673 -58.5853 -58.1801 -57.9239 -57.5261 -57.9849 -58.7463 -59.797 -61.1317 -62.6696 -63.8124 -64.4835 -64.598 -64.1251 -63.3704 -62.4693 -61.9143 -61.5651 -61.8972 -62.598 -63.8799 -65.4237 -66.7508 -68.165 -69.1722 -69.4816 -69.4075 -68.8566 -67.8858 -66.375 -64.4695 -62.2554 -60.2459 -58.5416 -58.0324 -58.6161 -59.9562 -61.4231 -62.8023 -62.9842 -63.859", + "breathiness_timestep": "0.011609977324263039" + }, + { + "offset": 72.257, + "text": "SP AP 论 意 气 不 计 多 或 寡 AP 占 三 分 便 敢 自 称 为 侠 SP", + "ph_seq": "SP AP l un y i q i b u j i d uo h uo g ua AP zh an s an f en b ian g an z i0 ch eng w ei x ia SP", + "ph_dur": "0.11 0.4 0.09 0.178 0.06 0.163 0.075 0.432 0.045 0.178 0.06 0.193 0.045 0.386 0.09 0.416 0.06 0.476 0.163 0.075 0.178 0.06 0.194 0.045 0.178 0.06 0.193 0.045 0.193 0.045 0.163 0.075 0.178 0.06 0.163 0.075 1.191 0.19", + "ph_num": "1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest rest B3 A3 B3 B3 A3 B3 D4 B3 B3 rest B3 A3 G3 G3 E3 G3 A3 G3 B3 rest", + "note_dur": "0.2 0.4 0.238 0.238 0.477 0.238 0.238 0.476 0.238 0.238 0.476 0.238 0.238 0.239 0.238 0.238 0.238 0.238 0.238 0.238 1.191 0.19", + "note_slur": "0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "134.4 134.5 133.9 133.8 133.9 133.9 134.1 133.8 134.0 133.8 133.8 134.0 134.0 134.3 134.2 134.1 133.5 133.8 133.9 133.8 133.9 134.1 133.9 134.0 133.9 133.7 133.7 133.8 133.8 133.6 133.8 133.6 133.6 133.6 133.6 133.5 133.7 133.8 133.8 133.9 133.4 133.5 133.5 133.5 133.4 133.3 132.6 132.2 131.6 133.3 140.1 147.8 156.9 166.8 177.7 188.1 199.9 215.4 230.2 240.4 247.0 250.3 250.6 249.5 245.4 240.4 236.1 229.7 226.4 225.7 226.0 226.4 225.5 223.5 220.5 221.2 220.6 219.9 219.9 220.0 221.4 221.7 222.3 221.0 217.4 210.0 201.2 208.7 216.8 224.7 232.8 238.9 239.4 231.2 224.7 224.9 225.0 225.7 225.9 225.7 223.7 222.0 222.2 223.5 228.0 236.0 244.3 249.7 253.1 253.7 253.0 250.0 246.4 243.8 242.4 244.2 247.8 250.3 250.9 250.6 250.3 249.8 248.9 246.5 241.6 234.9 227.6 229.1 237.7 246.7 256.5 267.6 276.0 267.2 261.8 262.4 259.4 256.0 251.3 250.2 247.3 248.1 245.8 245.9 246.1 244.2 244.4 243.8 237.8 226.7 218.2 219.9 221.1 223.3 226.4 220.9 219.9 219.7 219.0 217.5 216.6 216.8 218.1 220.4 221.7 222.1 220.9 213.1 199.6 193.0 200.2 207.5 214.1 223.3 225.3 222.4 221.8 222.5 223.3 223.4 222.8 222.7 221.4 220.1 218.7 217.5 216.5 218.3 224.1 231.8 240.7 246.5 247.7 247.4 246.7 245.0 243.9 242.8 242.2 239.3 240.4 242.6 245.5 248.1 250.5 250.7 250.0 249.4 246.6 247.2 244.9 262.4 282.8 303.4 324.6 335.8 324.5 316.7 308.8 304.4 299.0 296.6 294.0 294.1 293.3 291.8 290.8 289.8 291.1 292.2 294.5 295.0 292.0 286.9 277.2 262.6 255.4 249.1 248.5 248.8 249.4 251.3 252.3 251.9 250.6 250.8 247.8 244.5 241.7 242.2 241.6 243.5 245.1 249.1 252.3 255.3 258.0 257.0 257.1 260.3 262.6 262.4 262.3 259.6 254.1 247.5 239.0 233.0 231.6 230.8 232.0 236.3 244.1 253.0 260.0 264.3 265.9 264.5 263.3 258.7 249.6 238.3 230.4 223.5 220.6 221.3 228.9 239.1 250.2 257.5 262.0 262.8 260.5 255.4 251.2 249.3 245.5 241.5 235.8 232.1 227.4 222.8 217.0 212.5 207.5 202.8 198.5 193.9 188.7 184.3 180.3 176.4 173.1 169.3 166.2 162.9 159.9 158.0 154.8 156.1 161.6 172.9 184.4 198.5 209.8 222.2 234.2 244.1 250.4 250.7 248.4 243.7 238.5 233.9 236.6 238.7 242.8 245.6 251.3 249.5 243.5 234.4 229.2 222.8 220.4 218.8 218.6 218.2 218.0 220.7 223.2 222.4 218.6 212.3 204.3 195.0 194.3 195.3 196.6 199.7 201.4 196.6 196.4 196.4 196.5 196.9 196.7 197.0 198.4 198.2 197.8 197.8 197.1 195.1 189.5 180.2 180.1 179.8 205.3 206.0 203.5 200.5 198.5 197.1 196.4 196.4 195.7 194.9 195.4 194.9 195.8 197.0 198.4 198.6 196.8 191.6 181.1 179.8 182.9 189.4 197.0 190.1 187.4 181.0 175.4 171.0 168.4 166.5 164.7 164.2 164.2 164.6 164.4 163.0 160.8 154.8 161.0 167.7 175.4 184.4 194.8 202.8 197.6 196.8 196.8 196.6 196.5 196.9 196.8 196.8 196.0 195.6 194.5 193.1 189.8 183.1 189.6 196.8 205.0 212.6 221.2 229.5 235.8 227.7 224.8 222.0 220.5 218.6 218.3 217.7 217.9 218.5 220.0 221.4 222.2 222.3 218.1 213.0 204.6 200.9 195.7 193.7 191.5 191.4 192.0 193.8 195.5 197.1 197.3 197.2 198.9 199.8 200.9 198.9 195.1 187.8 196.6 205.7 215.4 226.2 237.2 248.7 260.8 252.7 250.2 250.8 249.7 247.9 246.5 245.5 243.7 243.0 242.0 241.4 241.2 241.8 242.4 244.1 245.0 245.7 245.8 246.7 247.6 248.0 247.8 248.3 248.0 247.0 245.6 244.2 244.4 244.4 242.2 242.0 243.2 243.8 244.8 245.9 247.5 247.5 248.4 249.6 249.7 249.3 248.7 246.3 243.6 242.2 242.5 243.5 244.4 244.4 244.7 245.5 245.7 245.5 244.7 245.8 245.3 244.4 244.6 244.9 246.0 247.2 249.0 250.6 251.0 251.2 250.4 249.2 247.4 245.1 243.0 241.0 239.8 239.2 240.3 242.6 245.7 250.5 255.3 257.9 258.8 258.4 255.6 252.2 246.9 243.4 242.7 242.0 241.8 243.8 245.8 247.7 248.4 249.8 250.0 249.6 250.2 248.7 247.6 246.9 247.9 247.9 250.2 253.6 259.9 258.4 256.2 254.8 254.3 253.9 250.4 248.5 248.5 247.8 247.6 247.5 247.7 248.5 249.7 247.9", + "f0_timestep": "0.011609977324263039", + "energy": "-96.0 -94.3094 -91.4866 -87.593 -83.7124 -80.1443 -76.7181 -73.3169 -70.0865 -66.3284 -63.5008 -60.5257 -58.2108 -56.4144 -54.681 -53.6093 -52.706 -51.8749 -51.2954 -50.8493 -50.4417 -49.845 -49.4263 -49.1795 -48.875 -48.8167 -48.7717 -49.1033 -49.2032 -49.6492 -49.7477 -50.107 -50.5461 -51.0187 -52.0365 -53.2795 -54.6915 -56.4358 -57.7396 -58.6593 -57.803 -55.2013 -50.6697 -45.3961 -39.0419 -33.0644 -27.9217 -24.8297 -22.9372 -21.9994 -21.6064 -21.6795 -21.6807 -22.2252 -22.6057 -23.2264 -23.5747 -23.8081 -23.7341 -23.5387 -23.1131 -22.4831 -21.9055 -21.5075 -21.0767 -20.9267 -20.9925 -21.2772 -21.322 -21.3312 -21.4209 -21.6098 -21.2952 -21.4722 -21.3591 -21.3085 -21.3206 -21.6574 -21.5534 -21.8364 -21.858 -22.3334 -23.1435 -24.8258 -26.6609 -28.8362 -30.9749 -32.8539 -33.4175 -32.7396 -31.3989 -29.3983 -27.1279 -24.9274 -23.4634 -22.3246 -21.8604 -21.9051 -22.1782 -22.4839 -22.9073 -23.2415 -23.4812 -23.5142 -23.6022 -23.2775 -23.0808 -22.8177 -22.4549 -22.5543 -22.4247 -22.5145 -22.4891 -22.5867 -22.6718 -22.6534 -22.5508 -22.466 -22.4108 -22.4942 -22.708 -23.0823 -24.0613 -25.3593 -27.7398 -31.6162 -36.4248 -40.9584 -43.4326 -43.7385 -41.6823 -37.7677 -32.5333 -27.7852 -24.2671 -22.5665 -21.8949 -21.8696 -21.9017 -21.8548 -21.5516 -21.6329 -21.3323 -21.2752 -21.3572 -21.4797 -22.5516 -24.3195 -26.6704 -29.0188 -31.2933 -32.3513 -32.2923 -31.1726 -28.9956 -26.8619 -24.8301 -23.5164 -22.9586 -22.6113 -22.5098 -22.4587 -22.5374 -22.6804 -23.3375 -24.644 -26.7988 -29.6147 -32.5282 -34.6042 -35.5079 -34.8751 -32.5111 -29.3533 -26.1912 -23.9147 -22.2221 -21.4901 -21.0064 -20.656 -20.7627 -21.0411 -21.4755 -22.0904 -22.8754 -23.673 -24.3966 -24.8451 -24.9288 -24.8663 -24.4166 -24.0147 -23.7793 -23.3292 -23.052 -23.0945 -22.9931 -22.854 -22.8534 -22.7822 -22.8158 -22.8699 -23.2052 -23.563 -24.64 -26.0256 -28.1872 -30.8897 -34.3772 -37.505 -39.7763 -40.4036 -39.4142 -36.8748 -33.1605 -29.4727 -25.9237 -23.5103 -22.0914 -21.2229 -21.148 -20.7352 -20.7635 -20.7697 -20.7249 -20.8605 -21.0169 -21.2934 -21.4264 -21.5461 -21.794 -21.88 -21.6129 -21.5168 -21.3764 -21.1076 -20.8444 -20.952 -21.0237 -21.1402 -21.2607 -21.6573 -21.8406 -22.4044 -23.5623 -24.9062 -27.2305 -31.0204 -35.0994 -39.1748 -42.5405 -44.0155 -43.5456 -40.9404 -37.0381 -32.3696 -28.3362 -25.779 -23.5267 -22.6248 -21.9412 -21.7669 -21.9932 -22.2826 -22.6001 -23.0183 -23.3716 -23.7563 -24.186 -24.5261 -24.9193 -24.8793 -24.914 -25.1953 -25.2274 -25.3731 -25.8529 -26.3837 -26.9708 -27.6503 -28.4625 -29.3892 -30.1614 -31.3621 -32.5686 -33.5461 -34.3843 -35.0504 -35.6719 -36.1154 -36.6717 -37.9856 -39.7849 -42.4572 -45.4958 -48.3312 -50.7322 -51.9741 -52.533 -51.8899 -51.2068 -50.4966 -50.3749 -50.9832 -52.6534 -54.7873 -57.1491 -59.342 -60.2941 -59.5633 -56.9921 -53.4562 -48.5186 -43.6782 -38.8766 -34.8675 -31.6468 -28.7209 -26.4567 -24.5755 -23.7697 -23.2059 -23.1856 -23.2743 -23.069 -23.0366 -22.9308 -22.9276 -22.9328 -23.2874 -23.885 -24.8236 -26.3616 -27.9219 -29.3304 -29.8152 -29.7674 -29.0716 -27.6017 -25.9094 -24.479 -23.3372 -23.1264 -23.0659 -23.2326 -23.6086 -23.4549 -23.4006 -23.3399 -23.1065 -23.012 -23.4532 -24.3447 -26.0364 -28.9081 -31.3041 -32.9874 -33.5583 -32.5992 -30.9567 -28.3621 -25.7497 -23.991 -23.642 -23.2454 -23.3457 -23.3022 -23.2959 -23.6512 -23.5033 -23.7108 -24.0837 -25.1663 -26.5935 -28.0406 -29.2811 -29.5699 -29.149 -27.9214 -26.496 -24.9229 -23.8912 -23.5067 -23.6679 -23.8387 -24.101 -24.35 -24.5816 -24.7405 -24.4973 -24.5763 -24.7133 -25.134 -26.1943 -27.7701 -29.3356 -30.5819 -30.8162 -30.2292 -29.1632 -27.5731 -25.9215 -24.5888 -24.0311 -24.0658 -24.3242 -24.197 -24.3185 -24.274 -24.2825 -24.6029 -25.0865 -26.139 -27.9494 -30.2926 -32.1667 -33.4004 -33.2121 -32.3707 -30.145 -27.5372 -25.3552 -23.1395 -22.199 -21.6892 -21.8502 -21.7848 -21.8918 -22.1733 -22.3725 -22.6845 -23.4263 -24.3424 -25.7907 -27.0389 -28.9681 -30.4717 -30.9309 -30.587 -29.6789 -28.002 -26.2783 -24.8825 -24.0363 -23.2902 -23.1651 -23.034 -23.1563 -23.2354 -23.1736 -23.0723 -23.0305 -22.5941 -22.6641 -22.3776 -22.2924 -22.3727 -22.2988 -22.0695 -21.9348 -21.7091 -21.5049 -21.3021 -20.8582 -21.0457 -20.5669 -20.7773 -20.9628 -20.8248 -21.1862 -21.4747 -22.1572 -23.3171 -24.7564 -26.8687 -28.9967 -31.3806 -33.2379 -33.629 -32.7745 -31.3742 -28.9555 -26.4404 -24.3809 -22.4727 -21.7897 -21.3844 -21.3925 -21.6221 -22.1254 -22.1394 -22.4532 -22.6467 -22.7413 -22.7894 -22.7501 -22.6329 -22.4831 -22.2452 -22.0661 -21.9257 -21.775 -21.6527 -21.775 -21.6643 -21.6077 -22.0243 -21.8202 -22.0283 -21.9755 -21.9954 -21.8907 -22.0036 -21.8643 -22.0231 -21.9376 -21.9986 -21.8793 -21.682 -21.612 -21.4028 -21.3655 -21.3146 -21.291 -21.3788 -21.4606 -21.3979 -21.5754 -21.3581 -21.3943 -21.1746 -21.0962 -21.1905 -21.0177 -21.3985 -21.5049 -21.6329 -21.5835 -21.6411 -21.734 -21.6144 -21.7485 -21.4774 -21.4128 -21.3326 -20.9606 -21.1287 -21.0763 -21.3575 -21.5728 -21.7628 -22.3901 -22.8265 -23.7498 -24.4077 -24.9543 -25.647 -26.0988 -26.2178 -26.1102 -25.6717 -25.2077 -25.1223 -25.1478 -25.123 -25.5269 -26.0628 -26.9476 -27.5021 -27.836 -28.4804 -28.6477 -28.9468 -29.0354 -29.065 -29.3314 -29.788 -30.2143 -30.8451 -31.3604 -32.1164 -32.5067 -33.273 -34.022 -35.4948 -37.9737 -41.1373 -45.4677 -49.9762 -54.2961 -57.9349 -60.6471 -62.5381 -63.8931 -64.4426 -64.7795 -64.8878 -64.7184 -63.8492 -62.0426 -58.8358 -57.3239", + "energy_timestep": "0.011609977324263039", + "breathiness": "-96.0 -96.0 -95.0884 -92.2524 -88.4698 -84.9465 -80.939 -76.4849 -71.6702 -66.9052 -63.1381 -60.0484 -57.5892 -55.8429 -54.6579 -53.7123 -52.896 -52.2144 -51.6089 -50.9458 -50.1861 -49.717 -49.1855 -48.8367 -48.5799 -48.4008 -48.3384 -48.3678 -48.7104 -49.1017 -49.6066 -50.2842 -50.7714 -51.2139 -51.8211 -52.9828 -54.6101 -56.8691 -59.063 -60.3045 -59.5893 -57.3869 -53.4624 -49.2564 -45.2754 -42.4361 -42.3456 -43.7269 -46.0084 -48.3241 -50.5917 -52.2261 -53.3582 -54.4393 -55.6651 -57.5732 -59.7209 -61.7065 -63.353 -64.2174 -64.451 -64.053 -63.4421 -62.8385 -62.1768 -61.5894 -60.6909 -59.9732 -58.9666 -57.7939 -57.0478 -55.8644 -55.4673 -55.0964 -55.1204 -55.3011 -55.2799 -55.3541 -55.2464 -54.9976 -54.7155 -53.4709 -51.8788 -49.3661 -46.4869 -43.5089 -40.8304 -38.5027 -37.2989 -37.0284 -38.4179 -40.3924 -43.2769 -46.3238 -48.9102 -51.3081 -52.876 -53.9053 -54.1143 -54.3953 -54.5589 -54.4407 -54.2057 -54.2951 -54.3404 -54.4664 -54.9216 -55.2034 -55.698 -56.1617 -56.7367 -57.3505 -58.0117 -58.4867 -58.8267 -59.2596 -59.3483 -59.5805 -59.0798 -59.0104 -59.1316 -59.1567 -59.2543 -59.0333 -58.7074 -58.4895 -58.3625 -58.1606 -57.6768 -57.3516 -57.1147 -56.8419 -56.8169 -57.3653 -58.3405 -59.4162 -60.6102 -61.6609 -62.2367 -62.6477 -62.8894 -63.0254 -62.9144 -62.6081 -61.3677 -59.6461 -57.1913 -54.2723 -50.8144 -47.4864 -44.5148 -42.0168 -40.4142 -40.4122 -41.7591 -44.048 -46.8698 -49.7619 -52.2996 -54.3829 -55.6204 -56.2321 -56.1468 -55.8652 -55.8319 -55.9473 -55.8325 -55.2563 -54.0931 -52.3212 -49.818 -47.6635 -46.3727 -45.8951 -47.5874 -49.9418 -52.5521 -55.0512 -57.0531 -58.5316 -59.0658 -59.2315 -59.1545 -59.177 -59.0653 -59.0494 -58.8612 -58.8437 -58.9703 -59.2067 -59.1639 -59.3707 -59.4222 -59.8033 -59.9755 -60.151 -60.1516 -60.2606 -60.2458 -60.4637 -60.7614 -61.2204 -61.8603 -62.46 -62.8507 -62.3974 -61.2372 -59.1621 -56.2755 -53.6919 -51.1931 -50.1957 -49.7251 -51.006 -52.9078 -54.7774 -56.4839 -57.875 -58.797 -59.1391 -58.9583 -58.7142 -58.8237 -58.9102 -59.1005 -59.3312 -59.6466 -60.014 -60.1928 -60.2347 -60.0028 -59.7276 -58.8282 -57.8865 -57.238 -56.5934 -56.618 -57.1834 -57.9195 -58.9272 -60.2184 -61.3767 -62.3142 -62.4721 -62.172 -61.1186 -59.7367 -58.3843 -56.6416 -54.7917 -53.0496 -51.5544 -50.4577 -50.0589 -50.2403 -51.295 -52.4072 -53.7683 -54.8499 -55.3139 -55.2309 -54.6725 -54.3313 -54.0551 -54.1014 -54.0775 -53.9525 -53.8438 -53.5734 -53.2917 -53.193 -53.1459 -53.4116 -53.7882 -54.2797 -54.9812 -55.5287 -56.0191 -56.2494 -56.0903 -56.1033 -56.3356 -56.9393 -57.7372 -58.8363 -59.9883 -61.1059 -62.2556 -63.0842 -63.7208 -63.6581 -63.0532 -62.3751 -61.5183 -61.1458 -60.285 -59.3617 -58.0694 -56.2094 -54.5003 -52.3228 -50.9368 -50.0251 -50.1574 -51.2499 -53.1929 -56.4099 -59.1262 -60.9686 -61.0853 -59.6957 -56.4738 -52.4807 -48.0489 -44.8441 -42.6981 -41.7481 -42.2367 -43.0292 -44.2285 -45.6795 -47.251 -48.8662 -50.5349 -52.1947 -53.8 -55.3105 -55.9038 -55.9912 -54.4756 -52.1625 -49.0516 -45.1704 -41.608 -38.5574 -36.6936 -36.5616 -37.8596 -40.1401 -42.8963 -46.1316 -49.1898 -51.5588 -53.7507 -55.221 -56.797 -58.6318 -60.0515 -61.3598 -62.6194 -63.6157 -63.9172 -63.1845 -61.171 -58.3886 -55.274 -52.0095 -48.9648 -47.5761 -47.6098 -49.2869 -51.5612 -54.235 -56.5729 -58.5831 -60.1346 -61.2605 -62.3819 -63.6315 -64.935 -66.4498 -67.8921 -69.646 -70.8718 -71.1137 -70.1119 -68.1204 -65.0334 -61.866 -59.0618 -56.9255 -56.0303 -55.3877 -55.379 -55.5306 -55.6501 -56.0784 -56.9485 -57.8492 -58.956 -60.3587 -61.4581 -62.0468 -61.5672 -59.74 -57.0099 -53.8609 -50.7353 -48.3515 -47.4324 -47.6883 -48.9049 -50.6221 -52.2311 -53.5669 -54.7429 -55.607 -56.5274 -57.5262 -58.7202 -59.5308 -59.7425 -58.5995 -55.884 -52.1769 -47.6303 -43.579 -40.5227 -39.4247 -40.2743 -42.8607 -46.3124 -50.1471 -53.7282 -56.4194 -58.4949 -59.571 -59.8412 -59.8169 -59.5889 -58.3387 -56.0311 -52.7838 -48.9694 -44.6272 -40.717 -37.7348 -35.8237 -35.6034 -36.7859 -39.3621 -42.1662 -45.256 -48.3285 -50.6931 -52.4418 -53.5794 -54.8431 -55.7174 -56.7598 -57.5167 -58.2858 -59.0077 -59.5047 -60.064 -60.1344 -60.2859 -60.2067 -60.2439 -60.1972 -59.7828 -59.3158 -58.6862 -58.2901 -57.5819 -57.3017 -56.9311 -57.0248 -56.8634 -56.8595 -56.3874 -54.9203 -52.9506 -49.9927 -46.7389 -43.2304 -40.1943 -37.9677 -36.6354 -36.5109 -37.5086 -39.2965 -41.9805 -44.7524 -47.9791 -50.2859 -52.3472 -53.9609 -55.053 -55.6941 -56.4477 -57.114 -57.77 -58.1774 -58.4893 -58.9793 -59.0953 -59.3455 -59.3341 -59.063 -59.0306 -58.551 -58.0814 -57.6582 -57.5959 -57.2671 -56.9154 -56.9169 -56.8491 -57.0436 -57.299 -57.9049 -58.1391 -58.4784 -58.5681 -58.3861 -58.123 -57.8873 -57.4313 -57.3372 -57.2659 -56.8742 -56.938 -56.4582 -56.2968 -56.0027 -55.893 -55.7934 -55.9137 -56.2238 -56.5388 -56.7769 -57.2014 -57.382 -57.6168 -57.6266 -57.6083 -57.7081 -57.6318 -57.5922 -57.7364 -57.6837 -57.8539 -57.8429 -57.8481 -57.7208 -57.8161 -57.6589 -57.5079 -57.5248 -57.3807 -57.4643 -57.3505 -57.3867 -57.5991 -57.5118 -57.4584 -57.5625 -57.7531 -58.193 -59.181 -59.9235 -60.8211 -61.5712 -62.4329 -63.2358 -63.8347 -64.3692 -64.7146 -65.0974 -65.3948 -65.7603 -66.2145 -66.7592 -67.4511 -68.3875 -69.075 -69.9462 -70.5831 -71.0974 -71.3741 -71.5572 -70.6916 -68.9802 -66.9586 -64.5929 -62.4639 -60.9293 -60.4328 -61.1203 -61.9961 -63.4248 -64.8708 -66.2132 -67.3648 -68.5579 -69.7185 -70.6682 -71.2543 -70.5794 -69.5379 -69.0751", + "breathiness_timestep": "0.011609977324263039" + }, + { + "offset": 79.144, + "text": "AP 刀 可 捉 拳 也 耍 AP 偶 尔 闲 来 问 个 生 杀 SP", + "ph_seq": "AP d ao k e zh uo q van y E sh ua AP ou er x ian l ai w en g e sh eng sh a SP", + "ph_dur": "0.335 0.045 0.193 0.045 0.163 0.075 1.324 0.105 0.178 0.06 0.163 0.075 0.952 0.163 0.253 0.223 0.075 0.179 0.06 0.564 0.15 0.193 0.045 0.371 0.105 0.163 0.075 0.953 0.095", + "ph_num": "2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 1 1", + "note_seq": "rest B3 D4 E4 D4 E4 A3 rest B3 A3 B3 D4 B3 A3 B3 G3 rest", + "note_dur": "0.38 0.238 0.238 1.429 0.238 0.238 0.952 0.238 0.238 0.238 0.239 0.714 0.238 0.476 0.238 0.953 0.095", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "149.7 149.7 149.5 149.5 149.3 149.5 149.2 149.4 149.6 149.8 149.7 149.7 149.7 150.0 149.7 149.6 149.4 149.6 149.1 149.7 149.6 149.3 149.3 149.0 149.0 148.6 148.5 148.9 148.4 148.3 148.4 148.6 148.2 150.8 161.2 173.4 189.4 203.1 219.8 234.6 247.3 251.5 254.5 253.8 250.6 247.5 244.9 238.4 226.7 237.7 249.2 260.3 270.6 283.2 288.6 293.7 294.9 295.2 295.5 294.2 292.7 292.2 291.7 290.5 286.4 279.7 270.5 273.4 278.7 283.0 287.7 289.5 294.8 300.4 297.7 294.7 296.0 297.5 297.6 297.8 297.7 297.1 297.2 297.1 297.6 298.2 298.9 298.7 298.2 296.5 296.7 299.4 304.6 312.7 322.6 330.9 335.4 337.1 337.4 336.3 333.8 331.3 329.1 328.1 327.9 327.1 327.6 328.2 328.9 329.5 330.4 330.8 331.2 332.4 332.7 332.3 332.2 330.6 331.0 331.6 333.3 331.6 330.8 330.3 328.5 328.0 328.7 329.7 331.1 331.3 332.3 333.1 334.6 334.9 335.6 335.1 334.9 333.8 331.3 328.9 327.3 326.6 326.9 326.8 327.4 328.9 331.5 335.1 338.7 341.1 341.7 343.3 344.5 342.8 340.0 335.3 328.6 323.2 320.3 320.2 321.6 325.0 328.4 333.8 338.1 343.3 346.2 348.4 346.6 341.6 333.8 327.1 322.2 320.1 321.8 324.4 328.3 334.2 337.6 339.2 340.1 341.5 340.4 337.5 332.8 327.3 319.3 306.4 301.7 302.0 300.4 299.9 298.7 297.6 295.8 296.0 295.0 291.4 290.2 291.5 290.9 293.1 294.5 296.1 295.6 295.4 293.1 292.3 291.3 292.2 291.5 290.0 289.3 287.0 290.3 296.6 303.2 313.4 324.1 328.3 329.7 329.8 328.9 329.1 330.2 329.0 328.1 326.3 316.4 300.9 279.4 271.9 265.3 259.5 253.3 246.2 239.4 230.4 219.7 215.2 217.0 218.1 220.5 221.3 220.1 219.3 217.4 213.4 209.3 206.1 204.1 206.1 210.3 216.8 222.7 226.7 229.9 231.7 232.9 231.0 226.8 221.5 216.7 212.8 210.2 210.6 212.9 216.5 220.5 225.0 227.9 229.2 229.2 228.5 225.2 221.7 217.5 214.4 211.3 210.6 211.1 212.8 215.9 219.5 224.9 229.2 231.2 231.7 232.2 229.1 223.7 216.5 209.4 205.9 203.1 203.6 206.6 213.1 218.6 224.9 230.9 235.5 238.2 237.6 233.4 227.5 219.3 209.4 202.8 201.1 203.6 208.7 214.1 220.4 227.6 229.6 230.2 229.5 225.2 222.8 222.0 224.5 226.8 229.0 230.5 231.8 233.3 234.6 237.0 240.1 246.7 254.1 258.5 264.3 260.5 257.1 255.4 253.0 251.0 248.4 246.6 246.4 245.4 244.6 244.1 243.8 244.7 245.1 245.6 246.4 245.5 244.6 243.3 242.1 242.4 243.7 243.0 239.0 233.2 229.0 226.6 221.9 217.6 217.4 218.0 218.9 220.5 221.5 222.2 223.6 223.7 223.3 222.3 218.7 210.6 216.1 222.4 228.8 234.9 241.4 248.6 258.0 250.4 244.6 243.6 243.7 244.2 244.4 245.1 245.3 245.6 245.9 247.2 247.2 247.4 247.5 245.8 246.5 246.9 249.0 251.6 256.2 259.3 259.4 261.3 262.2 263.3 262.7 262.0 261.1 260.3 259.8 260.5 261.2 262.1 265.4 269.5 277.0 285.1 297.0 303.0 305.0 304.3 302.0 297.0 292.4 290.9 291.5 292.2 293.4 295.0 297.2 299.4 299.6 298.4 296.5 295.4 292.4 290.9 289.6 289.0 289.5 290.4 290.1 290.0 290.8 291.4 293.0 293.1 293.8 294.1 294.8 294.5 296.6 298.7 298.5 298.3 296.9 293.3 287.4 282.1 276.6 270.0 263.1 257.0 249.2 246.6 245.7 246.3 245.8 247.0 248.9 249.7 249.1 248.9 246.3 244.6 239.2 230.7 221.2 212.3 215.9 216.8 217.4 216.6 216.3 218.7 220.0 220.1 220.3 220.5 220.2 219.9 219.9 219.3 219.6 219.5 219.6 220.3 220.1 219.0 218.8 218.8 219.4 219.2 220.6 220.4 220.1 219.0 218.7 218.9 218.8 219.3 219.1 218.5 213.9 207.2 214.6 221.1 227.6 233.7 241.3 247.3 254.9 259.9 250.4 249.0 247.7 247.2 246.8 246.5 247.1 246.9 245.5 244.6 244.3 240.3 234.4 228.6 224.4 219.8 214.7 210.3 205.9 201.7 198.3 193.0 193.4 194.3 197.0 198.9 198.7 197.6 197.5 194.7 191.0 187.6 185.7 185.2 185.6 188.3 193.9 199.9 203.9 206.7 207.5 206.7 203.7 198.4 192.6 186.8 182.4 181.6 182.8 186.0 191.0 198.0 204.1 207.7 209.3 209.7 208.0 203.9 198.3 190.7 184.1 181.4 181.5 183.3 187.4 193.2 200.4 205.4 207.9 209.4 208.7 205.7 199.7 192.5 183.6 178.8 177.7 179.2 183.4 187.1 192.9 198.8 203.9 207.2 207.9 207.5 204.0 198.3 190.5 181.8 177.8 177.5 178.8 182.8 185.7 190.5 198.8 203.6 205.0 205.4 202.3 198.0 193.0 190.1 188.5 186.2 185.3 185.7 184.8 184.7 185.2", + "f0_timestep": "0.011609977324263039", + "energy": "-69.7716 -67.4253 -64.0391 -61.2484 -58.5513 -56.3528 -54.4246 -53.0137 -51.5748 -50.5218 -49.3598 -48.4889 -47.6152 -47.2428 -46.9001 -47.1551 -47.5841 -48.0028 -49.221 -50.5246 -52.1032 -54.1453 -55.7999 -57.8098 -59.3621 -59.8461 -58.2623 -55.2829 -50.2948 -44.4977 -38.4069 -32.7739 -27.8815 -24.8121 -23.0526 -21.6547 -21.3935 -21.2538 -21.2573 -21.2334 -21.5432 -21.6272 -22.0846 -22.6384 -23.6054 -25.6002 -28.0885 -31.3158 -34.0447 -36.4626 -36.7328 -35.7138 -33.1534 -29.9616 -26.6688 -23.7424 -22.1135 -21.1326 -20.6544 -20.92 -21.0996 -21.5725 -22.5667 -24.1308 -27.0217 -29.7283 -32.6049 -34.6972 -35.957 -35.8253 -34.4693 -32.0034 -29.3681 -26.8042 -24.4117 -22.4627 -21.2675 -20.7761 -20.4639 -19.9069 -19.7632 -20.1093 -20.3445 -20.275 -20.5367 -20.7949 -21.0169 -21.2421 -21.4771 -21.7614 -22.0397 -22.551 -22.8732 -22.8361 -23.0645 -22.9518 -22.7762 -22.5004 -22.5253 -22.5022 -22.3044 -22.3609 -22.248 -21.9661 -22.1673 -21.8861 -21.7658 -21.8103 -21.9405 -21.938 -21.9056 -21.9128 -21.5593 -21.4282 -21.7011 -21.5343 -21.5499 -21.8234 -21.9148 -21.8569 -21.9392 -21.5892 -21.6424 -21.7781 -21.6913 -21.771 -21.7482 -21.6673 -21.7811 -21.6871 -21.6663 -21.5864 -21.569 -21.5807 -21.5979 -21.4041 -21.2865 -21.0575 -20.8281 -20.6862 -20.4907 -20.3713 -20.3063 -20.1118 -20.1347 -19.8552 -20.0096 -20.0315 -20.1169 -20.4207 -20.5397 -20.5727 -20.8145 -20.6865 -20.8016 -20.7365 -20.5657 -20.3927 -20.5422 -20.559 -20.8776 -21.0277 -21.5842 -21.8867 -22.5176 -22.6921 -22.8881 -22.9688 -22.7915 -22.421 -22.1518 -21.6812 -21.7135 -21.6302 -21.9164 -22.2081 -22.7536 -23.2082 -23.4561 -23.7174 -23.8679 -23.521 -23.409 -23.454 -23.8591 -24.9294 -27.0429 -29.5158 -31.6645 -33.2532 -34.2935 -34.6901 -33.9276 -32.2348 -30.112 -27.847 -25.6097 -23.7091 -22.1657 -21.34 -20.7894 -20.6665 -20.6421 -20.4911 -20.556 -20.0758 -20.4218 -20.0997 -20.0411 -20.0904 -19.9326 -20.1912 -20.2348 -20.4547 -20.4767 -20.3571 -20.4073 -19.9646 -20.0107 -19.8145 -19.6492 -19.6938 -19.764 -19.8236 -19.928 -20.1305 -20.2495 -21.2934 -22.4756 -24.2504 -26.8021 -28.9327 -30.7133 -31.9886 -31.7581 -30.7634 -29.1827 -26.8332 -24.8978 -22.9468 -21.9237 -21.1238 -20.8066 -20.7183 -20.8245 -21.1125 -21.3687 -21.5751 -22.1152 -22.2607 -22.482 -22.4162 -22.1022 -21.8944 -21.6007 -21.3086 -20.8697 -20.5706 -20.8091 -20.7542 -20.8828 -20.9846 -21.1545 -21.2875 -21.3064 -21.1506 -20.8849 -20.7225 -20.2922 -20.2352 -19.9949 -19.8051 -19.6879 -19.5542 -19.3474 -19.6441 -19.5654 -19.6468 -19.889 -20.0684 -20.1683 -20.102 -20.4869 -20.5736 -20.8977 -20.926 -21.1316 -21.3884 -21.5254 -21.7634 -21.8004 -22.2879 -22.6356 -23.0511 -23.3517 -24.034 -24.4571 -24.8313 -25.2813 -25.5709 -25.8859 -25.9338 -26.4391 -26.6826 -27.2202 -28.0936 -29.1484 -30.0142 -31.0006 -31.8873 -32.83 -33.4551 -33.7278 -34.1928 -34.3191 -35.1017 -36.0054 -38.0539 -40.0456 -42.5566 -44.7574 -46.5214 -47.7103 -48.2508 -48.2798 -48.3445 -48.4084 -48.2576 -47.7206 -45.8846 -43.2183 -39.0205 -34.1743 -29.5425 -25.612 -22.2982 -20.5787 -19.7423 -19.5883 -19.8481 -20.2502 -20.6665 -20.8572 -21.1279 -21.3128 -21.4735 -21.6776 -21.7511 -21.8677 -21.7843 -21.7984 -21.9576 -21.7045 -21.9144 -21.9483 -21.782 -21.8446 -21.6991 -21.6571 -21.5993 -21.4505 -21.6597 -21.4434 -21.3631 -21.1419 -20.8699 -20.8012 -21.1014 -21.0896 -21.4393 -22.058 -22.9637 -24.7259 -26.4797 -28.7141 -31.2493 -33.4716 -34.9009 -34.4951 -33.1001 -30.7783 -27.9236 -24.9997 -23.1388 -21.8426 -21.2583 -21.1379 -21.0953 -21.2943 -21.5163 -21.6757 -21.8409 -21.7924 -21.8785 -21.7897 -21.689 -21.7854 -21.5166 -21.5411 -21.3016 -20.9149 -20.3756 -20.0994 -19.5974 -19.0476 -19.0026 -18.8576 -19.1991 -19.4518 -19.8276 -20.3238 -21.0204 -21.9734 -22.669 -22.9672 -23.431 -23.3204 -23.1645 -22.6127 -22.1965 -21.8509 -21.4409 -21.0251 -20.8 -21.1585 -21.3297 -21.575 -22.0484 -21.9959 -22.3644 -22.4073 -22.4251 -22.3176 -22.1228 -22.024 -21.9838 -22.0663 -22.122 -22.3747 -22.631 -22.7415 -22.9145 -23.2552 -23.6361 -23.8828 -24.1769 -24.4078 -24.1123 -23.9961 -24.0552 -23.9187 -23.8589 -23.7683 -23.7726 -23.6985 -23.3133 -23.016 -22.8491 -22.8274 -22.5953 -22.4162 -22.1602 -21.8736 -21.8779 -21.4929 -21.4684 -21.5097 -21.5327 -21.7881 -21.7983 -21.821 -21.716 -21.704 -21.5864 -21.8286 -22.8723 -24.4512 -26.736 -28.699 -30.0705 -30.1363 -29.3081 -27.8405 -25.3104 -23.1496 -21.6618 -20.8319 -20.7207 -20.4188 -20.2723 -20.1657 -20.1766 -20.0461 -20.1456 -20.2382 -20.2571 -20.3744 -20.3589 -20.3241 -20.1551 -20.1693 -20.0802 -20.3559 -20.3301 -20.4229 -20.5682 -20.7601 -20.7446 -21.0195 -20.8255 -20.932 -21.0174 -21.5954 -22.6539 -24.0413 -26.0251 -27.7973 -29.6565 -31.0657 -31.7832 -31.7544 -30.3672 -28.5116 -26.5567 -24.686 -22.8747 -21.7177 -21.1738 -20.7469 -20.6923 -21.0399 -21.2822 -21.46 -21.5537 -22.1134 -22.3969 -23.4327 -24.4469 -25.787 -27.3743 -28.9626 -30.0569 -30.3887 -29.9417 -28.7923 -27.1179 -25.4199 -23.8978 -22.4904 -21.8655 -21.8003 -21.7116 -22.0165 -22.299 -22.6487 -23.0387 -23.4013 -23.6941 -24.0399 -24.3019 -24.4159 -24.3043 -24.1811 -23.7767 -23.3374 -22.9178 -22.8152 -22.8717 -23.0226 -23.8607 -24.4644 -25.2307 -25.9537 -26.5679 -26.9697 -26.8823 -26.7042 -26.4722 -26.1184 -26.0087 -25.9239 -25.9142 -25.9729 -26.349 -26.822 -27.5931 -28.3187 -28.9995 -29.6152 -29.9819 -30.0032 -29.7457 -29.6086 -29.2202 -28.7854 -28.739 -29.0821 -29.5212 -30.333 -31.1882 -32.179 -32.8071 -33.2347 -33.3331 -33.284 -33.1272 -32.8125 -32.8047 -32.7381 -32.7523 -33.1829 -33.3749 -33.9929 -34.6285 -35.2461 -36.0495 -36.9015 -37.6329 -38.4881 -39.0363 -39.1892 -38.8316 -38.3616 -37.9105 -37.3518 -37.4249 -38.2357 -39.942 -42.8567 -46.5664 -50.6124 -54.1943 -56.6746 -57.0695 -56.0401 -54.7119", + "energy_timestep": "0.011609977324263039", + "breathiness": "-82.2954 -79.2073 -74.1486 -68.7278 -63.2737 -58.8326 -55.5474 -52.8528 -50.9938 -49.2801 -48.114 -47.3358 -46.8284 -46.2226 -46.1786 -46.4497 -47.0033 -48.1381 -49.6158 -51.5208 -54.2517 -57.1805 -60.1768 -63.8553 -67.1185 -68.8794 -67.9857 -65.4345 -61.5822 -57.1243 -53.044 -49.9053 -48.873 -48.8957 -49.2011 -49.1957 -48.9753 -48.8351 -49.1434 -50.3596 -51.7424 -53.3773 -54.5686 -54.8756 -54.3031 -52.802 -51.0866 -49.2783 -47.5184 -46.1796 -45.6353 -45.7282 -46.7509 -47.9926 -49.9531 -51.6702 -52.8703 -54.0146 -54.6498 -54.5041 -54.0012 -53.5616 -53.0266 -52.4734 -51.432 -49.742 -46.9948 -43.7152 -40.6027 -37.698 -35.4579 -34.9053 -36.6575 -40.0374 -44.0644 -48.4416 -52.6285 -55.8492 -58.2557 -59.571 -60.0696 -60.4925 -60.5968 -60.4864 -60.3669 -60.1496 -59.9919 -59.5597 -59.2901 -59.4172 -59.3093 -59.0644 -59.0028 -59.0252 -58.9892 -59.0701 -59.3345 -59.4967 -59.5787 -59.5899 -59.7821 -60.0741 -60.2454 -60.4242 -60.6185 -60.8434 -60.7998 -60.8206 -60.7117 -60.7449 -60.5562 -60.525 -60.587 -60.3338 -60.2784 -60.009 -59.7331 -59.6166 -59.37 -59.1721 -59.2423 -59.0867 -58.6386 -58.3462 -57.9692 -57.6946 -57.6794 -57.4938 -57.3612 -57.4091 -57.3266 -57.4963 -57.3068 -57.4318 -57.6468 -57.7604 -57.8026 -57.8797 -57.8748 -57.8053 -57.5407 -57.2724 -56.8285 -56.69 -56.3513 -56.3126 -56.3232 -56.5894 -56.9844 -57.2995 -57.4963 -57.231 -57.0171 -56.6811 -56.4761 -56.579 -56.5192 -56.6256 -56.7874 -56.9592 -56.855 -56.9438 -57.3546 -57.5305 -57.6631 -57.5566 -57.31 -57.0012 -56.6457 -56.3922 -56.44 -56.7831 -57.5175 -58.3851 -59.0055 -59.5189 -59.7328 -59.6221 -59.5415 -59.2359 -59.4499 -59.2422 -58.6294 -57.8795 -56.698 -55.0614 -52.5986 -49.4368 -46.1584 -42.8482 -39.9157 -37.6001 -36.6378 -37.0874 -38.3146 -40.7338 -43.6866 -47.2835 -50.8123 -54.1534 -57.3535 -59.8306 -61.5768 -63.0927 -64.3654 -65.3914 -65.3498 -65.3698 -65.0854 -64.6691 -63.9767 -63.2056 -61.9211 -60.1688 -58.0779 -56.2422 -54.5003 -53.2992 -52.6734 -52.5348 -52.8562 -53.3377 -53.8291 -54.4856 -54.6642 -54.5384 -53.5562 -51.4006 -48.5705 -45.2206 -41.2551 -37.8631 -35.3388 -34.2271 -34.5824 -35.9186 -38.3216 -41.4322 -44.4807 -47.3708 -49.6227 -51.0721 -52.1605 -52.6169 -52.8679 -53.2078 -53.4739 -53.3557 -53.3898 -53.1476 -52.8941 -52.6043 -52.3118 -52.0208 -52.1029 -52.5261 -52.9124 -53.4181 -53.8867 -53.9555 -53.9259 -53.974 -54.11 -53.8412 -53.8171 -53.8552 -53.3848 -53.3192 -53.1279 -53.1945 -53.2741 -53.5651 -53.7315 -54.1714 -53.9972 -54.0964 -53.9902 -54.1734 -54.1179 -53.9566 -53.5758 -53.3655 -53.1249 -53.1327 -53.4745 -53.5573 -53.9925 -54.0394 -53.9868 -53.5453 -53.3412 -53.1566 -53.4633 -53.7376 -54.2042 -54.9552 -55.3285 -55.6762 -56.1901 -56.9071 -57.5181 -58.2686 -58.8742 -59.226 -59.53 -59.6679 -59.8242 -60.5367 -61.6164 -62.6975 -63.5299 -64.5946 -65.2406 -65.4887 -65.2561 -64.3141 -63.0548 -61.268 -59.2161 -57.1037 -55.1076 -53.1117 -51.5289 -50.2222 -49.4485 -49.3866 -49.1461 -48.9611 -48.7133 -48.4158 -48.0374 -47.703 -47.5399 -48.0713 -49.0791 -49.9033 -51.02 -52.041 -53.0944 -54.0872 -55.2198 -56.0959 -56.9098 -57.9951 -58.7338 -59.4382 -59.9806 -60.6519 -60.7523 -61.1134 -61.3159 -61.4456 -61.1709 -60.4987 -59.3876 -58.1161 -56.8052 -55.6434 -54.8674 -54.6091 -54.603 -54.7026 -54.6207 -54.5953 -54.6916 -54.5099 -54.6206 -54.7718 -54.5227 -54.1567 -52.8769 -50.743 -48.4078 -45.8724 -43.3753 -41.475 -40.0759 -39.407 -39.4957 -40.2116 -41.5415 -43.4919 -45.8219 -48.4657 -51.208 -53.4813 -55.3289 -56.8066 -57.7923 -58.6487 -59.5445 -60.2058 -60.9935 -61.9092 -62.3746 -62.461 -62.2254 -61.7794 -60.6821 -59.6206 -57.9259 -56.6218 -55.3922 -54.5971 -54.4308 -54.2514 -54.2718 -54.377 -54.015 -53.6477 -53.0811 -52.8008 -52.4576 -52.1451 -52.1677 -52.0366 -51.8486 -51.9845 -52.5675 -53.5288 -54.6039 -56.0442 -57.2038 -58.2595 -58.6386 -59.0859 -59.1349 -59.0583 -58.8883 -58.7294 -58.4513 -57.9951 -57.8077 -57.6433 -57.5677 -57.7826 -58.1181 -58.7595 -59.3495 -60.006 -60.5209 -61.1607 -61.9166 -62.8973 -63.7559 -64.8595 -65.6697 -66.2425 -66.7248 -66.9279 -67.2586 -67.2978 -67.3229 -66.9424 -66.6068 -66.0352 -65.2424 -64.6406 -63.8901 -63.1559 -62.145 -61.4115 -60.3965 -59.7336 -59.1894 -59.1388 -59.6884 -60.6752 -61.8597 -63.0816 -63.9991 -64.4907 -64.321 -63.85 -62.7505 -61.5806 -59.5688 -56.9992 -54.2606 -51.9291 -50.0949 -49.3877 -49.8072 -51.1428 -52.8171 -54.5261 -55.7106 -56.6512 -56.9606 -56.9032 -56.7162 -56.4881 -56.479 -56.0619 -55.8296 -55.8951 -56.1618 -56.5992 -56.7107 -57.0331 -57.2755 -57.404 -57.1823 -57.3534 -57.3151 -57.288 -57.3655 -57.4892 -57.6092 -57.5552 -57.0955 -55.8909 -53.6424 -50.4886 -46.6883 -42.7963 -39.0525 -35.8894 -33.7453 -32.7944 -32.6027 -33.3739 -35.2828 -38.1771 -41.8508 -45.5529 -49.6493 -52.9232 -55.6609 -57.4498 -58.6533 -59.1665 -59.6783 -58.8777 -56.1999 -52.1094 -46.9827 -41.5337 -36.6094 -32.8084 -30.9831 -31.1485 -32.5662 -34.9218 -37.7276 -41.0534 -43.9773 -46.5125 -48.1751 -49.2043 -49.9654 -50.6468 -51.4805 -52.5711 -53.5573 -54.9039 -55.6756 -56.1468 -56.3409 -56.1388 -56.1364 -55.7564 -55.5288 -55.314 -55.0635 -54.9932 -54.6579 -54.4753 -54.3375 -54.6447 -54.9441 -55.8086 -56.6548 -57.5567 -58.1579 -58.5062 -58.5328 -58.4038 -58.1596 -57.9174 -57.5512 -57.8154 -58.1121 -58.6366 -59.3712 -59.8711 -60.4577 -60.9565 -61.3176 -61.5968 -61.5973 -61.3659 -61.467 -61.1354 -60.9829 -61.0335 -61.3734 -62.0419 -62.8512 -63.7097 -64.5136 -65.5345 -66.2434 -66.9194 -67.4353 -67.5141 -67.8243 -67.7643 -68.015 -68.0547 -68.154 -68.2689 -68.645 -69.2279 -70.0236 -71.1376 -72.2512 -73.4913 -74.8604 -76.0445 -76.9058 -77.0172 -76.8811 -75.9988 -74.3314 -71.8163 -68.773 -65.363 -62.3287 -59.9695 -58.9025 -58.8411 -59.3735 -60.1998 -60.7748 -61.1564", + "breathiness_timestep": "0.011609977324263039" + }, + { + "offset": 86.525, + "text": "AP 没 得 英 雄 名 讳 AP 掂 量 些 旧 事 抵 酒 价 SP", + "ph_seq": "AP m ei d e y ing x iong m ing h ui AP d ian l iang x ie j iu sh ir d i j iu j ia SP", + "ph_dur": "0.305 0.075 0.193 0.045 0.163 0.075 0.163 0.075 0.356 0.12 0.163 0.075 0.238 0.179 0.06 0.178 0.06 0.163 0.075 0.163 0.075 0.356 0.12 0.193 0.045 0.594 0.12 0.387 0.09 1.428 0.095", + "ph_num": "2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest G3 E3 G3 A3 B3 A3 rest G3 E3 G3 A3 B3 D4 D3 E3 rest", + "note_dur": "0.38 0.238 0.238 0.238 0.476 0.238 0.238 0.239 0.238 0.238 0.238 0.476 0.238 0.714 0.477 1.428 0.095", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "186.0 185.8 185.9 185.8 185.8 185.8 186.2 185.9 186.0 186.1 186.1 186.3 186.4 186.7 186.6 186.3 186.5 186.8 187.0 187.0 187.1 187.3 187.8 187.7 187.8 187.9 187.9 187.2 186.7 186.3 184.3 181.0 178.8 175.4 176.3 177.9 179.1 182.2 184.3 188.6 191.5 193.7 195.7 196.4 195.9 194.5 190.4 185.4 175.1 166.3 167.2 167.0 166.4 169.3 166.4 163.4 162.6 162.6 163.4 164.5 165.5 166.6 166.7 166.2 165.5 164.6 163.1 158.0 149.2 142.0 145.9 151.2 166.1 179.1 188.4 194.3 195.3 195.7 196.0 196.5 196.8 196.5 196.8 197.1 197.1 196.3 193.5 188.0 189.5 194.9 200.9 207.0 214.9 223.3 228.9 233.9 228.5 228.0 224.7 220.6 215.6 210.8 207.9 208.9 210.1 212.7 218.4 224.8 227.4 229.1 227.6 221.8 214.7 206.4 201.9 200.6 201.0 203.0 206.4 213.0 217.7 221.6 223.3 223.1 222.1 218.9 217.3 218.9 222.6 225.9 229.3 234.3 237.3 241.9 246.0 246.2 246.8 247.6 247.3 247.4 247.6 246.9 247.4 248.2 248.3 247.6 244.8 238.7 229.3 219.0 219.3 221.4 224.0 225.8 227.0 227.8 224.6 226.9 227.1 228.1 226.3 223.0 216.7 208.6 201.0 195.4 194.4 196.1 201.9 210.1 218.7 227.0 232.9 235.0 230.2 225.2 218.0 211.1 205.5 200.8 197.6 194.8 191.3 188.4 185.8 183.4 181.0 177.5 175.1 172.7 171.0 168.2 165.9 164.2 161.7 159.4 157.3 154.9 154.3 157.6 160.2 163.3 168.3 176.6 186.2 192.7 197.4 199.1 198.8 196.3 191.6 186.6 181.6 176.4 172.3 168.7 166.7 166.6 164.4 163.5 163.1 162.9 165.1 166.9 168.0 167.5 166.5 165.6 165.6 163.9 160.9 156.1 152.4 162.3 172.1 182.0 192.7 201.1 200.8 195.9 194.8 194.4 194.0 194.9 196.1 196.5 196.9 197.0 196.2 194.3 187.8 181.1 184.0 187.1 190.3 193.0 195.4 197.4 199.2 200.3 197.7 197.8 198.2 198.3 198.5 198.1 196.9 196.3 195.2 195.0 196.5 200.7 207.9 214.7 218.6 221.0 221.6 220.9 218.2 216.1 214.3 213.2 213.4 215.1 217.8 220.4 221.8 222.1 220.7 216.7 221.1 225.1 230.1 234.0 239.4 244.1 248.8 253.5 258.9 261.9 253.6 249.2 248.7 248.2 247.8 246.7 245.7 245.6 246.8 246.8 247.1 245.6 242.8 227.0 230.8 242.2 254.1 265.7 280.4 266.2 262.4 261.7 262.0 262.3 261.6 261.5 261.2 262.2 262.9 262.8 263.2 263.1 263.6 262.7 263.0 269.1 276.1 286.5 292.8 296.2 297.0 296.9 295.1 293.3 290.9 290.5 289.5 289.4 291.4 293.1 295.8 296.1 296.2 294.9 294.7 292.5 289.6 286.1 283.9 283.5 284.3 286.6 288.8 290.7 293.7 295.2 294.4 290.6 286.9 279.4 266.7 252.5 241.9 230.8 219.7 210.0 200.8 193.1 185.4 178.2 171.4 158.1 147.7 143.0 143.2 143.4 143.8 143.7 144.0 143.8 143.8 142.3 141.6 141.2 142.3 143.5 144.1 145.4 146.6 147.9 148.6 148.8 148.5 148.5 148.0 147.6 146.7 147.2 148.1 149.0 149.0 148.7 146.5 140.5 140.7 142.4 144.6 146.4 148.0 149.7 151.8 153.8 153.8 152.9 147.3 146.5 146.8 147.3 148.0 148.3 148.4 147.9 147.5 147.0 147.0 146.7 146.7 147.0 147.8 149.4 151.9 155.2 159.0 162.6 164.0 165.2 166.4 167.8 167.4 166.6 166.2 164.8 162.8 160.8 159.2 158.6 158.3 158.1 159.4 161.6 164.9 167.6 169.9 172.0 173.4 173.0 172.2 169.8 166.3 162.0 160.2 158.5 157.6 158.7 161.1 164.8 168.3 170.9 173.0 174.4 174.4 172.7 169.9 165.7 161.6 158.2 156.1 155.8 156.7 160.9 165.3 169.9 173.2 175.8 178.1 177.9 176.8 172.4 166.6 160.9 156.7 154.4 154.1 155.7 158.8 163.5 167.9 171.8 174.8 177.1 176.6 174.8 170.7 165.7 157.9 152.1 150.0 150.6 152.9 156.5 161.5 166.9 172.8 177.3 179.5 178.5 175.4 170.7 165.0 156.5 152.2 150.3 149.0 148.9 151.1 154.9 160.2 163.3 166.1 170.5 172.3 172.7 171.8 169.1 164.7 162.4 161.7 161.3 159.8 158.3 158.1 157.5 156.8 158.0", + "f0_timestep": "0.011609977324263039", + "energy": "-69.6202 -63.9466 -62.3796 -58.7964 -55.8835 -53.1044 -51.0651 -49.3564 -47.845 -46.7122 -45.7976 -45.576 -45.6027 -45.851 -46.525 -47.2397 -48.4085 -49.8802 -51.5763 -53.7268 -55.7543 -57.5055 -57.8497 -56.3819 -52.2057 -46.9958 -40.5806 -34.541 -29.1939 -24.8764 -22.578 -21.3436 -21.0302 -20.7794 -20.9473 -21.026 -21.3873 -21.6293 -21.799 -22.0638 -22.1881 -22.3298 -22.4994 -22.7969 -23.2814 -24.5472 -26.1382 -28.6157 -30.5882 -31.8652 -31.9253 -30.9331 -29.2708 -26.7869 -24.5196 -22.1836 -21.2314 -20.7818 -20.4511 -20.1813 -20.2882 -20.1868 -20.5754 -20.8622 -21.5365 -22.6425 -23.4225 -24.6719 -25.7343 -26.6637 -26.9805 -26.8538 -26.1035 -25.1971 -23.7931 -22.9489 -22.3512 -22.0481 -22.054 -22.0914 -22.1489 -22.2351 -22.437 -22.7029 -23.1225 -24.0965 -25.2344 -26.8592 -28.2403 -29.5747 -30.4033 -30.0885 -28.9408 -27.0699 -25.2263 -23.7831 -22.7241 -22.3255 -22.3313 -22.4533 -22.5701 -22.7784 -23.0173 -23.2346 -23.6896 -23.6847 -23.9791 -24.0928 -24.1176 -24.2551 -24.2985 -24.3666 -24.4633 -24.8331 -25.1488 -25.2791 -25.5879 -25.7248 -25.7292 -25.5139 -25.2536 -25.08 -24.5691 -24.2795 -23.7987 -23.329 -23.0406 -22.6454 -22.2993 -22.2545 -22.0862 -22.0803 -22.1505 -22.0592 -22.0371 -21.7154 -21.7033 -21.7505 -21.7749 -21.688 -21.8825 -21.8574 -21.9456 -22.1361 -22.5468 -23.1322 -24.5317 -26.4242 -29.3831 -32.4724 -34.8501 -36.227 -35.8903 -34.3969 -31.4948 -28.1892 -25.4863 -23.6667 -22.7714 -22.4342 -22.3678 -22.6002 -23.0465 -23.4461 -24.2503 -24.6842 -25.1785 -25.3219 -25.5869 -25.7963 -26.0401 -26.4468 -26.8191 -27.5882 -28.7361 -30.8805 -33.3778 -36.6108 -39.9073 -43.239 -45.6524 -47.3869 -48.3586 -48.5005 -48.3695 -48.4571 -48.5049 -48.7254 -49.2884 -48.863 -48.1244 -46.2737 -43.0415 -39.1463 -34.4939 -30.499 -27.5761 -25.4325 -24.5358 -23.9778 -24.1454 -24.1921 -24.5414 -24.9272 -24.9628 -24.9664 -25.1059 -25.0252 -24.65 -24.3183 -24.0844 -23.9627 -23.5924 -23.5279 -23.5627 -23.3386 -23.3211 -23.3534 -23.5196 -23.5218 -23.7949 -23.7005 -23.8751 -23.8914 -24.0012 -24.1336 -24.5816 -25.1548 -25.9422 -27.4544 -28.927 -30.5877 -32.0421 -32.6985 -32.4905 -31.2813 -29.6014 -27.5251 -25.5729 -23.8577 -23.0915 -22.7481 -22.5944 -22.8141 -22.8415 -23.3262 -23.8998 -24.8066 -26.5458 -28.6259 -30.8974 -33.0781 -34.5501 -35.3322 -35.223 -33.755 -31.6127 -29.0274 -26.792 -24.6688 -23.3718 -22.5678 -22.358 -22.0166 -22.4563 -22.6959 -23.1518 -23.2076 -23.6054 -24.2456 -24.4157 -24.4269 -24.4462 -24.2186 -24.1157 -23.7628 -23.5415 -23.1506 -23.2018 -23.1983 -23.1056 -23.069 -23.3113 -23.3102 -23.7166 -24.3186 -25.6515 -27.1557 -29.3545 -31.3141 -33.0329 -34.5342 -35.2572 -35.5898 -35.4972 -34.6217 -33.693 -32.2002 -30.2038 -28.0234 -26.024 -24.0727 -22.6953 -22.2109 -21.5733 -21.524 -21.3435 -21.5278 -21.744 -22.3052 -23.6163 -25.7449 -28.7138 -31.1791 -33.4216 -34.1099 -33.4919 -31.3237 -28.6385 -25.509 -22.9918 -21.4692 -20.9999 -20.2854 -20.1255 -20.0731 -20.2106 -20.0656 -20.2118 -20.3292 -20.6344 -21.0583 -21.5518 -21.7534 -22.1307 -22.2997 -22.1908 -22.0629 -21.6593 -21.3133 -21.2252 -20.9256 -21.0727 -21.1407 -21.282 -21.2959 -21.3301 -21.5671 -21.5145 -21.3911 -21.3948 -21.3303 -21.111 -21.0847 -21.098 -21.2035 -21.2812 -21.5516 -21.7096 -21.9459 -22.0803 -22.0835 -22.1077 -22.2704 -22.4017 -22.1345 -22.5498 -23.2099 -24.6951 -26.947 -29.6928 -32.758 -35.7269 -37.8457 -39.2117 -39.644 -38.8282 -37.206 -34.943 -32.1855 -29.5453 -26.9974 -24.845 -23.2927 -22.6216 -22.3827 -22.5174 -22.8434 -23.2258 -23.1707 -23.4444 -23.7006 -23.7857 -23.856 -23.81 -24.0347 -23.8685 -23.801 -23.8515 -23.8356 -23.7241 -23.6739 -23.6835 -23.7688 -23.6582 -23.7351 -23.8921 -23.9802 -24.4607 -25.0857 -26.273 -28.1446 -30.2619 -33.1003 -35.8305 -38.2073 -40.2524 -41.1404 -40.4243 -38.3209 -35.8303 -32.751 -29.81 -26.8896 -25.0616 -24.1726 -23.8229 -23.4143 -23.3143 -23.2623 -23.2007 -23.4863 -23.4114 -23.7771 -24.1315 -24.5797 -24.6828 -25.3138 -25.4991 -25.6298 -25.6233 -25.7275 -25.7956 -25.9043 -25.935 -25.766 -25.7255 -25.8104 -25.6948 -25.7942 -25.6969 -25.7702 -25.6379 -25.5068 -25.7385 -25.7674 -25.7302 -25.8311 -25.6988 -25.7722 -25.7166 -25.5452 -25.2941 -25.1727 -25.1455 -25.3893 -25.3024 -25.6789 -25.7513 -26.2555 -26.6898 -26.8743 -26.8121 -27.0295 -27.086 -27.1142 -26.9276 -27.0572 -27.2241 -27.4852 -27.7216 -27.6788 -28.1102 -28.0814 -28.4302 -28.4683 -28.454 -28.5268 -28.5978 -28.6873 -28.7596 -28.6734 -28.7048 -28.5137 -28.7536 -28.8008 -29.0557 -29.09 -29.4423 -29.5892 -29.7574 -30.2199 -30.281 -30.3461 -30.1956 -30.2485 -29.8416 -29.713 -29.2151 -29.2643 -29.1049 -29.3618 -29.6304 -30.0743 -30.5277 -31.1519 -31.8331 -32.2826 -32.6809 -32.8236 -33.1363 -32.8892 -32.8096 -32.8815 -32.6337 -32.6606 -32.599 -32.683 -33.0251 -33.3549 -34.0681 -34.7259 -35.5168 -36.2324 -36.8805 -37.7591 -38.0935 -38.2499 -38.3326 -38.2127 -38.2333 -38.466 -38.7665 -39.5126 -40.7685 -43.2257 -46.3094 -50.4087 -54.6939 -58.1996 -60.8122 -61.0912 -61.014 -57.93", + "energy_timestep": "0.011609977324263039", + "breathiness": "-72.0557 -67.207 -63.8697 -59.7345 -56.1637 -53.386 -51.0564 -49.4711 -48.0998 -47.0812 -46.1599 -45.5155 -45.5413 -45.6302 -46.0712 -46.8848 -47.9576 -49.2444 -51.1624 -53.6891 -56.4814 -59.2603 -61.8423 -63.7406 -64.8043 -65.1785 -64.6812 -63.8528 -62.3832 -60.7794 -59.1228 -57.6604 -56.1753 -54.7688 -54.0763 -53.9089 -53.8981 -54.3392 -54.6609 -54.9676 -55.0669 -55.3188 -55.3607 -55.5836 -56.2978 -57.19 -58.148 -58.5295 -58.0012 -56.9824 -55.4464 -54.1759 -52.7283 -52.3232 -52.3493 -52.7724 -53.3571 -53.8476 -54.1424 -54.0321 -53.9244 -53.7056 -53.781 -53.3636 -52.3319 -50.2743 -47.6851 -44.981 -42.9589 -41.7264 -41.4153 -42.5788 -44.5869 -46.8924 -49.4613 -51.6382 -53.8379 -55.8547 -57.8344 -59.3964 -60.2621 -60.7825 -60.2829 -58.9283 -55.9451 -52.2106 -47.7784 -43.5081 -39.3909 -36.1686 -34.2834 -33.4063 -33.6837 -35.2389 -37.98 -41.4944 -44.941 -48.1042 -50.7375 -52.7079 -53.8202 -54.7725 -55.8067 -57.1517 -58.3841 -59.6016 -60.6537 -61.423 -62.0778 -62.438 -62.6577 -63.0066 -63.4016 -63.9358 -64.7756 -65.9607 -67.0682 -68.3223 -68.9204 -69.7402 -69.6312 -69.2604 -68.9225 -68.0025 -67.3792 -66.7834 -66.3174 -65.7635 -65.5483 -64.9156 -64.1514 -63.0227 -61.9075 -60.9446 -60.1224 -59.572 -59.4858 -59.7548 -60.3183 -61.1044 -61.9644 -63.1631 -64.3335 -65.1182 -64.9863 -63.4212 -60.3889 -56.3349 -51.9631 -47.9066 -44.8213 -43.4899 -44.1727 -45.9489 -48.8309 -51.6137 -54.1729 -56.1285 -56.6706 -56.2804 -55.5347 -54.5375 -53.8805 -53.562 -53.8987 -54.7053 -55.5236 -56.2704 -56.832 -57.4364 -57.8057 -58.2918 -58.6734 -58.945 -59.0419 -58.6485 -58.0714 -57.0622 -55.9394 -54.471 -53.0485 -52.0629 -50.9985 -50.1518 -49.53 -49.2116 -49.7827 -50.6337 -51.5867 -51.7878 -50.6738 -48.6714 -45.6076 -42.7572 -40.6545 -40.2291 -41.7798 -43.9454 -46.7671 -49.8002 -52.2825 -54.6193 -56.5571 -58.1568 -59.8991 -61.4597 -63.0883 -63.8076 -63.9327 -63.8377 -63.1331 -62.3427 -61.6681 -60.8571 -59.7528 -58.5266 -57.157 -56.1439 -55.3747 -54.8136 -54.9809 -55.4979 -55.8985 -56.5201 -57.0188 -57.6387 -57.8651 -57.2097 -55.417 -52.5748 -49.0912 -44.8978 -41.3482 -38.5834 -37.7212 -38.7592 -41.1284 -43.8506 -46.9192 -49.6571 -51.8771 -53.2221 -54.1016 -54.1858 -54.2263 -54.3823 -54.531 -54.7843 -54.5957 -53.4635 -51.0366 -48.017 -43.9938 -40.4286 -37.5214 -36.3015 -36.3576 -38.1491 -41.1517 -44.2819 -47.7704 -50.8181 -53.1036 -54.8924 -56.2251 -56.8722 -57.7226 -58.3484 -58.7267 -59.0176 -59.3841 -59.5505 -60.0212 -60.4243 -60.9026 -61.7517 -62.334 -63.1445 -63.6989 -63.9825 -64.1872 -64.1126 -64.0401 -63.3787 -61.887 -59.1669 -55.8996 -51.9052 -47.7256 -43.8147 -40.3095 -37.8082 -36.3169 -35.706 -35.1273 -35.2643 -35.9461 -37.5373 -39.5376 -42.1848 -44.9734 -47.7999 -50.3119 -52.6305 -54.2615 -55.5835 -56.5549 -57.2988 -58.031 -58.2908 -57.8156 -56.7733 -54.6913 -52.5763 -49.7462 -47.6904 -46.1208 -46.1601 -46.9017 -48.1577 -50.02 -51.6884 -53.192 -54.0616 -54.4726 -54.5512 -54.3746 -54.1294 -53.9012 -53.689 -53.603 -53.4724 -53.6379 -53.6423 -53.8298 -54.1116 -54.2241 -54.7727 -55.2665 -55.8766 -56.3858 -57.3896 -57.827 -58.4266 -58.7512 -58.7045 -58.9081 -58.7309 -58.5233 -58.2769 -58.0304 -57.9441 -57.9532 -57.8385 -57.933 -58.0084 -58.2321 -58.4651 -58.2853 -57.9696 -57.8823 -57.4541 -57.2234 -57.0535 -56.8182 -56.4328 -55.9556 -55.1878 -54.0945 -52.4796 -50.0557 -47.6149 -45.0273 -42.6696 -41.0033 -39.697 -39.0522 -38.8915 -39.7724 -41.2851 -43.4118 -45.9508 -49.1114 -51.5421 -53.7196 -55.5736 -56.8796 -57.5271 -58.1966 -59.0521 -59.8198 -60.7151 -61.3381 -61.8865 -62.2628 -62.5649 -62.8615 -63.3327 -63.6323 -64.0802 -64.4802 -64.6978 -64.8313 -65.0219 -64.9586 -64.9505 -65.0667 -64.7332 -64.4989 -63.2866 -60.9493 -58.526 -55.155 -51.6123 -48.1685 -45.4632 -43.7051 -42.5768 -42.9236 -43.9505 -45.7588 -47.9646 -50.0635 -52.1321 -53.9654 -55.0452 -55.6489 -55.7556 -56.0553 -55.8388 -55.8755 -55.7075 -55.7067 -55.6372 -55.7747 -55.537 -55.4694 -55.1839 -55.0164 -54.6725 -54.6202 -54.3628 -54.5683 -54.81 -55.2069 -55.8325 -56.4092 -57.1651 -57.4471 -57.9498 -58.0211 -58.0357 -58.0241 -57.5509 -57.2027 -56.758 -56.2704 -55.9694 -55.6505 -55.4687 -55.2779 -55.0334 -54.8386 -54.9044 -55.041 -55.2827 -55.6328 -56.0877 -56.3666 -56.8954 -57.3649 -57.7356 -58.0901 -58.106 -58.035 -58.0302 -57.9354 -58.1454 -58.3574 -58.4003 -58.1098 -57.7717 -57.2164 -57.1246 -57.3783 -57.9929 -58.7801 -59.3894 -60.0602 -60.2041 -60.2868 -60.1553 -59.8082 -59.7799 -59.793 -59.618 -59.6499 -59.5184 -59.3302 -59.4228 -59.7132 -60.2003 -60.9104 -61.5238 -61.776 -62.1465 -62.3491 -62.4719 -62.0922 -62.0717 -61.7058 -61.3637 -61.2936 -61.4463 -62.0505 -62.7773 -63.5881 -64.2835 -65.1902 -65.0489 -65.1804 -65.0133 -64.5525 -64.3369 -64.2929 -64.0683 -64.0949 -64.3102 -64.6393 -65.4184 -66.1335 -67.2752 -68.3945 -69.6079 -70.8854 -71.9183 -72.8218 -73.5719 -73.8369 -73.9717 -73.9039 -73.3957 -72.5763 -71.1226 -69.2791 -67.014 -64.7134 -63.6388 -63.4272 -64.0991 -65.3194 -66.8023 -67.6874 -67.3781", + "breathiness_timestep": "0.011609977324263039" + }, + { + "offset": 93.448, + "text": "SP AP 向 江 南 折 过 花 AP 对 春 风 与 红 蜡 AP 多 情 总 似 我 风 流 爱 天 下 AP 人 世 肯 相 逢 知 己 幸 有 七 八 AP 邀 我 拍 坛 去 醉 眼 万 斗 烟 霞 AP 向 江 北 饮 过 马 AP 对 西 风 与 黄 沙 AP 无 情 也 似 我 向 剑 底 斩 桃 花 AP 人 世 难 相 逢 AP 谢 青 山 催 白 发 AP 慷 慨 唯 霜 雪 相 赠 眉 间 一 道 疤 SP", + "ph_seq": "SP AP x iang j iang n an zh e g uo h ua AP d ui ch un f eng y v h ong l a AP d uo q ing z ong s i0 w o f eng l iu ai t ian x ia AP r en sh ir k en x iang f eng zh ir j i x ing y ou q i b a AP y ao w o p ai t an q v z ui y En w an d ou y En x ia AP x iang j iang b ei y in g uo m a AP d ui x i f eng y v h uang sh a AP w u q ing y E s i0 w o x iang j ian d i zh an t ao h ua AP r en sh ir n an x iang f eng AP x ie q ing sh an c ui b ai f a AP k ang k ai w ei sh uang x ve x iang z eng m ei j ian y i d ao b a SP", + "ph_dur": "0.08 0.4 0.12 0.193 0.045 0.193 0.045 0.178 0.06 0.193 0.045 0.163 0.075 0.476 0.193 0.045 0.163 0.075 0.194 0.045 0.193 0.045 0.178 0.06 0.193 0.045 0.476 0.193 0.045 0.163 0.075 0.193 0.045 0.163 0.075 0.164 0.075 0.163 0.075 0.386 0.09 0.416 0.461 0.075 0.356 0.12 0.477 0.163 0.075 0.163 0.075 0.178 0.06 0.163 0.075 0.401 0.075 0.639 0.075 0.179 0.06 0.163 0.075 0.163 0.075 0.163 0.075 0.193 0.045 0.476 0.148 0.09 0.178 0.06 0.178 0.06 0.178 0.06 0.164 0.075 0.178 0.06 0.416 0.06 0.163 0.075 0.193 0.045 0.326 0.15 0.356 0.12 0.477 0.133 0.105 0.193 0.045 0.193 0.045 0.193 0.045 0.193 0.045 0.178 0.06 0.476 0.193 0.045 0.164 0.075 0.178 0.06 0.178 0.06 0.163 0.075 0.163 0.075 0.476 0.178 0.06 0.163 0.075 0.178 0.06 0.164 0.075 0.178 0.06 0.163 0.075 0.416 0.06 0.193 0.045 0.178 0.06 0.416 0.06 0.401 0.075 0.477 0.148 0.09 0.163 0.075 0.178 0.06 0.163 0.075 0.416 0.06 0.476 0.119 0.12 0.163 0.075 0.163 0.075 0.178 0.06 0.193 0.045 0.178 0.06 0.476 0.163 0.075 0.193 0.045 0.178 0.06 0.164 0.075 0.163 0.075 0.163 0.075 0.431 0.045 0.193 0.045 0.178 0.06 0.193 0.045 0.193 0.045 0.417 0.06 2.38 0.238", + "ph_num": "1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest rest B3 B3 A3 G3 A3 B3 rest B3 B3 A3 B3 E4 D4 rest D4 D4 B3 D4 E4 G4 E4 D4 B3 A3 B3 rest B3 B3 A3 G3 A3 A3 A3 G3 A3 B3 E3 rest E3 E3 D3 E3 G3 A3 A3 G3 A3 D4 B3 rest B3 B3 A3 G3 A3 B3 rest B3 B3 A3 B3 E4 D4 rest D4 D4 B3 D4 E4 G4 E4 D4 B3 A3 B3 rest B3 B3 A3 G3 A3 rest G3 A3 B3 A3 B3 D4 rest D4 D4 B3 A3 B3 E4 D4 E4 F#4 E4 D4 E4 rest", + "note_dur": "0.2 0.4 0.238 0.238 0.238 0.238 0.238 0.476 0.238 0.238 0.239 0.238 0.238 0.238 0.476 0.238 0.238 0.238 0.238 0.239 0.238 0.476 0.238 0.238 0.476 0.476 0.477 0.238 0.238 0.238 0.238 0.476 0.714 0.239 0.238 0.238 0.238 0.238 0.476 0.238 0.238 0.238 0.238 0.239 0.238 0.476 0.238 0.238 0.476 0.476 0.477 0.238 0.238 0.238 0.238 0.238 0.238 0.476 0.238 0.239 0.238 0.238 0.238 0.238 0.476 0.238 0.238 0.238 0.239 0.238 0.238 0.476 0.238 0.238 0.476 0.476 0.477 0.238 0.238 0.238 0.238 0.476 0.476 0.239 0.238 0.238 0.238 0.238 0.238 0.476 0.238 0.238 0.238 0.239 0.238 0.238 0.476 0.238 0.238 0.238 0.238 0.477 2.38 0.238", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "147.5 147.5 147.5 147.3 147.4 147.1 147.0 147.1 147.0 146.8 147.0 146.9 147.5 147.5 147.7 147.8 147.3 147.3 147.4 147.4 147.0 147.2 147.2 147.2 147.4 147.5 147.3 147.3 147.3 147.5 147.6 147.3 147.6 147.6 147.6 147.8 147.7 147.6 147.9 147.5 147.4 147.5 147.4 147.6 147.0 147.0 147.0 147.1 146.6 146.6 147.2 147.1 147.6 148.1 152.6 161.5 177.9 190.9 209.0 224.5 237.8 249.8 251.0 249.3 245.1 240.2 233.1 221.7 212.2 222.6 233.0 244.8 254.0 255.2 253.3 253.0 251.5 247.1 244.5 242.7 243.1 244.1 244.9 246.4 251.8 256.2 256.4 255.3 252.7 248.2 242.1 236.1 228.0 220.5 217.6 216.5 216.7 219.0 221.1 221.9 222.1 222.1 221.6 219.3 217.4 214.4 210.2 204.2 196.4 194.7 194.8 195.2 195.6 196.7 192.9 193.1 193.2 194.4 196.2 197.0 197.8 197.5 196.9 196.1 194.7 192.8 189.5 186.3 181.0 187.7 195.2 203.2 212.9 221.3 221.9 222.4 222.5 221.5 221.6 221.2 220.3 220.0 219.7 218.4 218.1 216.4 212.2 203.5 207.2 213.1 218.8 226.0 233.5 241.0 251.2 252.7 255.3 257.6 258.5 257.6 253.4 247.8 242.0 237.9 233.8 232.5 234.4 239.2 244.5 251.1 255.9 259.0 260.1 258.6 255.3 249.3 242.2 233.4 227.2 223.3 222.6 225.8 232.1 240.6 251.3 259.9 264.5 264.3 261.0 252.6 244.4 235.7 231.7 227.2 223.9 219.3 215.9 211.8 208.7 205.3 201.7 197.9 194.7 191.4 188.0 184.8 181.3 178.0 174.7 171.1 168.6 165.4 162.4 159.3 157.3 154.0 152.4 159.2 173.5 188.0 205.4 221.7 237.7 248.4 253.6 256.0 253.1 247.2 239.6 223.6 226.6 231.3 236.0 241.9 247.9 253.4 258.1 254.7 251.3 250.3 247.8 247.8 246.7 246.7 246.7 246.8 247.3 243.9 236.9 228.0 212.6 203.8 210.1 214.1 218.3 222.5 221.9 217.6 219.5 219.8 219.8 218.9 219.4 220.8 220.5 220.0 220.1 220.7 221.6 221.9 223.1 223.1 225.9 225.4 226.3 229.7 237.4 243.0 244.4 244.9 245.5 245.4 246.1 246.8 247.0 248.0 249.5 249.4 249.6 249.2 245.4 239.3 230.4 229.2 227.3 225.3 223.2 219.1 218.8 223.3 241.4 256.6 277.4 298.4 312.0 322.5 328.7 331.5 331.8 332.1 330.0 329.8 329.1 327.6 324.7 319.6 312.8 310.9 306.9 301.3 294.1 290.2 290.4 291.9 293.3 293.4 293.3 292.3 289.6 288.3 287.9 288.1 288.4 289.3 290.6 292.8 296.6 300.5 304.5 305.4 304.0 300.1 295.3 290.3 286.6 283.9 285.1 287.4 292.0 298.0 302.6 306.7 309.5 310.6 309.7 306.2 301.3 295.8 290.9 289.7 278.5 269.2 262.8 256.6 250.8 244.8 240.0 234.9 230.2 225.4 219.2 214.2 209.2 204.3 199.3 194.3 189.9 184.8 180.2 177.6 178.0 197.6 220.6 246.3 274.0 292.1 303.1 308.9 308.0 303.5 297.3 291.3 284.8 277.3 271.4 278.0 282.1 287.3 292.6 298.0 298.8 296.2 295.3 294.6 294.9 294.5 295.5 294.8 294.8 293.5 293.2 292.6 290.3 286.2 277.9 267.9 264.2 273.9 285.2 295.0 308.5 305.1 302.4 300.7 293.4 283.6 272.0 264.4 258.8 254.8 251.9 250.0 247.4 242.1 248.5 256.2 264.3 271.3 280.0 287.4 296.5 305.9 297.7 292.0 292.4 292.5 293.3 294.9 295.6 295.8 294.9 294.9 294.2 293.7 294.4 292.0 288.6 286.9 292.9 301.5 313.5 323.4 329.8 331.6 333.7 332.6 330.9 329.9 328.9 328.7 329.4 329.8 329.7 329.0 326.7 320.9 302.4 314.9 327.7 345.3 362.4 382.0 390.8 392.9 397.0 397.4 395.4 393.3 389.4 383.9 380.5 377.8 378.2 380.7 386.8 390.9 392.4 394.2 394.2 392.9 389.9 390.4 392.0 392.4 391.4 389.0 387.8 388.1 386.9 387.5 389.7 390.1 390.9 391.5 392.4 392.9 393.0 391.5 390.0 387.6 383.1 379.0 370.5 363.9 358.2 353.9 348.8 345.5 341.3 338.5 335.5 334.1 333.4 331.1 329.5 328.0 328.0 328.5 330.7 332.2 330.6 327.0 318.4 306.3 299.3 292.0 292.1 291.1 291.2 293.1 294.8 294.7 293.5 291.0 287.4 283.3 279.9 277.1 273.6 269.9 265.0 259.5 254.3 249.3 246.6 245.8 245.3 245.9 245.5 245.0 244.1 244.5 245.6 247.1 249.1 250.0 249.1 249.2 248.4 248.2 246.5 245.0 244.1 244.9 245.0 245.9 247.2 249.1 251.3 250.2 249.0 248.5 247.8 247.3 245.4 238.1 229.8 223.2 221.8 220.3 219.1 218.4 217.1 215.9 215.9 214.8 217.1 218.4 219.2 218.7 218.4 217.8 217.5 218.1 218.4 217.8 218.6 218.5 219.1 219.4 220.4 220.7 220.4 219.4 219.1 218.8 219.0 220.3 220.8 220.5 222.0 222.6 223.2 223.4 223.0 221.3 217.8 212.0 207.1 212.1 217.9 223.2 229.1 234.5 239.4 245.9 252.1 258.9 257.3 258.9 258.0 255.1 252.2 247.8 242.8 240.6 238.6 237.8 240.3 242.7 247.2 252.0 257.1 259.7 260.6 259.9 257.1 252.2 243.8 232.5 226.0 223.8 225.6 231.5 239.9 249.2 257.4 263.4 267.1 267.9 265.5 258.8 248.3 233.5 224.2 216.3 210.3 203.5 199.1 194.1 190.1 186.0 182.4 178.9 175.4 171.6 168.4 165.3 161.7 158.7 155.7 153.1 150.3 147.6 144.6 142.1 146.8 153.3 162.0 169.0 181.1 194.5 215.3 232.6 249.6 258.6 257.0 251.6 240.8 234.3 231.2 230.4 234.6 237.7 241.5 245.1 248.8 252.9 257.6 259.4 256.6 257.4 256.5 254.1 251.9 250.0 248.3 248.7 249.7 250.1 249.8 247.0 239.3 218.4 220.3 222.5 224.9 227.7 229.2 222.0 219.5 218.2 219.8 221.4 221.9 221.0 219.7 217.1 215.9 214.3 212.8 207.1 196.9 193.8 192.4 190.9 189.7 188.9 186.9 186.1 183.6 184.8 186.8 189.1 191.5 193.3 195.0 196.3 196.1 195.3 194.3 193.8 193.4 193.6 194.3 195.2 195.4 195.1 194.9 195.4 196.1 195.3 195.1 195.4 195.8 196.5 197.4 198.1 197.4 196.7 195.6 193.4 186.9 176.6 170.6 179.5 190.0 200.4 212.2 224.8 236.0 230.9 228.5 226.7 223.9 221.4 219.0 216.7 215.8 216.5 217.2 219.6 222.6 226.0 227.7 226.7 227.3 227.2 225.5 224.5 221.4 219.0 217.2 215.7 215.9 216.8 218.2 220.5 222.7 224.4 225.3 223.4 220.3 215.8 213.1 212.7 214.5 217.7 221.4 226.0 228.3 231.1 230.5 228.9 226.5 222.7 221.0 220.5 220.3 218.8 218.9 220.5 222.0 220.3 216.9 213.4 215.8 217.9 221.1 224.6 228.1 233.2 227.3 221.8 222.7 222.5 222.0 221.3 220.8 220.7 220.9 220.8 220.8 221.1 220.4 216.9 209.1 200.4 206.6 212.9 218.8 226.1 229.6 224.0 222.8 222.4 222.3 221.8 221.0 220.9 220.5 219.8 221.2 221.2 219.3 210.6 202.5 201.5 201.9 200.9 200.3 199.1 198.6 196.1 193.4 193.9 194.1 195.4 196.4 197.7 198.1 198.0 197.8 196.8 195.8 195.0 195.9 195.9 196.1 197.4 199.5 203.2 211.3 216.2 219.4 220.2 221.8 222.7 222.1 221.7 220.8 220.4 219.5 219.5 219.3 218.7 212.9 206.2 213.0 220.7 229.2 236.5 245.5 254.4 265.2 258.0 249.7 247.0 247.7 247.6 247.8 248.7 249.5 249.9 248.3 245.1 237.0 216.1 211.8 205.8 194.5 184.8 175.8 168.1 158.5 156.9 158.4 163.4 165.3 167.4 168.6 167.4 162.9 157.2 152.6 149.1 148.7 150.1 154.3 160.5 168.2 175.0 180.5 182.6 181.1 176.0 167.7 159.9 151.9 148.9 148.6 151.4 155.1 161.3 167.6 172.5 175.0 177.3 178.5 177.4 173.7 168.6 169.4 169.0 169.1 168.8 168.5 168.3 167.7 166.5 165.5 164.4 163.0 160.6 158.6 156.7 155.2 154.5 153.9 153.6 153.2 153.2 152.9 153.1 152.8 152.2 150.0 149.7 150.2 150.2 150.1 149.7 149.5 151.9 156.3 161.7 165.8 167.4 167.5 167.0 166.9 167.1 167.1 166.4 167.2 166.2 165.4 163.7 162.6 162.5 163.3 165.0 166.9 166.8 166.1 165.2 164.6 163.3 163.0 158.3 153.9 148.7 146.9 144.0 142.3 140.6 140.6 141.5 143.4 144.9 145.2 146.1 146.4 146.7 147.2 147.8 148.4 147.8 147.0 146.2 144.7 143.6 141.2 141.0 142.8 144.7 147.1 152.6 159.0 160.3 162.1 162.4 162.9 163.5 163.8 164.6 164.5 164.0 164.2 163.9 162.8 161.7 157.0 163.5 169.4 176.2 182.7 189.5 196.8 197.7 197.7 197.3 196.3 195.9 195.3 194.4 195.4 196.7 197.4 197.7 197.5 195.1 182.6 186.0 189.2 195.4 200.1 205.1 210.4 204.5 201.2 202.3 202.1 201.5 201.2 200.8 199.8 198.0 196.0 194.6 193.6 193.7 198.4 205.4 214.9 220.9 225.4 225.4 223.1 219.6 215.9 213.4 212.4 213.5 215.4 218.5 220.8 221.3 221.7 221.7 222.7 223.1 222.5 221.0 219.4 218.2 217.8 218.3 219.2 221.0 218.9 220.5 223.1 222.7 223.8 222.5 220.8 218.4 218.6 219.4 219.5 219.9 219.6 218.1 213.5 207.9 201.9 196.5 193.9 192.0 192.4 193.4 194.1 195.3 196.2 196.5 196.5 196.4 196.4 196.3 194.9 195.1 195.7 196.4 195.5 195.2 195.3 193.8 208.8 221.2 226.0 225.6 225.2 225.3 225.3 224.6 222.6 221.1 219.6 219.2 218.7 217.9 217.0 217.6 218.1 217.5 218.4 218.1 218.8 219.7 220.3 220.4 220.6 220.1 220.6 221.1 221.8 221.9 221.5 221.0 220.4 220.6 221.2 221.1 218.9 217.8 215.4 211.8 211.2 220.5 232.3 241.4 247.3 251.5 254.4 256.3 257.4 258.8 257.6 255.4 254.5 254.8 255.0 256.1 258.8 262.5 265.7 277.0 286.3 294.4 297.6 300.2 298.5 297.4 294.7 292.7 291.7 293.3 294.3 294.9 292.3 286.4 277.9 270.5 268.0 265.2 263.2 260.9 258.9 256.1 253.5 251.8 248.1 242.9 242.8 247.3 250.8 253.0 254.1 253.3 249.4 243.9 237.9 233.8 233.3 236.2 241.7 247.9 254.4 259.9 263.8 264.4 263.3 259.9 253.0 242.7 232.3 226.0 224.3 225.6 227.3 234.2 242.7 251.5 259.5 265.0 265.9 264.3 259.2 251.0 243.0 234.1 223.9 219.6 216.4 214.1 211.7 209.4 207.1 204.7 202.8 201.0 198.7 196.5 194.4 192.2 190.1 188.1 185.3 183.0 180.7 177.7 174.6 171.1 168.6 166.5 168.8 177.1 188.6 197.6 208.2 219.5 235.1 245.9 251.0 250.6 247.7 243.1 237.7 230.0 223.8 223.5 231.7 241.5 251.0 253.4 250.4 249.6 248.0 246.3 245.2 244.8 244.3 244.2 245.0 246.1 246.9 248.6 246.9 243.4 235.8 228.3 228.6 230.9 245.0 233.0 226.5 221.3 220.3 219.5 218.0 218.5 219.2 220.1 220.4 219.5 219.6 218.8 219.3 216.1 212.4 206.5 201.1 196.5 191.2 190.4 189.9 190.1 191.1 193.5 195.8 196.9 197.0 196.7 196.9 196.0 196.4 196.5 195.1 193.4 186.3 186.4 196.8 204.7 214.4 224.1 226.9 223.2 221.2 220.8 220.7 220.7 221.3 222.0 221.5 221.3 221.4 221.2 220.5 220.3 221.0 219.7 221.4 222.2 223.8 223.2 224.1 222.1 222.6 223.7 224.9 225.0 224.5 223.3 223.0 223.1 223.8 224.7 227.2 229.7 234.8 241.3 247.6 253.1 256.4 257.0 256.4 256.0 253.9 248.6 242.4 237.6 234.9 234.9 236.3 242.0 248.9 254.6 258.7 261.0 262.0 262.2 257.2 249.7 238.7 233.3 228.6 222.8 218.2 213.7 209.3 205.6 202.0 198.5 195.0 192.1 188.9 185.6 182.4 179.2 176.0 172.9 169.8 166.9 163.9 161.3 157.7 155.1 151.7 152.4 160.8 177.5 191.1 208.6 225.5 240.5 251.1 254.8 255.2 250.9 245.6 238.2 225.4 228.0 232.8 237.5 243.2 248.2 254.9 251.5 248.5 249.7 248.7 247.9 247.2 246.1 246.8 247.0 247.0 246.0 243.7 238.7 229.6 211.8 213.0 215.1 217.4 219.9 221.7 218.6 218.1 219.0 219.4 220.1 220.1 220.8 221.9 221.0 219.9 219.5 220.1 220.2 221.0 221.2 223.4 224.6 226.6 229.1 239.2 244.6 247.6 247.0 248.7 248.9 248.0 247.8 247.9 248.1 248.7 249.7 249.8 248.3 242.7 235.9 227.9 241.1 252.9 266.4 282.2 298.8 322.1 323.5 327.7 330.9 332.1 330.0 330.0 330.4 329.8 330.1 329.7 326.9 321.6 311.5 301.2 303.0 305.3 307.8 310.5 312.2 309.7 301.5 297.7 298.5 300.1 302.2 302.0 300.4 297.1 293.7 290.0 283.4 279.6 278.3 279.8 283.4 289.3 295.8 302.2 307.0 310.4 311.0 308.8 303.0 293.7 286.3 279.0 274.6 276.0 281.0 288.8 295.6 302.9 309.9 315.1 316.5 311.5 298.7 283.1 277.7 271.7 266.8 260.8 254.0 248.9 244.7 240.4 236.6 232.5 229.1 224.6 220.6 216.3 212.2 208.7 205.0 201.9 198.7 195.6 193.1 189.7 191.4 200.8 210.5 222.1 238.0 258.2 277.1 293.3 299.1 301.7 299.8 293.1 288.8 282.3 274.6 268.6 275.7 282.3 290.0 296.6 303.9 307.7 304.7 300.3 300.3 297.1 296.2 294.7 294.8 293.7 293.2 293.9 293.8 292.7 291.7 288.7 286.2 281.1 274.1 270.6 269.9 276.6 280.3 282.2 282.2 282.6 276.6 270.3 264.4 261.0 256.3 252.9 251.7 249.0 244.8 239.1 246.9 257.2 267.4 276.0 285.3 295.4 304.0 297.3 292.4 292.5 292.2 293.1 293.5 294.2 295.2 294.8 294.9 294.7 292.6 291.0 291.4 289.8 288.7 292.0 298.4 308.2 317.9 323.4 328.9 330.6 331.1 330.8 330.8 330.2 330.3 330.9 330.6 329.8 330.6 326.7 320.0 310.3 320.4 333.5 346.2 358.3 373.6 389.6 395.8 393.9 398.3 400.5 402.0 401.7 399.8 397.5 392.6 389.3 386.8 386.3 389.1 389.9 391.7 393.7 396.0 394.0 394.7 393.7 392.8 389.6 387.1 385.7 387.1 388.1 390.9 392.2 390.9 390.8 390.2 390.0 388.1 382.6 375.3 364.8 336.3 327.7 331.1 334.9 338.1 336.4 332.5 333.9 334.0 334.9 334.0 333.8 330.4 328.2 326.6 327.7 327.7 327.4 324.7 317.1 303.3 288.6 278.9 285.4 300.2 301.3 297.1 295.3 294.1 292.5 293.4 294.4 296.5 297.6 297.6 296.1 293.8 294.0 278.0 253.3 232.9 235.5 236.9 236.3 236.5 235.8 237.1 239.6 243.1 246.7 248.1 248.1 247.8 248.2 247.7 244.0 242.9 241.8 241.3 238.7 238.9 239.0 241.9 242.1 244.0 244.9 245.4 245.2 246.9 248.8 249.9 250.2 249.9 249.6 249.3 247.5 243.6 236.4 231.3 222.8 219.2 216.9 214.3 211.8 209.3 205.9 205.9 209.2 215.3 219.6 224.5 225.8 223.7 220.9 218.0 215.4 214.3 213.9 214.9 217.4 220.0 220.9 223.1 224.4 224.6 223.9 222.3 221.1 219.2 218.3 217.9 217.2 218.1 219.0 220.1 221.8 221.4 220.8 220.2 217.0 210.9 202.1 192.3 199.2 206.8 215.8 225.2 233.7 240.4 249.1 254.3 256.9 257.4 255.5 251.4 247.3 243.7 238.2 235.4 235.7 238.9 243.3 250.0 254.9 260.5 262.7 263.3 261.9 257.6 251.3 242.8 232.6 227.2 225.8 226.9 232.2 241.9 251.9 259.3 263.7 266.5 265.9 262.2 252.3 240.0 228.1 218.9 213.3 207.6 203.3 199.8 196.3 192.9 190.3 186.8 183.8 180.8 178.1 175.1 172.4 169.6 166.9 164.4 161.1 158.3 154.2 150.4 149.4 152.0 158.6 166.2 171.0 181.2 193.9 206.1 223.4 236.6 249.2 254.0 252.7 248.1 241.8 233.4 227.3 232.0 237.0 242.0 246.8 251.9 256.6 257.6 252.2 251.8 251.0 250.0 249.1 247.7 246.9 247.3 248.2 248.8 249.2 249.1 247.6 246.3 244.9 240.8 234.6 233.0 225.5 224.7 219.2 217.6 216.1 217.5 219.4 221.2 221.8 220.8 220.2 219.8 219.4 215.5 208.5 196.9 194.4 193.3 192.3 192.3 191.2 189.9 192.2 189.8 190.1 190.2 190.7 192.4 193.5 194.7 195.1 194.9 194.1 193.7 193.7 193.4 193.0 193.6 194.9 194.6 193.8 194.5 195.3 195.5 195.2 195.3 195.6 197.2 198.1 198.7 198.5 197.6 196.2 195.9 192.9 187.8 178.9 171.0 180.5 190.8 201.9 214.8 228.8 231.5 232.5 232.5 230.2 226.7 220.6 213.8 210.8 208.9 209.7 213.2 217.8 224.9 230.7 235.5 238.3 238.5 235.5 228.1 219.6 210.2 206.1 204.1 203.9 206.2 211.1 218.7 224.7 230.0 234.6 235.3 232.6 231.2 224.9 222.1 218.7 214.5 210.7 206.2 203.2 200.4 198.0 195.6 193.1 190.5 187.9 186.2 184.2 181.9 180.7 179.2 175.3 170.8 166.6 164.2 162.3 160.6 159.2 157.9 155.6 153.4 151.6 149.4 150.2 155.6 161.6 167.6 174.3 181.8 189.3 195.7 198.5 199.0 197.5 195.8 191.5 184.1 187.4 191.5 196.5 201.2 206.8 214.2 217.4 218.9 220.0 220.1 220.3 219.3 219.5 219.6 221.0 221.3 220.8 219.3 217.9 213.7 207.9 218.2 227.3 237.3 247.8 260.7 253.5 249.9 249.2 246.9 246.7 246.6 246.5 245.3 246.0 247.4 246.9 245.1 242.7 237.8 228.6 229.0 230.6 230.5 232.2 230.4 224.6 218.8 218.4 218.5 220.1 221.2 221.4 221.7 221.8 221.6 220.7 218.5 216.0 207.9 211.0 216.0 223.6 231.9 241.2 251.0 250.0 249.6 250.8 250.1 249.7 248.7 246.5 245.7 246.9 248.3 248.8 250.4 247.8 242.4 235.6 228.5 238.8 250.1 262.8 275.7 293.4 297.8 296.5 300.2 304.1 307.1 306.7 305.0 300.5 296.0 291.4 286.7 284.8 285.6 289.5 294.8 298.5 302.2 305.2 304.3 301.1 300.0 297.7 292.3 285.6 280.2 276.4 275.7 278.0 283.6 289.2 294.9 299.0 304.5 309.0 310.9 308.0 303.5 292.3 284.1 277.9 270.6 263.4 257.1 252.0 247.0 243.1 239.8 235.8 232.4 228.5 225.3 221.0 218.5 215.7 212.8 210.0 208.4 205.7 202.9 200.4 197.4 194.5 197.8 208.4 224.8 238.5 259.2 279.4 292.6 298.5 300.1 293.7 291.3 291.7 291.9 291.2 288.1 287.1 284.4 286.0 288.5 289.5 291.3 295.1 296.4 293.6 292.4 291.3 291.8 293.6 294.0 292.9 292.1 290.4 287.7 287.2 278.4 270.8 257.5 252.3 250.4 249.7 248.4 248.6 247.5 246.3 245.7 247.0 248.3 249.7 249.3 247.2 245.8 243.8 241.9 238.8 232.9 229.9 229.1 227.7 226.6 226.1 224.5 224.6 223.1 220.1 218.4 216.7 217.4 218.2 219.3 221.3 222.1 222.0 221.4 220.8 218.0 211.4 216.8 223.0 229.6 236.3 245.3 249.2 248.2 247.3 247.5 247.4 247.4 247.5 248.6 248.4 249.6 249.8 251.2 250.4 244.0 231.6 242.7 253.8 265.8 280.7 294.7 311.3 328.1 339.1 334.1 335.4 335.4 334.2 331.8 328.4 326.1 321.0 321.8 319.3 323.5 326.6 329.5 332.0 336.8 339.0 337.7 335.0 334.2 332.3 330.0 326.7 323.5 322.3 324.3 326.9 330.2 330.8 329.5 330.2 328.6 328.0 322.7 314.3 294.8 281.7 284.6 286.6 288.2 290.2 289.7 289.2 289.8 291.2 292.2 293.6 294.9 296.0 295.4 294.5 293.6 294.8 295.6 294.8 293.8 295.1 296.3 304.3 313.4 323.1 329.6 332.8 332.1 332.2 332.4 330.0 328.9 327.4 326.5 329.3 331.1 330.2 327.1 325.0 321.5 312.5 317.8 337.3 352.7 370.7 388.8 378.4 371.5 371.5 370.9 369.9 367.1 365.6 365.4 366.0 366.8 367.3 367.5 365.9 364.4 360.8 355.6 352.0 350.2 345.6 341.1 336.6 330.8 329.1 329.0 328.3 330.8 331.9 332.8 334.9 333.6 331.3 328.0 322.2 306.7 286.9 267.9 267.4 270.2 274.9 283.1 283.8 284.8 287.0 291.5 297.5 300.0 302.3 300.2 298.2 293.4 290.8 289.3 288.7 289.9 292.1 292.3 292.5 292.3 290.9 291.4 292.2 292.9 292.7 292.5 293.3 294.4 295.1 294.7 295.4 295.9 294.0 293.8 291.7 286.4 274.1 278.0 284.9 287.0 294.7 302.8 309.9 304.1 296.3 295.5 296.8 298.1 299.0 296.5 294.7 294.0 293.4 294.4 294.3 295.2 295.3 296.7 298.8 300.8 302.6 308.0 313.6 322.8 330.2 337.3 339.5 339.3 337.7 334.0 330.5 326.7 323.6 322.1 322.0 324.1 325.3 326.8 328.1 329.3 329.9 330.3 330.3 329.3 328.7 327.9 328.6 329.1 329.0 329.2 329.7 329.7 329.0 328.2 328.3 329.0 328.3 328.2 327.9 327.1 325.8 326.9 327.1 330.4 334.2 336.6 338.8 338.6 337.6 334.5 329.4 325.9 321.8 317.8 315.1 314.5 315.0 317.0 321.0 325.4 332.0 337.2 341.5 343.1 342.3 340.3 339.2 335.8 332.2 328.7 324.2 319.1 317.8 317.8 318.6 322.4 326.3 331.5 336.3 338.8 339.1 337.6 336.8 334.9 333.0 331.3 328.7 328.5 328.5 327.5 326.6 327.4 327.2 327.4 330.3 333.9 337.3 339.4 341.1 341.4 340.9 337.7 332.8 326.0 318.6 314.0 312.6 315.3 320.3 326.6 333.7 341.0 346.1 349.9 351.7 349.4 344.4 338.7 331.3 326.0 321.4 318.9 319.4 321.5 326.0 334.5 339.9 343.5 345.9 346.8 345.0 342.4 338.1 333.2 327.5 323.1 320.3 318.8 321.4 325.2 330.8 335.2 337.9 341.9 344.1 343.5 341.8 339.7 336.8 333.7 330.1 327.0 326.6 326.0 327.8 330.8 334.3 337.2 339.0 339.2 338.5 337.1 335.2 333.9 332.4 330.0 327.0 325.0 323.4 321.2 318.0 315.8 314.3 311.6 308.7 305.0 300.0 294.2 287.7 284.3 282.5 280.0 277.5 276.6 274.9 273.2 270.2 266.9 262.5 256.0 247.4 247.9 247.6 248.0 248.4 249.1 249.1 249.4 249.1 250.1 250.8 250.8 251.0 251.8 251.3 252.3 252.2 251.7 250.3", + "f0_timestep": "0.011609977324263039", + "energy": "-72.4997 -73.225 -71.964 -71.0829 -70.1428 -68.5593 -66.4865 -64.0694 -61.9648 -59.7575 -58.1241 -56.3718 -55.1209 -54.0302 -53.065 -52.3517 -51.665 -50.8945 -50.2099 -49.7794 -49.3388 -48.9774 -48.9762 -48.7147 -48.8239 -49.1226 -49.2181 -49.5701 -50.1103 -50.6867 -51.3404 -52.1127 -53.3516 -54.4485 -56.0905 -57.8805 -59.3243 -60.174 -60.1472 -58.7571 -55.8455 -52.3167 -48.5144 -44.9793 -42.5784 -40.4502 -39.4799 -38.5814 -37.2586 -35.7659 -33.8002 -31.3396 -29.4347 -27.4034 -26.3761 -25.5459 -25.049 -24.7385 -24.2037 -23.9926 -23.213 -22.7831 -22.4911 -22.7536 -23.4182 -24.98 -27.0193 -29.1998 -30.372 -30.8915 -30.0494 -28.594 -26.1593 -23.8883 -22.0089 -20.8313 -20.7628 -21.0394 -21.8435 -22.7567 -23.1442 -23.5502 -23.5227 -23.6798 -23.2295 -23.0258 -22.8027 -22.487 -22.3105 -22.0811 -22.0723 -21.9504 -21.8866 -21.9861 -22.0333 -22.2026 -22.3794 -22.48 -22.6917 -22.7756 -22.7835 -22.6319 -22.9248 -23.0108 -23.5223 -24.3199 -25.752 -27.5153 -29.3618 -30.532 -30.7906 -30.2814 -28.7462 -26.659 -24.6322 -22.9962 -22.1305 -21.9203 -21.6674 -21.5738 -21.6567 -21.8717 -22.2901 -23.2616 -24.672 -26.8484 -29.7592 -32.9351 -35.0785 -36.0332 -35.5399 -33.4604 -30.5306 -27.2602 -24.3538 -22.2626 -21.6429 -21.2467 -20.9308 -20.6982 -20.6673 -20.7799 -21.4315 -22.4161 -24.2501 -26.5453 -29.4021 -32.2309 -34.6427 -36.1484 -36.2966 -34.8264 -32.2114 -29.0657 -25.9015 -23.0906 -21.0878 -20.0429 -19.5969 -19.709 -19.9813 -20.4585 -20.9513 -21.5917 -21.8663 -22.4725 -22.5761 -22.606 -22.6595 -22.4686 -22.1478 -22.2006 -22.2897 -22.497 -22.7976 -23.346 -23.7517 -24.2546 -24.745 -25.3692 -25.9509 -26.5005 -27.1588 -27.4551 -27.94 -27.9719 -28.2239 -28.38 -28.9211 -29.8214 -31.5462 -34.1739 -37.3383 -40.8578 -43.5862 -46.4091 -47.4606 -48.3949 -48.1365 -47.605 -47.1715 -47.0337 -47.3181 -47.8712 -48.7841 -49.4563 -50.3979 -51.4401 -52.3169 -52.0167 -50.5479 -47.6617 -43.1551 -38.2299 -33.24 -28.7869 -25.3935 -23.5002 -22.7987 -22.5459 -22.3233 -22.3736 -22.3362 -22.436 -22.5505 -23.0821 -23.6808 -25.3332 -27.1166 -29.2247 -31.0408 -32.5191 -32.6631 -31.9541 -30.2512 -27.9716 -25.7838 -23.6698 -22.3405 -21.8259 -21.5433 -21.6476 -21.9582 -21.9531 -22.2588 -22.4314 -22.9429 -23.9815 -25.8967 -28.4631 -31.4235 -33.9005 -34.9749 -34.9284 -33.3048 -30.8661 -27.6311 -25.0835 -23.223 -22.4266 -22.0535 -21.9298 -21.71 -21.8564 -21.8758 -22.0381 -22.156 -22.3186 -22.4668 -22.5738 -22.7801 -23.3235 -23.751 -24.1951 -24.3314 -24.3973 -24.0335 -23.7192 -22.942 -22.3918 -21.851 -21.6589 -21.281 -21.1769 -21.2289 -21.3138 -21.1455 -21.3671 -21.6646 -22.2128 -23.3786 -25.0896 -27.0381 -28.3794 -29.3816 -29.6041 -28.6492 -26.9597 -24.8957 -23.002 -21.8112 -21.2015 -21.1015 -21.2084 -21.2396 -21.238 -21.1545 -21.0415 -20.8995 -20.9479 -20.8509 -20.8035 -20.7387 -20.8035 -20.7729 -20.6748 -20.4635 -20.1484 -19.6642 -19.4193 -19.1669 -19.0693 -19.0784 -18.9701 -19.0951 -18.9187 -18.8553 -19.1146 -19.2741 -19.3924 -19.8363 -20.1845 -20.3629 -20.5209 -20.5888 -20.5626 -20.4078 -20.1454 -20.378 -20.3603 -20.3449 -20.5034 -21.0006 -21.3843 -21.7815 -22.023 -22.5504 -22.6653 -22.9313 -23.0811 -23.2722 -23.3785 -23.6945 -24.2648 -25.3836 -27.3336 -30.0121 -33.469 -37.2894 -40.9461 -43.9186 -45.6599 -46.4979 -46.4119 -46.2439 -46.4149 -46.836 -47.7207 -49.1449 -50.9756 -53.1954 -55.7253 -57.2469 -57.145 -54.8402 -50.7157 -44.8347 -37.6439 -31.3997 -25.9803 -22.3467 -20.2256 -19.7442 -19.8133 -19.6531 -19.7633 -19.6888 -19.558 -19.4655 -19.8269 -20.5041 -22.4102 -24.5951 -27.4234 -30.0144 -31.3756 -31.6986 -30.6379 -28.3559 -25.5529 -22.6334 -20.6827 -19.669 -19.3868 -19.2542 -19.2035 -19.3101 -19.2234 -19.2171 -19.2226 -19.2692 -19.4368 -19.9456 -21.0736 -22.8423 -24.6535 -26.3822 -27.46 -27.3887 -26.8774 -25.6124 -23.8909 -22.4451 -21.3828 -21.1487 -21.2254 -21.2347 -21.5754 -21.7956 -22.3405 -22.9615 -24.3013 -24.9416 -25.8491 -26.767 -27.3545 -27.7429 -28.0347 -27.3248 -26.8162 -25.372 -24.3429 -23.0383 -21.9059 -20.8684 -20.4223 -19.9997 -19.9971 -20.1149 -20.2055 -20.1653 -20.3057 -20.3752 -20.1789 -20.5594 -20.5615 -20.5615 -20.4768 -20.3552 -20.0386 -19.7656 -19.5384 -19.3481 -18.9669 -18.6849 -18.8741 -18.9791 -19.1532 -19.2464 -19.4434 -19.4293 -19.5811 -20.3144 -21.2114 -22.9428 -25.962 -29.6466 -32.9245 -34.6476 -34.7731 -32.9216 -29.8175 -25.7145 -22.4047 -20.1156 -19.3905 -19.2258 -19.0589 -19.1555 -19.341 -19.2912 -19.4784 -19.7883 -19.6824 -20.0463 -20.3198 -20.3485 -20.5466 -20.9977 -20.7657 -21.3056 -21.555 -21.5835 -21.6566 -21.8335 -21.8348 -21.8018 -21.7239 -21.6303 -21.4269 -21.2862 -21.2157 -21.0318 -21.0247 -20.9666 -21.0227 -20.6337 -20.73 -20.6853 -20.5307 -20.528 -20.2744 -20.0934 -19.9069 -19.817 -19.6128 -19.2522 -19.229 -19.1442 -19.2309 -19.1233 -18.9799 -19.4681 -19.5785 -19.6175 -19.8496 -19.9442 -20.0575 -20.1834 -20.0258 -20.1082 -19.9994 -19.8288 -19.9913 -19.8566 -19.7335 -19.89 -19.742 -19.8238 -19.5306 -19.5218 -19.4218 -19.3738 -19.1876 -19.299 -19.1562 -19.3307 -19.4761 -19.7217 -20.0136 -20.5628 -20.8482 -20.9676 -21.0452 -21.0362 -21.0225 -20.8795 -20.7948 -20.8749 -20.8786 -20.7004 -20.6592 -20.5655 -20.7153 -20.6302 -20.3325 -20.37 -20.0938 -20.1759 -20.0507 -20.1909 -20.0717 -20.0139 -19.9717 -19.8431 -19.6027 -19.4513 -19.1247 -18.8099 -18.59 -18.6272 -18.9154 -19.8368 -21.3286 -23.5693 -26.4455 -29.5272 -32.3072 -34.6422 -36.1071 -36.5643 -35.126 -33.2717 -30.423 -27.765 -25.1657 -23.2277 -21.7765 -21.1218 -20.6174 -20.4405 -20.1161 -20.2554 -20.319 -20.2382 -20.244 -20.2772 -20.1868 -20.2393 -20.2665 -20.0318 -20.3436 -20.5083 -20.7151 -20.9332 -21.2392 -20.9903 -21.3231 -21.2922 -21.1927 -20.9127 -20.8353 -20.8485 -21.1295 -21.4921 -22.2786 -23.8312 -24.9597 -26.4732 -27.5349 -28.5263 -28.9062 -28.7283 -27.758 -26.5571 -25.0262 -23.4617 -22.0242 -20.9412 -20.1257 -19.6851 -19.7847 -19.9068 -19.8563 -20.1673 -20.6301 -21.0454 -21.3536 -21.853 -22.318 -22.406 -22.4983 -22.5581 -22.7265 -22.5648 -22.6627 -22.4483 -22.3827 -22.6122 -23.2441 -23.5845 -24.1346 -24.6519 -24.9944 -24.9972 -24.9988 -24.7258 -24.8853 -24.8811 -25.208 -25.8908 -26.7121 -28.0212 -30.2642 -32.947 -36.2713 -39.2295 -41.7286 -43.4625 -44.3418 -44.1558 -43.5303 -42.7743 -42.3885 -42.464 -42.796 -43.7463 -45.5527 -46.5823 -46.7975 -45.4476 -42.9175 -38.9762 -34.415 -30.069 -26.4816 -24.1018 -22.8111 -22.1538 -22.0691 -22.2823 -22.7509 -22.6596 -23.1103 -23.2913 -23.3135 -23.2115 -23.2871 -23.7702 -24.035 -24.6376 -24.9058 -24.8744 -24.9102 -25.1026 -25.0934 -24.8505 -24.4557 -23.7807 -23.183 -22.1736 -21.223 -20.4076 -19.8956 -19.6226 -19.4468 -19.6938 -19.8642 -20.233 -21.099 -22.3423 -24.1499 -26.3981 -28.1748 -29.6975 -29.7962 -29.0232 -27.7076 -25.8625 -23.8642 -22.4535 -21.9209 -21.8944 -22.1367 -21.8726 -21.9483 -22.0041 -21.8965 -21.9964 -22.3772 -23.2772 -24.6246 -26.0059 -27.7266 -29.5311 -30.1434 -29.7349 -28.7707 -27.0048 -25.2594 -23.3983 -21.8825 -20.8758 -20.1496 -20.0711 -19.95 -19.9748 -19.9657 -20.1773 -20.1931 -20.3427 -20.2576 -20.6346 -20.9627 -20.966 -21.1476 -21.2612 -21.5428 -21.7913 -21.9892 -22.2574 -22.5672 -22.6474 -22.7805 -22.8606 -22.8433 -22.7619 -22.7389 -22.7194 -23.1786 -24.2233 -25.8927 -28.4387 -32.3393 -36.2756 -39.0262 -39.8322 -38.4579 -35.365 -31.2649 -27.0126 -23.0157 -20.6914 -19.6078 -19.3598 -18.9197 -18.7425 -18.6706 -18.6454 -18.9352 -18.9319 -19.1018 -18.9696 -19.1074 -19.1276 -19.267 -19.3722 -19.3741 -19.2503 -19.3845 -19.2645 -19.1467 -19.1155 -18.9132 -18.9445 -18.7727 -18.6826 -18.5982 -18.7656 -18.8663 -19.1834 -19.0797 -19.3022 -19.6216 -19.7454 -20.1951 -20.2946 -20.5603 -20.7926 -21.1427 -21.2986 -21.3842 -21.3978 -21.4767 -21.7823 -21.5032 -21.5596 -21.3274 -21.4373 -21.4207 -21.3309 -21.8158 -22.5399 -23.9417 -26.1264 -28.6523 -31.1017 -32.3461 -32.4221 -31.2362 -28.9677 -26.3231 -23.8885 -21.6476 -20.4256 -19.9338 -19.484 -19.2604 -19.3793 -19.375 -19.4202 -19.4432 -19.8214 -20.6257 -21.6439 -23.3073 -25.3815 -27.8478 -29.3529 -30.1143 -29.5639 -28.3203 -26.2246 -23.9285 -21.7263 -20.3265 -19.5167 -19.1806 -19.2028 -19.2672 -19.5537 -19.6621 -20.3457 -21.245 -22.7295 -24.6121 -26.5945 -28.7487 -30.1143 -30.7196 -30.317 -29.1471 -27.1717 -25.109 -23.2307 -21.8955 -20.9031 -20.7174 -20.7777 -20.8651 -21.2989 -21.5034 -21.8386 -22.028 -22.1501 -22.0459 -22.0016 -21.7579 -21.962 -21.8976 -21.5971 -21.5547 -21.5237 -21.0415 -20.9034 -20.9037 -20.7681 -20.7038 -20.6553 -20.4348 -20.45 -20.63 -21.0333 -21.58 -22.8316 -24.6535 -26.6476 -28.6482 -30.728 -32.1453 -32.8122 -31.9415 -30.5302 -28.5753 -26.6083 -24.6679 -22.8416 -21.8934 -21.3471 -20.9173 -21.1476 -21.2427 -21.7433 -22.326 -23.2198 -25.3507 -28.6239 -32.587 -35.6844 -37.7925 -37.878 -36.2857 -33.2279 -29.6158 -26.065 -23.7287 -22.8737 -22.1605 -22.0776 -22.0703 -22.2158 -22.2932 -22.6388 -22.9949 -23.466 -23.8731 -24.3544 -24.6258 -24.9135 -24.9722 -24.953 -25.1326 -25.0204 -25.0928 -25.1893 -25.4829 -25.6755 -25.9373 -26.6554 -27.2009 -27.9396 -28.9084 -29.491 -29.9277 -30.8692 -31.1386 -31.487 -31.7849 -32.447 -33.118 -34.4469 -36.3637 -39.0076 -41.8119 -44.2287 -46.4176 -47.531 -47.9906 -47.8165 -47.4378 -47.2486 -47.6644 -48.5534 -49.3574 -50.7125 -51.9283 -52.7773 -53.4706 -53.045 -50.9673 -47.7154 -43.1254 -38.2519 -33.0521 -28.3476 -24.81 -22.6381 -22.0898 -21.9712 -22.1707 -22.4681 -22.7284 -23.0201 -23.1567 -23.2467 -23.4333 -23.0715 -23.26 -23.2127 -23.0767 -22.9272 -22.845 -22.8036 -23.0923 -23.0578 -23.1887 -23.4399 -23.3984 -23.212 -23.1538 -22.9452 -22.8857 -22.6367 -22.6678 -22.656 -23.3944 -24.4307 -26.8553 -29.8544 -32.8855 -35.2428 -36.9066 -36.9647 -35.9595 -34.024 -32.1461 -29.9779 -28.2521 -26.7575 -25.5868 -24.8419 -24.3688 -24.1821 -24.0633 -23.9936 -23.9325 -23.8192 -23.9536 -24.6271 -25.6454 -27.1846 -29.4108 -31.5564 -32.8631 -33.1643 -32.3956 -31.2204 -29.0084 -27.3929 -26.0244 -25.3984 -25.095 -25.1848 -24.9755 -25.0606 -25.0889 -25.1606 -25.2773 -25.6755 -26.4139 -27.5372 -29.2493 -31.2359 -33.2292 -34.4364 -34.0299 -32.7778 -30.7835 -28.1135 -25.7587 -23.646 -22.7304 -22.1232 -21.8488 -21.9044 -22.0665 -22.0253 -22.2465 -22.8033 -23.6386 -25.373 -27.4866 -29.6566 -31.4953 -32.3387 -32.283 -30.7329 -28.5669 -26.027 -23.9142 -22.4392 -21.9268 -21.5796 -21.6074 -21.6007 -22.1422 -22.3184 -22.5193 -22.8543 -23.0726 -23.5195 -23.6969 -23.5841 -23.3637 -23.264 -23.3565 -23.1904 -22.9979 -23.0396 -23.0215 -22.9848 -23.0264 -23.0087 -22.9612 -22.7029 -22.5708 -22.1397 -21.9777 -21.8873 -22.1283 -22.0827 -22.2603 -22.0895 -22.1695 -22.0676 -21.8413 -21.7667 -21.7464 -21.7348 -21.7102 -21.6425 -21.3206 -21.3871 -21.1132 -21.1022 -21.1097 -21.4713 -21.7807 -21.8129 -21.8901 -22.071 -22.2223 -22.2961 -22.4126 -22.6124 -22.8667 -22.8246 -22.6835 -22.4313 -22.1544 -21.8808 -21.7207 -21.4367 -21.3329 -21.4248 -21.4671 -21.9496 -22.1951 -22.6866 -23.2499 -23.8259 -24.4599 -25.2978 -26.4766 -27.6236 -29.3184 -29.9124 -29.8878 -29.0761 -27.4537 -25.3803 -23.2933 -21.8488 -21.1429 -20.8933 -21.1562 -21.1599 -21.4909 -21.6109 -21.6957 -21.7467 -21.8467 -21.712 -21.7104 -21.7001 -21.5566 -21.5797 -21.4681 -21.4523 -21.2742 -21.2486 -21.0615 -21.1077 -21.0966 -21.0492 -21.1237 -20.8405 -20.654 -20.7 -20.5975 -20.892 -21.1952 -21.2134 -21.6397 -22.1344 -22.6774 -23.0334 -23.2704 -23.0083 -22.6636 -21.909 -21.1167 -20.3459 -19.6159 -19.2271 -19.2412 -19.218 -19.4535 -19.676 -19.7696 -20.293 -20.741 -21.1601 -21.5744 -21.9129 -22.3097 -22.6306 -22.4654 -22.6067 -22.4351 -22.2771 -22.1951 -22.1803 -21.8856 -21.8403 -21.8366 -21.7596 -21.87 -22.0776 -22.4242 -22.692 -23.8057 -25.0891 -26.8717 -28.5468 -30.0838 -31.668 -32.709 -32.8203 -32.0912 -30.6653 -28.6574 -26.2547 -23.8731 -22.0805 -20.9305 -20.1875 -19.9602 -19.966 -20.2254 -20.438 -20.6394 -21.1826 -21.6141 -21.8887 -22.1615 -22.4917 -22.3946 -22.4295 -22.3559 -22.5574 -22.4699 -22.5502 -22.3998 -22.7649 -23.0248 -23.4176 -23.6954 -24.344 -24.8204 -25.0058 -25.3291 -25.4576 -25.2057 -25.2481 -25.3941 -25.3318 -25.6867 -26.3924 -27.0386 -28.6805 -30.9647 -33.7167 -36.7644 -39.5754 -41.8636 -43.7078 -44.7737 -46.1822 -46.3888 -47.4202 -48.3412 -49.5901 -50.7004 -50.9518 -50.5593 -49.1057 -46.7475 -43.7782 -40.8343 -37.7521 -34.6995 -31.9161 -29.3275 -26.9014 -24.8163 -23.5497 -22.9411 -22.8803 -23.0141 -23.408 -23.3981 -23.2594 -22.805 -22.5151 -22.6398 -22.6189 -23.3472 -25.2135 -27.3345 -28.9889 -30.3112 -29.8664 -28.9133 -27.1908 -24.9345 -22.8628 -21.6481 -21.0081 -21.0893 -21.2958 -21.5616 -21.843 -22.1106 -22.3042 -22.5877 -23.2156 -23.5905 -24.9822 -26.4137 -27.8679 -28.4098 -28.3728 -27.2596 -25.9037 -24.1839 -22.8227 -22.1078 -21.9389 -22.2656 -22.4038 -22.3667 -21.9981 -21.9078 -21.4796 -21.4852 -21.32 -21.4987 -21.6576 -21.6511 -21.9071 -22.0057 -22.174 -22.327 -22.4862 -22.5505 -22.8589 -22.8308 -23.019 -22.9894 -22.6244 -22.5539 -22.5709 -22.322 -22.5534 -22.6448 -23.5786 -24.6156 -26.0945 -28.5122 -31.3519 -33.3831 -34.0946 -33.4127 -31.2708 -28.4149 -25.2616 -22.1921 -20.2358 -19.1816 -18.9728 -18.7731 -18.9053 -18.8771 -19.1717 -19.1836 -19.4515 -19.7739 -19.8914 -19.8473 -20.5026 -20.639 -20.9363 -21.2244 -21.0937 -20.7057 -20.4007 -19.9843 -19.562 -19.3386 -19.2519 -19.2342 -19.2605 -19.3147 -19.5607 -20.1187 -20.8118 -21.554 -22.2547 -22.614 -23.0229 -23.0558 -23.1627 -23.0031 -23.0336 -22.8327 -23.0555 -23.2668 -23.5012 -23.5268 -24.028 -24.4995 -24.9876 -25.578 -25.7518 -26.2175 -26.4972 -26.4367 -26.9189 -27.1104 -27.5843 -28.1405 -29.2979 -31.4051 -34.1749 -37.4981 -40.411 -43.2913 -45.3354 -46.5613 -47.2214 -46.9403 -46.3138 -46.0298 -45.9031 -45.7561 -45.8446 -46.3206 -47.2121 -48.0052 -49.6052 -51.1313 -51.9746 -51.1486 -48.2063 -44.185 -38.9947 -33.4027 -28.4415 -24.5492 -22.5754 -21.6982 -21.3107 -21.2138 -21.4593 -21.3836 -21.5236 -21.7624 -22.0201 -22.7336 -23.9108 -25.8956 -27.8999 -29.9118 -30.9353 -30.8031 -30.0405 -28.3721 -26.1752 -24.207 -22.7469 -21.8225 -21.324 -20.9814 -21.037 -20.868 -21.2884 -21.1728 -21.6511 -22.2819 -23.4868 -25.5903 -28.4283 -31.5276 -33.7747 -34.8222 -34.4991 -32.8223 -30.2089 -27.1693 -24.4474 -22.9894 -22.3561 -22.007 -21.8989 -21.8467 -22.0035 -22.2292 -22.2376 -22.2664 -22.1924 -22.3179 -22.3201 -22.3104 -22.383 -22.367 -22.3593 -22.4677 -22.0988 -21.7442 -21.6733 -21.5271 -21.4181 -21.1441 -21.0527 -21.0225 -21.1931 -21.4222 -21.5593 -22.2516 -23.5379 -25.3644 -27.5492 -30.0913 -32.8973 -35.1276 -36.337 -35.954 -34.1675 -31.1922 -27.7722 -24.8936 -22.4351 -20.9767 -20.3548 -20.0714 -19.9129 -19.917 -19.8803 -19.8648 -20.2346 -20.5601 -21.7528 -23.3649 -25.3024 -27.5428 -29.438 -30.6339 -30.5553 -29.2668 -27.2779 -24.9261 -22.4031 -20.4206 -19.0671 -18.2755 -18.0935 -18.1858 -18.3393 -19.0222 -19.1449 -19.8649 -20.4437 -20.8987 -21.1234 -21.1421 -21.0486 -21.0095 -20.7564 -20.8026 -20.608 -20.5799 -20.4957 -20.6634 -21.2122 -22.2266 -23.0502 -23.9488 -24.9334 -25.3712 -25.8727 -26.1248 -26.3705 -26.3652 -26.3118 -27.0861 -28.041 -30.312 -33.18 -37.2248 -40.75 -43.6773 -46.0337 -47.0019 -47.309 -47.0027 -46.6424 -46.5302 -46.9432 -47.4367 -48.1723 -49.248 -50.198 -51.0495 -51.2402 -50.6765 -48.7705 -45.423 -40.5568 -35.7747 -30.5752 -26.1747 -22.8305 -20.9574 -20.0759 -19.7151 -19.5901 -19.824 -20.0124 -20.4147 -20.4781 -21.0235 -21.4792 -22.6804 -24.4689 -26.5101 -28.6973 -30.1367 -30.6135 -30.1262 -28.3835 -26.2958 -23.9146 -22.051 -20.691 -20.1197 -20.1316 -20.1999 -20.2206 -20.3207 -20.4822 -20.2558 -20.4087 -20.2295 -20.3183 -20.24 -20.2315 -20.4714 -20.5172 -20.7049 -20.7266 -20.7658 -20.6936 -20.6237 -20.3882 -20.412 -20.1002 -20.1027 -19.8696 -19.8863 -19.7635 -19.8728 -20.5158 -21.5666 -23.1104 -24.9666 -27.03 -28.8205 -30.2311 -30.9703 -30.6289 -29.6178 -27.9624 -26.1527 -24.4641 -22.8361 -21.6956 -20.9549 -20.824 -20.5143 -20.4208 -20.3308 -20.3163 -20.2866 -20.1523 -20.1712 -20.1053 -20.2345 -20.3004 -20.1896 -20.3797 -20.3115 -20.032 -19.4407 -19.1463 -18.4545 -18.0213 -17.8674 -17.7656 -17.7381 -17.6932 -17.5527 -17.6203 -17.5097 -17.6873 -18.6424 -19.8586 -21.7441 -24.3978 -26.6724 -28.3283 -29.202 -28.5398 -27.422 -25.38 -23.3002 -21.6221 -20.4412 -19.8088 -19.6279 -19.5582 -19.644 -19.7096 -19.6369 -19.8891 -19.6045 -19.5535 -19.763 -19.7417 -19.9576 -20.1563 -20.571 -20.888 -21.2834 -21.6177 -22.0542 -22.5426 -22.8337 -23.0867 -23.4312 -23.4123 -23.2039 -22.9621 -22.4974 -22.2889 -22.2329 -21.8562 -21.8207 -22.9309 -23.922 -26.0897 -27.669 -28.7873 -28.97 -27.9551 -26.1465 -23.7945 -21.7028 -20.4795 -19.8308 -19.8222 -20.0806 -20.123 -20.2511 -20.6994 -20.8559 -21.0775 -21.2857 -21.4912 -22.194 -23.3272 -24.5815 -25.8802 -26.2265 -26.1124 -25.143 -23.7056 -22.2246 -21.0643 -20.2193 -20.1056 -20.1188 -20.3276 -20.7469 -20.9253 -21.6546 -22.0737 -22.8986 -24.3206 -26.1829 -28.4747 -30.4271 -31.3789 -31.4089 -30.0853 -28.0071 -25.7284 -23.4735 -21.5318 -20.2046 -19.5515 -19.1096 -18.9212 -18.7513 -18.8114 -18.8316 -18.9428 -19.2475 -19.5534 -20.1966 -20.681 -21.4061 -21.9882 -22.2953 -22.7102 -23.0407 -22.9474 -23.2313 -23.1994 -22.9595 -23.0093 -22.876 -22.6732 -22.2733 -22.5216 -22.6692 -23.1197 -23.4444 -24.5566 -26.2498 -28.3268 -31.0214 -32.9374 -33.7831 -33.7162 -32.0496 -29.8875 -27.4406 -25.0337 -23.1768 -22.0368 -21.2971 -20.836 -20.4926 -20.4204 -20.2266 -20.4397 -20.4839 -20.5432 -20.5948 -20.4918 -20.2818 -20.2788 -20.2471 -20.3685 -20.2346 -20.1788 -19.9604 -19.7036 -19.6991 -19.5165 -19.9015 -19.7025 -19.9595 -20.1602 -20.343 -20.8004 -21.2864 -22.2266 -23.3216 -25.1028 -27.9154 -31.0924 -34.0665 -35.5778 -35.7213 -34.301 -31.7274 -28.364 -25.0928 -22.2342 -20.5478 -19.8902 -19.7392 -19.8463 -20.1685 -20.399 -20.9947 -21.5486 -21.9653 -22.4103 -22.5786 -22.4377 -22.5547 -22.2949 -22.3785 -22.3186 -22.2336 -22.3465 -22.4771 -22.7199 -22.9897 -23.3741 -23.5563 -24.1509 -24.3223 -24.7054 -24.8903 -25.1302 -25.2796 -25.5296 -25.9007 -26.3648 -27.2413 -28.0844 -29.9031 -32.6112 -35.9225 -39.1242 -42.4219 -44.5324 -46.2161 -46.5627 -46.6145 -45.9309 -45.6338 -45.6631 -46.2013 -47.2141 -48.4422 -49.1028 -48.8699 -46.7584 -43.3337 -39.0158 -34.3335 -30.0779 -26.5508 -24.3929 -23.1583 -22.3457 -21.8324 -21.7746 -21.8265 -21.9037 -22.2459 -22.6413 -22.801 -22.8584 -22.8017 -23.0455 -23.2485 -24.1251 -25.2289 -26.7058 -28.1148 -29.0048 -29.4603 -29.0708 -28.2634 -26.7676 -25.0601 -23.0056 -21.6207 -20.648 -20.397 -20.3041 -20.4839 -20.4757 -20.1481 -20.1723 -20.0899 -19.986 -19.9445 -20.1692 -20.2454 -20.3102 -20.6476 -20.619 -20.6795 -20.7044 -20.7208 -20.6405 -20.7435 -20.6233 -20.8825 -20.9402 -21.2397 -21.5371 -21.5924 -22.0394 -22.5663 -23.2762 -24.4228 -25.9231 -27.4541 -29.3668 -30.5434 -31.0554 -30.4255 -29.1807 -27.291 -25.3257 -23.2987 -22.0974 -21.4162 -21.2105 -21.2119 -21.217 -21.3016 -21.2444 -21.2567 -21.4757 -21.5372 -21.8161 -21.9496 -21.9884 -22.1929 -22.4222 -22.5672 -22.8694 -22.9431 -23.0406 -22.9464 -23.2324 -23.1844 -23.1699 -23.4735 -23.3957 -23.6445 -23.62 -23.829 -24.1976 -24.9243 -26.4009 -28.8654 -32.2066 -34.9147 -36.607 -36.9018 -35.4928 -32.8486 -29.2742 -25.7215 -22.9248 -21.2214 -20.717 -20.5522 -20.7312 -21.1415 -21.5736 -22.1697 -22.6567 -23.0521 -23.2197 -23.3181 -23.6965 -23.9164 -23.8725 -23.7909 -23.7261 -23.7867 -23.9668 -24.0538 -24.2001 -24.9195 -25.1489 -26.0119 -26.6908 -27.0409 -27.0144 -27.2707 -27.0392 -27.0192 -27.3494 -27.3571 -28.413 -29.8284 -32.1071 -35.2479 -39.01 -42.4544 -45.3989 -47.4569 -48.5636 -48.5711 -48.2882 -47.7489 -47.6329 -47.9391 -48.6718 -49.7832 -50.8008 -51.5365 -51.5328 -50.1989 -48.2494 -45.7373 -43.3628 -40.6686 -38.379 -35.7044 -33.1213 -30.2798 -27.6917 -25.7811 -24.4378 -23.8558 -23.6499 -23.9154 -23.6931 -23.4787 -23.4999 -23.3919 -23.2469 -23.7359 -24.9305 -26.657 -28.7087 -30.7994 -32.1954 -32.8529 -32.2751 -30.6423 -28.5061 -26.487 -24.3015 -22.7936 -21.8387 -21.3404 -21.2891 -21.2178 -21.3762 -21.3419 -21.3412 -21.5506 -21.979 -22.8317 -23.9398 -25.4535 -27.3119 -28.3193 -28.8111 -28.2406 -26.881 -24.87 -22.9551 -21.2168 -20.6698 -20.4336 -20.7428 -20.9452 -21.2691 -21.7942 -21.9487 -22.3257 -22.5855 -23.3582 -24.535 -26.5586 -28.5384 -29.9448 -30.5658 -30.0922 -28.9038 -26.6735 -24.6759 -22.7862 -21.7269 -21.2374 -20.8842 -20.9859 -20.8961 -20.9546 -21.0683 -21.5429 -22.4211 -24.3371 -27.4064 -30.9419 -33.7571 -35.106 -34.8687 -33.1535 -29.7172 -25.6333 -22.0792 -19.5666 -18.6446 -18.1285 -17.9646 -18.1171 -17.9842 -17.8409 -18.2013 -18.5943 -19.3449 -20.4297 -22.2866 -24.9342 -28.2928 -31.5582 -34.2483 -35.1041 -34.6156 -32.4671 -29.138 -25.3866 -22.2611 -20.1136 -18.9423 -18.2687 -17.9453 -18.1954 -18.2527 -18.4278 -18.6133 -18.7461 -18.8294 -18.9704 -18.9455 -18.857 -18.709 -18.593 -18.7097 -18.7698 -18.8405 -19.2203 -19.5248 -19.9415 -20.3721 -20.6432 -21.193 -21.5041 -21.7406 -21.8686 -21.8948 -21.8729 -21.7851 -21.94 -22.0253 -22.0181 -22.4716 -23.305 -24.611 -26.6851 -29.7051 -33.2653 -36.8917 -40.5819 -42.9852 -44.9865 -45.9116 -46.4825 -46.648 -47.1871 -48.46 -49.859 -51.1955 -52.1713 -52.4083 -51.0343 -48.8567 -45.5879 -41.3435 -36.8518 -32.5032 -29.0944 -26.0556 -23.5297 -21.9812 -20.9558 -20.8353 -20.873 -21.0356 -21.186 -21.6574 -22.0093 -22.1645 -22.1264 -22.5914 -22.9942 -24.0633 -25.4615 -26.6148 -27.3159 -27.3348 -26.9548 -25.5235 -23.9071 -22.1662 -20.7911 -19.8776 -19.8179 -19.6771 -19.6619 -20.1135 -20.3222 -20.3784 -20.4083 -20.5135 -20.9458 -20.9526 -20.9561 -21.1945 -21.1606 -21.1697 -21.0777 -20.8511 -20.71 -20.5126 -20.3959 -20.3413 -20.5111 -20.584 -20.5526 -20.8034 -20.9558 -21.2693 -21.9217 -22.7744 -24.2457 -25.867 -28.032 -30.194 -32.2917 -33.0355 -32.8247 -31.6701 -29.7024 -27.4298 -25.1584 -23.5401 -22.7128 -22.4439 -22.4972 -22.5194 -22.4358 -22.5268 -22.8933 -23.0513 -23.8916 -24.9856 -26.7815 -28.9833 -30.8411 -32.1409 -32.4006 -31.6256 -29.68 -27.2251 -25.0591 -23.0599 -21.4589 -20.9191 -20.3594 -20.2521 -20.016 -20.0551 -20.1226 -20.5942 -21.4282 -22.8124 -24.4481 -26.6704 -29.0592 -31.0412 -32.1482 -32.0669 -31.0183 -29.0592 -26.6572 -24.4362 -22.7327 -21.3986 -20.5267 -20.0606 -19.9354 -19.6793 -19.6176 -19.6893 -19.9176 -20.0952 -20.4235 -20.4553 -20.7924 -20.9422 -20.9956 -21.1243 -21.1001 -21.224 -21.3669 -21.528 -21.6789 -22.218 -22.4183 -22.638 -22.8258 -22.8857 -22.5989 -22.5936 -22.4509 -22.347 -22.5088 -22.3252 -23.1242 -24.5164 -26.2628 -28.3093 -29.7821 -30.0373 -29.7492 -28.4781 -26.5604 -24.0614 -22.408 -21.2736 -20.6846 -20.6478 -20.8639 -21.0965 -21.1657 -21.2341 -21.3703 -21.1754 -21.3198 -21.175 -20.9253 -20.7044 -20.3483 -20.1647 -19.9845 -19.6449 -19.4974 -19.4781 -19.6419 -19.7715 -19.8556 -19.9207 -19.9866 -20.1355 -20.1747 -20.3495 -20.5399 -21.1029 -22.2393 -24.482 -26.6722 -28.9889 -30.692 -31.0054 -30.4281 -28.9175 -26.9229 -25.0801 -23.3031 -22.3503 -21.9727 -21.9861 -22.0857 -22.4922 -22.5327 -22.3686 -22.2393 -21.9573 -21.9412 -21.8774 -21.7758 -21.5388 -21.545 -21.4365 -21.31 -21.1727 -21.0289 -20.9658 -20.9108 -21.0923 -20.9017 -20.9963 -21.1316 -20.8765 -20.9394 -20.688 -20.592 -20.9351 -21.5011 -22.8193 -24.9935 -28.1789 -30.6333 -32.524 -32.6726 -31.5693 -28.7565 -25.5549 -22.1215 -19.4686 -18.163 -17.491 -16.9407 -16.8624 -16.8692 -17.1338 -17.2466 -17.4773 -17.4826 -17.509 -17.4833 -17.4558 -17.4735 -17.4069 -17.3298 -17.572 -17.6657 -17.8344 -18.2184 -18.5656 -18.6712 -18.9732 -19.0354 -19.2468 -19.3999 -19.4524 -19.9901 -20.6287 -21.7894 -24.2594 -28.3779 -33.9111 -38.6767 -41.502 -42.0432 -40.2207 -36.4981 -31.5262 -26.5605 -22.9959 -20.9515 -20.3338 -19.9532 -19.6885 -19.3499 -19.0158 -18.8146 -18.5349 -18.4715 -18.1868 -18.7325 -19.045 -19.8292 -20.2952 -20.9126 -21.7584 -21.8957 -22.0489 -22.2059 -22.1009 -21.8633 -21.6318 -21.5602 -21.3992 -21.2076 -21.0672 -20.9347 -20.8166 -20.5758 -20.2813 -20.3379 -20.0369 -20.0075 -19.8698 -19.5329 -19.4441 -19.3658 -19.046 -18.8047 -18.711 -18.3154 -18.206 -18.1479 -18.0611 -17.9949 -17.7135 -17.5775 -17.4245 -17.2514 -17.189 -16.9313 -16.8479 -16.9536 -16.6754 -16.6234 -16.6361 -16.7052 -16.7367 -16.5196 -16.4336 -16.402 -16.3603 -16.1315 -16.0321 -15.8852 -15.686 -15.5527 -15.3773 -15.4216 -15.5753 -15.2598 -15.1943 -15.3451 -15.1008 -15.2729 -15.4111 -15.5343 -15.7617 -15.766 -16.0803 -15.9896 -15.8683 -15.7223 -15.5416 -15.4376 -15.4056 -15.1784 -15.1737 -15.071 -15.1839 -15.1609 -15.4086 -15.4503 -15.5523 -15.7291 -15.7538 -15.9709 -16.0739 -16.0522 -16.0448 -15.6376 -15.7446 -15.5151 -15.3057 -15.2511 -15.1944 -15.1017 -15.2386 -15.2368 -15.4075 -15.5158 -15.5491 -15.7406 -15.8611 -15.6685 -15.7399 -15.7308 -15.6791 -15.5692 -15.6825 -15.7217 -15.8015 -15.9737 -15.8891 -16.0962 -16.1868 -16.4529 -16.7366 -16.8795 -17.1457 -17.4431 -17.4794 -17.5586 -17.4992 -17.3998 -17.4586 -17.347 -17.356 -17.5228 -17.4412 -17.4839 -17.8964 -17.6974 -17.8667 -17.9973 -18.0317 -18.128 -18.1694 -18.3192 -18.4033 -18.545 -18.6477 -18.7514 -19.0617 -19.4731 -19.6273 -20.1261 -20.3343 -20.4907 -20.7653 -20.7012 -20.6098 -20.5546 -20.462 -20.3225 -20.1441 -20.4147 -20.4387 -20.648 -20.9547 -21.1054 -21.2697 -21.4236 -21.4288 -21.6741 -21.9373 -22.0145 -22.1626 -22.4258 -22.6249 -22.8185 -22.5843 -22.7238 -22.9103 -22.8881 -23.0891 -23.1915 -23.5486 -24.0598 -24.3521 -24.8229 -25.3661 -25.7397 -25.9552 -26.1832 -26.6024 -27.1053 -27.6884 -28.0866 -29.0412 -29.9554 -31.1469 -32.6502 -35.1575 -38.664 -43.2092 -49.0954 -54.8888 -60.2771 -64.6058 -67.2165 -68.2256 -68.3448 -68.2906 -68.4592 -69.406 -70.4136 -71.3055 -71.2604 -70.4234 -68.3838 -65.2275 -61.101 -55.1712", + "energy_timestep": "0.011609977324263039", + "breathiness": "-77.0975 -78.8382 -78.3582 -77.5376 -75.8485 -73.7377 -70.6094 -67.0688 -63.6513 -60.6329 -58.1063 -56.289 -54.9085 -53.9091 -53.1697 -52.3094 -51.5902 -50.9198 -50.2428 -49.9215 -49.3722 -49.0216 -48.8688 -48.8848 -48.907 -49.0633 -49.1441 -49.3333 -49.7143 -50.2545 -50.5759 -51.3953 -52.3662 -53.5363 -54.9505 -56.7609 -58.8004 -60.4678 -60.8286 -59.7619 -57.401 -54.06 -50.0029 -46.2652 -42.6077 -40.4859 -39.2831 -38.8886 -38.2971 -37.0827 -35.6564 -33.5832 -31.6631 -29.9732 -28.9536 -29.1355 -30.8579 -34.1892 -39.0923 -44.8051 -50.1401 -54.5979 -57.8447 -59.3995 -59.0342 -56.7493 -53.2406 -49.2149 -45.0033 -41.6311 -39.6246 -39.6768 -41.3105 -43.6429 -46.4393 -49.3989 -51.7978 -53.8896 -55.1554 -56.2591 -57.3919 -58.6515 -59.9107 -61.0367 -62.355 -63.659 -64.3682 -64.6163 -64.0386 -62.7336 -61.0264 -58.8772 -56.9181 -55.492 -54.5095 -54.0263 -53.921 -54.2266 -54.6657 -54.9341 -55.7746 -56.4964 -57.5728 -58.3763 -58.1998 -57.1587 -54.705 -51.4072 -47.562 -43.7489 -40.7202 -39.554 -39.874 -41.5888 -44.0001 -46.5498 -48.9848 -50.9271 -52.2482 -52.9068 -53.2225 -53.7391 -54.7271 -55.8598 -56.5734 -56.7947 -56.4592 -55.0719 -53.6947 -52.1564 -51.4929 -51.9523 -53.0361 -55.1259 -56.9012 -58.424 -59.2773 -59.7166 -59.6387 -59.51 -59.4202 -59.4385 -59.0827 -58.4 -56.9474 -54.8822 -52.1389 -48.8928 -45.5641 -43.0362 -41.6294 -41.5723 -42.2644 -44.5737 -46.8339 -49.2179 -51.4138 -52.7456 -53.483 -53.3763 -53.2447 -53.2618 -53.324 -53.4732 -53.7601 -54.0348 -54.5628 -54.8844 -55.0928 -55.3449 -55.4875 -55.4452 -55.239 -55.1988 -54.9974 -54.9029 -54.9239 -54.9851 -55.5971 -56.1401 -56.8338 -57.4579 -58.3666 -58.9678 -59.7963 -60.1536 -60.405 -60.4113 -60.0621 -59.7773 -59.2805 -58.7894 -58.3134 -57.7221 -56.6249 -55.5876 -53.9698 -52.3913 -50.8817 -49.4422 -48.6747 -48.1076 -48.3467 -49.2397 -50.6334 -52.2063 -54.1197 -55.6063 -56.6651 -56.959 -56.4119 -55.1008 -53.8093 -52.4302 -51.2648 -50.7986 -50.5424 -51.1815 -51.7699 -52.4875 -53.364 -54.1761 -55.1004 -55.8253 -56.0578 -55.6131 -54.3578 -51.6713 -48.0488 -44.0549 -40.4399 -37.7277 -35.8597 -35.8873 -37.7291 -40.672 -44.571 -48.2843 -51.8535 -55.056 -57.1232 -58.822 -59.9936 -60.9873 -61.9821 -62.6078 -62.9948 -62.933 -61.9219 -59.9168 -57.7464 -55.211 -53.0509 -51.6456 -51.4883 -52.1965 -53.9009 -55.5198 -57.0716 -58.2551 -59.1654 -59.8971 -60.4266 -60.8021 -60.8923 -61.1636 -61.258 -61.4345 -62.132 -62.0977 -62.549 -62.8142 -62.9457 -62.5672 -61.8797 -60.8465 -59.7357 -58.6969 -57.725 -57.2207 -56.988 -56.8352 -56.8139 -56.4429 -56.3208 -55.9422 -56.0407 -55.3878 -54.4535 -52.964 -50.4047 -47.8468 -45.3714 -43.1237 -42.2654 -42.2709 -43.6437 -45.4222 -47.2374 -49.3183 -51.3116 -53.3992 -55.1398 -56.5662 -57.5229 -58.3638 -58.9048 -58.7818 -58.9304 -58.6755 -58.4235 -58.1353 -57.7298 -57.4069 -57.0039 -56.7487 -56.2483 -55.8864 -55.3632 -54.446 -54.215 -53.9984 -53.7954 -54.0028 -54.2669 -54.5496 -55.092 -55.5189 -55.8744 -56.2013 -56.716 -56.992 -57.1384 -57.1812 -57.1272 -56.9349 -56.7421 -56.38 -56.2623 -56.3054 -56.3238 -56.1858 -56.6461 -57.0433 -57.3685 -57.6684 -58.0129 -58.1144 -58.6769 -59.0019 -59.3916 -59.6989 -60.1216 -60.1258 -60.143 -59.71 -59.1189 -58.0309 -56.4233 -54.6234 -51.9674 -50.0856 -48.3799 -46.9606 -46.3272 -46.1654 -46.904 -47.8903 -49.8258 -52.0605 -54.7386 -57.1917 -58.1162 -57.197 -54.8096 -51.3102 -47.2519 -43.1212 -40.2031 -39.7758 -40.4881 -42.4471 -45.2412 -48.1507 -50.771 -53.1023 -54.7612 -55.2533 -55.0737 -54.0337 -51.9086 -49.4026 -46.6232 -43.8811 -41.3866 -39.1287 -38.1549 -37.9636 -39.0452 -40.8503 -43.6308 -46.8846 -49.8542 -52.7054 -54.9331 -56.4592 -57.6034 -58.2784 -58.6837 -58.9739 -58.6377 -57.4667 -55.4257 -52.3891 -48.5786 -44.451 -40.9323 -38.4079 -37.8034 -39.2025 -41.7241 -45.1107 -48.7245 -52.0098 -54.741 -56.2422 -56.5394 -55.7555 -53.6325 -50.2377 -46.1288 -41.3293 -37.0225 -33.0922 -30.2284 -28.9165 -27.975 -27.3132 -27.5842 -28.7153 -30.9977 -34.5222 -38.8831 -43.4588 -47.6221 -51.2556 -54.0378 -55.4949 -56.2579 -56.7294 -56.7831 -56.5587 -56.1811 -55.6952 -55.4822 -55.358 -55.4953 -55.7418 -55.7457 -55.709 -56.1002 -56.2681 -56.8866 -57.3041 -57.6754 -57.8074 -57.8256 -57.5974 -57.7567 -57.5406 -57.2452 -56.5623 -55.3109 -53.9545 -51.7989 -49.5302 -47.4521 -46.0066 -45.5107 -45.997 -47.3848 -49.1556 -51.1986 -52.8865 -54.356 -55.2861 -55.8972 -55.9731 -56.1022 -56.4985 -56.8059 -57.2912 -57.5305 -57.6186 -57.7261 -57.6844 -57.6259 -57.4496 -56.8798 -56.3192 -55.9986 -55.3057 -54.9445 -54.648 -54.9647 -55.4995 -55.7427 -56.136 -56.3302 -56.2336 -55.9875 -55.9677 -55.9754 -56.3176 -56.7915 -57.1389 -57.3348 -57.1473 -56.8215 -56.0257 -55.2133 -54.2972 -53.4626 -52.7976 -52.4195 -52.2296 -52.0231 -52.2278 -52.791 -53.4061 -54.0737 -54.8296 -55.2895 -56.0466 -56.6902 -57.236 -57.6633 -58.0779 -58.3666 -58.2354 -58.0639 -57.8836 -57.6389 -57.7933 -58.2105 -58.5173 -59.227 -60.1938 -60.9849 -61.8208 -61.9434 -62.0215 -61.7389 -60.9675 -60.3476 -59.4601 -58.7575 -58.1602 -57.7433 -57.2862 -56.8299 -56.4064 -55.8371 -55.4995 -55.3627 -55.2588 -55.479 -55.5092 -55.2645 -55.3701 -55.1165 -54.9648 -54.8303 -54.6843 -54.6673 -54.7618 -54.7514 -54.4478 -54.295 -53.9074 -53.5297 -53.0856 -52.7541 -52.6146 -52.4507 -52.2708 -52.3738 -52.3038 -52.0568 -51.6776 -51.2813 -50.806 -50.6086 -50.0614 -49.3339 -48.1185 -46.6527 -45.1876 -43.3403 -41.7389 -40.6865 -40.3686 -40.5248 -41.962 -43.6015 -45.6934 -47.6143 -49.7106 -51.0938 -52.1045 -52.8151 -53.2245 -53.4491 -53.5584 -53.5305 -53.3922 -52.9232 -52.9094 -52.8303 -52.7592 -52.7558 -52.5495 -52.568 -52.8423 -52.9072 -53.2645 -53.7106 -54.5196 -55.0952 -55.355 -55.2351 -54.4437 -52.9792 -50.6693 -47.6602 -44.0197 -40.3361 -37.0621 -33.8898 -31.4019 -29.9687 -29.0753 -28.6355 -28.9351 -30.0925 -32.1956 -34.8067 -38.2034 -41.4067 -44.2073 -46.5593 -48.1466 -49.4784 -50.0664 -50.8967 -51.7179 -52.1916 -52.6257 -52.8404 -52.8037 -53.0219 -53.0657 -53.1386 -53.3323 -53.2458 -52.9205 -52.4619 -51.8101 -51.5099 -51.2948 -51.5834 -51.8102 -52.0633 -52.469 -52.8628 -53.2435 -53.658 -54.0525 -54.6447 -54.9882 -54.9765 -54.8862 -54.5607 -54.0658 -53.6854 -52.9183 -51.9188 -50.7096 -48.995 -47.2352 -45.4254 -44.0417 -42.9731 -42.2237 -41.8433 -42.3296 -43.4801 -45.7118 -48.2209 -51.4989 -53.7588 -55.5325 -55.8512 -55.7011 -54.8099 -53.6508 -52.2589 -51.1253 -49.601 -48.867 -48.9711 -49.8305 -51.4503 -53.2549 -54.3724 -54.1535 -52.4189 -49.2496 -45.0915 -40.6216 -35.7742 -31.6644 -28.3105 -25.9354 -24.4899 -24.4412 -25.3822 -27.1504 -30.2275 -33.4848 -37.1802 -40.9546 -44.4082 -47.298 -49.4401 -50.6371 -50.9434 -50.6284 -49.8353 -48.9073 -47.4504 -46.0757 -44.4791 -43.22 -41.9307 -41.1184 -41.2707 -42.0084 -43.8439 -45.8239 -48.1283 -50.0469 -51.9906 -53.4531 -54.5238 -55.3505 -55.797 -55.8715 -54.2639 -51.5757 -48.0735 -43.9351 -39.9174 -36.3988 -33.813 -32.7653 -33.0514 -33.8681 -35.9653 -38.5582 -41.46 -44.442 -46.9771 -48.9238 -50.4433 -51.346 -52.0736 -52.5528 -53.1994 -53.6139 -54.0344 -54.4251 -55.0378 -55.4369 -56.0675 -56.818 -57.3664 -58.2231 -58.9556 -59.827 -60.4933 -61.156 -61.3062 -61.3963 -61.7403 -61.7522 -62.0231 -62.3011 -62.4234 -62.4279 -61.5347 -59.7232 -57.1305 -54.2795 -51.465 -49.6577 -48.7416 -48.8428 -49.9237 -51.2904 -52.0128 -53.1697 -53.7272 -53.8419 -54.0902 -54.0162 -53.9918 -54.1494 -54.3453 -54.7503 -54.9317 -55.125 -55.0447 -54.9192 -54.9304 -54.7432 -54.7588 -54.8099 -55.0342 -55.2503 -55.5874 -56.028 -56.6281 -57.1443 -57.5194 -57.5022 -57.3497 -57.3365 -57.4139 -57.5156 -57.6542 -57.4713 -57.1851 -56.9881 -56.8137 -57.0498 -57.8609 -58.794 -60.0777 -60.9599 -62.1183 -62.7237 -63.3444 -63.759 -64.3822 -64.6563 -64.8772 -65.228 -65.583 -65.5784 -65.1691 -63.6593 -60.9686 -57.4353 -53.2087 -48.8299 -44.7731 -41.8519 -40.1826 -39.9599 -41.0806 -43.44 -46.1914 -49.0645 -51.5646 -53.5909 -54.6103 -54.9813 -54.9523 -54.8652 -55.0004 -54.7898 -53.9782 -52.3824 -50.1909 -47.0012 -43.9802 -40.8603 -38.6424 -37.0307 -36.5015 -37.2995 -39.1852 -41.1622 -43.9172 -46.5326 -49.1807 -51.1231 -52.3614 -53.055 -53.2136 -52.6077 -50.8404 -48.2354 -45.0257 -41.5907 -38.4301 -35.7351 -34.0886 -33.3604 -33.5891 -34.5197 -36.4711 -39.2805 -42.7276 -46.4109 -49.8856 -53.1643 -55.9333 -58.3887 -60.4887 -62.3163 -63.9381 -64.7793 -64.8303 -64.2541 -62.9376 -61.2656 -59.4707 -57.8489 -56.4001 -55.6766 -54.8846 -54.5828 -54.4568 -54.6081 -54.8962 -55.0 -55.625 -55.7195 -55.9167 -55.7471 -55.0703 -53.5341 -51.0025 -48.0159 -44.2986 -40.8982 -37.8642 -35.8632 -34.5485 -34.5177 -34.882 -36.4049 -38.7615 -42.1272 -45.6795 -49.3325 -52.5197 -54.9865 -56.6456 -57.4975 -57.897 -58.1937 -58.3585 -58.3658 -58.4071 -58.5422 -58.035 -57.0987 -56.0786 -54.5299 -53.3468 -52.2659 -51.8501 -51.5614 -51.3561 -51.316 -51.1695 -51.1816 -51.1321 -51.2418 -51.7899 -52.3966 -52.9581 -53.6497 -54.1659 -54.521 -54.7281 -55.0137 -55.3572 -55.657 -56.0264 -56.1486 -56.2259 -56.0546 -55.9967 -55.9341 -56.3303 -57.0042 -58.1098 -59.3776 -60.4726 -61.5719 -62.5054 -63.1062 -63.6433 -63.908 -63.453 -62.8063 -61.6191 -60.5302 -58.9229 -57.485 -56.175 -54.6777 -53.2007 -51.7122 -50.091 -48.7556 -47.7025 -47.491 -47.8729 -49.0906 -50.5453 -52.6181 -54.6586 -56.6504 -57.6225 -57.7101 -56.5869 -54.5469 -52.3279 -50.2275 -48.6587 -47.8444 -48.0267 -48.8303 -49.7203 -50.5585 -51.4116 -52.4182 -53.1338 -53.794 -54.4073 -55.3185 -55.8702 -56.5198 -57.342 -58.0028 -58.8345 -59.2792 -59.7364 -60.0513 -60.5723 -60.6001 -60.883 -60.7014 -60.8248 -60.6193 -60.1356 -59.8052 -59.5416 -58.9815 -58.5918 -57.2903 -55.8011 -54.1456 -52.85 -51.5337 -50.7358 -49.9931 -49.4168 -48.8266 -47.9962 -47.4167 -47.2562 -47.6559 -48.5259 -49.2216 -50.4419 -51.1584 -51.8222 -52.2247 -52.3894 -52.6833 -52.9397 -52.8959 -52.3191 -51.4609 -50.2485 -49.1656 -48.2485 -47.6047 -48.0576 -48.5536 -49.7476 -50.7265 -51.9306 -52.5746 -53.4208 -54.4312 -55.6344 -56.8607 -58.5111 -59.6574 -61.2356 -61.7315 -60.7834 -58.2629 -54.8401 -50.6086 -46.4966 -43.1245 -40.8124 -40.3437 -41.3993 -43.6816 -46.665 -50.3157 -53.5681 -56.8525 -59.026 -60.6199 -61.4769 -61.8013 -61.5006 -61.1519 -59.9855 -57.9275 -55.0722 -51.5359 -47.7978 -44.0504 -41.3125 -39.3362 -39.4121 -41.3199 -44.014 -47.2857 -50.5358 -53.1956 -55.1376 -55.776 -55.6483 -55.4595 -55.4412 -55.3047 -55.2511 -55.0132 -54.9054 -54.6829 -54.6181 -54.6704 -54.8187 -55.2817 -55.6673 -56.1152 -56.4388 -56.568 -56.8718 -57.1929 -57.1363 -57.2247 -57.2901 -57.3488 -57.3085 -57.1573 -56.8765 -56.8703 -56.7376 -56.9468 -56.9718 -56.7717 -56.4913 -56.1294 -55.366 -54.8655 -54.5165 -54.4163 -54.6013 -54.9664 -55.4273 -55.9092 -56.3938 -56.6978 -57.1472 -57.6191 -58.6002 -59.733 -60.9404 -62.0384 -62.8909 -63.3447 -63.3834 -62.8754 -61.9748 -61.0003 -59.7731 -58.5309 -57.3948 -56.7235 -56.3307 -56.3658 -56.6962 -57.2448 -58.0092 -58.7378 -60.2359 -61.518 -62.8348 -64.0097 -64.7331 -64.1569 -62.516 -59.8347 -56.9793 -54.2914 -52.0298 -50.995 -51.2948 -52.1311 -53.3942 -54.5107 -55.0984 -55.7654 -56.0172 -56.4213 -56.6943 -57.5899 -58.6255 -59.2345 -60.0633 -60.7069 -61.2063 -61.6607 -62.2874 -62.8686 -63.4821 -63.8893 -63.9449 -63.8927 -63.6529 -63.6181 -63.2137 -62.9831 -62.612 -62.0757 -61.3636 -60.3138 -59.7095 -58.7009 -57.9403 -57.4234 -56.6559 -55.9314 -55.078 -54.3263 -53.1862 -52.5538 -52.2239 -51.7708 -51.6128 -51.5016 -51.7431 -51.7307 -51.6323 -51.6253 -51.6765 -51.767 -52.1765 -52.6049 -52.7226 -53.1701 -53.5453 -54.0216 -54.4346 -54.8774 -55.7359 -56.3095 -56.8389 -57.4892 -58.0471 -58.2742 -58.6718 -58.4772 -58.0469 -57.0121 -55.0568 -52.2358 -48.6444 -44.5469 -40.7607 -37.4769 -34.5609 -32.8741 -32.5426 -32.9214 -33.4079 -34.6524 -36.0812 -38.262 -40.7481 -43.4456 -45.8805 -48.2749 -49.8878 -51.0916 -51.7051 -51.9193 -52.1373 -52.5762 -52.8778 -53.1205 -53.5796 -53.7292 -53.7602 -54.0104 -54.2716 -54.6402 -55.1589 -55.4236 -55.402 -55.2397 -54.9229 -54.7654 -54.5639 -54.845 -54.7571 -54.8556 -54.8199 -55.0649 -55.4418 -56.1539 -56.8644 -57.546 -57.8786 -58.0945 -58.1512 -57.6878 -57.0408 -56.2802 -55.0198 -53.3516 -51.5658 -49.7493 -48.2327 -47.1068 -46.0439 -46.2031 -46.493 -47.5938 -48.8328 -50.248 -51.0855 -50.6725 -48.9324 -46.6354 -43.5592 -40.7044 -38.1929 -37.0032 -36.9778 -38.111 -39.9498 -41.9678 -44.1463 -46.1945 -48.3682 -50.2697 -52.2975 -54.429 -56.8557 -59.5435 -61.3536 -62.04 -60.8112 -58.078 -54.271 -49.8943 -45.6963 -42.5027 -40.9105 -41.1036 -42.8971 -45.49 -48.1536 -50.8744 -53.2403 -54.7711 -55.995 -56.8565 -57.9875 -59.1835 -60.8283 -62.2531 -63.9254 -65.1644 -65.6717 -65.239 -64.141 -62.459 -60.7076 -58.8448 -57.6308 -56.2851 -55.8842 -55.5214 -55.5354 -55.8897 -56.3076 -56.4898 -56.6586 -56.9905 -56.9241 -56.9779 -56.7031 -56.3304 -55.9013 -55.5397 -55.206 -54.8169 -55.007 -54.9519 -55.2707 -56.0108 -56.8105 -57.7124 -58.7417 -59.438 -60.4944 -60.9867 -61.3012 -62.1575 -63.3083 -64.4453 -65.3065 -64.9755 -63.5677 -61.2154 -57.8985 -54.7697 -52.2337 -50.7669 -51.1013 -52.7375 -54.8696 -56.8823 -58.804 -59.9304 -60.3773 -60.2375 -60.0467 -59.6054 -59.729 -59.6103 -59.3272 -59.8628 -60.4506 -61.1379 -61.9604 -62.4697 -62.4033 -62.0295 -60.7822 -59.1116 -57.1757 -55.5771 -54.174 -53.1695 -52.9678 -52.8965 -52.9055 -53.0407 -53.1038 -53.6195 -53.8938 -54.1358 -54.4763 -54.5692 -54.8464 -55.0986 -55.4985 -56.335 -56.9512 -57.1818 -57.3733 -57.2049 -57.0771 -57.0164 -57.1571 -57.2989 -57.6574 -58.2173 -58.7093 -59.5687 -60.2595 -61.0891 -61.7054 -61.9668 -61.883 -61.6153 -60.6578 -59.5632 -57.8293 -56.1649 -54.4601 -52.9718 -51.3933 -50.1988 -49.0142 -47.8517 -47.0863 -46.1366 -45.7347 -45.9517 -46.5653 -47.9095 -49.4919 -51.4855 -53.6288 -55.4249 -56.3695 -56.54 -55.8343 -54.6982 -53.0121 -51.3978 -49.823 -49.522 -49.4156 -49.738 -50.2445 -50.9557 -51.907 -52.8206 -53.4003 -53.7726 -52.7515 -51.0489 -48.1907 -45.1814 -41.9071 -38.9888 -37.0943 -36.1025 -36.3655 -37.9163 -40.4852 -43.6531 -47.0969 -50.2442 -53.1898 -55.2611 -56.387 -57.2393 -57.9015 -58.1019 -58.1431 -57.7745 -57.0473 -55.9508 -54.571 -52.8739 -51.1932 -49.8279 -48.9055 -49.3358 -50.5245 -52.3023 -54.309 -56.3085 -57.8751 -59.2286 -60.0683 -60.6382 -61.2601 -61.6132 -62.0753 -62.5783 -62.9434 -63.436 -63.7204 -63.6759 -63.2724 -62.0027 -60.88 -59.6997 -58.7199 -57.5354 -56.6557 -56.4015 -56.2701 -56.3242 -56.7133 -56.9828 -57.2147 -56.9664 -56.5436 -55.6854 -54.072 -52.2646 -50.0786 -47.9574 -45.765 -44.0912 -43.0962 -43.1512 -43.912 -46.1607 -48.4271 -50.9561 -53.2298 -55.1137 -56.0126 -56.5162 -56.8504 -57.2032 -57.2312 -56.9104 -55.5167 -53.0526 -49.6673 -45.7396 -41.7484 -38.0602 -35.6816 -34.8337 -35.4675 -37.0303 -40.0452 -43.0455 -45.8308 -48.4178 -50.1398 -51.37 -51.8925 -52.2343 -52.5939 -52.6987 -52.8966 -53.0731 -53.4773 -53.4683 -53.7525 -53.7941 -53.9811 -54.2414 -54.904 -55.33 -55.673 -55.7748 -55.8951 -55.8315 -55.7637 -55.5645 -55.7832 -56.5569 -57.2789 -57.8969 -58.7411 -59.4869 -59.8353 -60.3256 -60.1718 -59.9215 -59.0398 -58.2128 -57.2889 -56.3322 -54.9643 -54.0408 -52.8452 -51.3652 -50.1805 -48.9791 -48.1386 -47.8069 -47.506 -47.7429 -48.6013 -49.5275 -50.7865 -51.8116 -52.2792 -51.7453 -50.6962 -48.3314 -46.9748 -45.418 -45.6646 -46.2281 -47.946 -49.6231 -51.5873 -53.1234 -54.8156 -56.0919 -57.5885 -58.5036 -59.1684 -59.0979 -57.8596 -55.4102 -51.5616 -47.3233 -43.1279 -39.7216 -37.3191 -36.2519 -36.6228 -38.5001 -41.3766 -44.8359 -48.3519 -51.616 -54.2987 -56.197 -57.467 -58.6996 -59.6086 -60.3238 -60.7988 -61.1134 -60.9714 -60.6623 -59.8744 -59.2081 -58.2246 -57.4565 -56.4523 -55.3604 -54.4978 -53.6718 -53.2848 -52.9836 -52.8108 -52.9556 -52.7724 -52.6359 -52.3537 -51.3364 -49.6514 -47.3189 -44.23 -40.9077 -37.639 -35.0373 -33.025 -32.0462 -31.9066 -32.6732 -34.7237 -37.4247 -40.8832 -44.6881 -48.6076 -51.9506 -54.7493 -56.638 -57.6918 -58.1788 -58.3187 -58.1385 -57.833 -57.5078 -57.2558 -57.4579 -57.4928 -58.02 -58.3201 -58.519 -58.3154 -57.3557 -56.3762 -54.9666 -53.6749 -52.8482 -52.3463 -52.4322 -52.3461 -52.3558 -51.8823 -50.5426 -48.3233 -45.7857 -42.786 -39.7096 -37.1909 -35.1563 -33.9106 -33.7222 -34.3258 -35.8997 -37.8928 -40.4424 -42.911 -45.3397 -47.2316 -48.513 -49.7457 -50.3412 -50.8805 -51.3338 -51.6405 -52.0243 -52.1334 -52.5683 -52.7874 -52.9108 -53.2811 -53.6983 -54.198 -54.7308 -55.3895 -56.5074 -57.5426 -58.4356 -59.1262 -59.5714 -59.852 -59.8617 -59.9732 -60.0404 -60.2729 -60.2813 -59.8092 -58.8672 -56.339 -52.8771 -48.9533 -45.1498 -41.7664 -40.0729 -39.7151 -41.0144 -43.0497 -45.8341 -48.1827 -50.4916 -52.1278 -53.3412 -54.6247 -55.8026 -57.0187 -58.4381 -60.0033 -61.194 -61.6525 -61.4705 -60.2408 -58.5602 -56.6462 -54.8504 -53.3944 -52.3725 -51.7855 -51.3523 -51.2477 -51.5352 -52.1057 -52.4962 -53.2381 -53.537 -53.9116 -53.996 -53.5321 -52.4545 -50.7454 -48.3565 -45.8377 -43.3062 -41.0326 -39.7995 -39.4329 -40.6198 -42.4834 -44.5084 -46.7269 -48.457 -49.5555 -50.4302 -50.6262 -50.9229 -51.6156 -52.0725 -52.5112 -53.1058 -53.6616 -53.9583 -54.7833 -55.2769 -55.9174 -56.4355 -57.1838 -57.5443 -58.294 -59.1448 -60.144 -61.5844 -62.5482 -63.629 -64.5796 -65.4576 -65.6691 -65.8749 -65.5611 -64.0585 -61.7198 -58.2191 -54.3456 -50.1418 -46.6352 -44.1371 -42.9468 -43.7451 -45.3931 -47.4015 -49.6343 -51.4754 -52.8954 -53.3467 -53.785 -54.0607 -54.2295 -54.3361 -54.3865 -54.6475 -54.7732 -54.8406 -54.9193 -54.9735 -54.9739 -54.8972 -54.8977 -54.9541 -55.2546 -55.5283 -56.0637 -56.1888 -56.4901 -56.8039 -57.1249 -57.8229 -58.436 -59.0022 -59.6889 -60.4314 -60.5043 -59.7847 -58.2333 -56.2024 -53.7841 -51.6058 -49.44 -48.4356 -48.4658 -49.08 -49.6243 -50.5829 -51.2966 -51.9704 -52.2782 -52.543 -52.9608 -53.1015 -53.0724 -53.3736 -53.4343 -53.4876 -53.7427 -54.0722 -54.2581 -54.5536 -54.672 -55.0657 -55.2337 -55.3773 -55.2739 -55.1717 -54.6118 -54.2858 -53.9629 -53.7905 -53.7513 -53.7036 -53.6748 -53.9739 -54.5328 -55.417 -56.2902 -56.7459 -57.1474 -57.5113 -57.5402 -57.201 -56.5786 -55.8044 -54.8788 -53.3653 -51.8646 -50.1486 -48.8459 -47.5222 -46.7203 -45.9061 -45.843 -46.1067 -47.2867 -49.4154 -51.8773 -54.1238 -55.4219 -56.1363 -55.995 -55.1086 -53.9848 -52.6253 -51.8606 -50.8686 -50.3916 -49.6423 -49.7263 -50.2347 -51.4607 -53.1063 -54.9673 -56.4623 -57.4671 -57.0684 -54.9045 -51.3994 -46.9972 -42.2298 -38.002 -34.5655 -32.1591 -31.0223 -31.1792 -32.7392 -35.082 -38.1036 -41.6361 -44.8579 -48.2348 -50.8261 -53.0527 -54.8068 -55.923 -56.5629 -56.7104 -56.3984 -55.6733 -55.2128 -55.0115 -55.216 -55.579 -55.9867 -55.7982 -55.4803 -54.7144 -53.8868 -53.4398 -53.06 -53.1134 -53.1839 -53.7684 -54.1871 -54.668 -55.3586 -55.79 -55.3116 -53.3889 -50.7518 -46.8901 -43.1168 -39.6265 -37.4066 -36.4921 -37.4958 -39.1614 -41.9818 -45.0145 -47.9801 -50.6134 -53.0422 -54.3877 -55.3341 -55.6367 -55.8552 -55.8795 -55.9639 -55.9865 -55.9393 -56.2069 -56.8696 -57.3745 -58.4834 -59.443 -60.4879 -61.2499 -61.9706 -62.3021 -62.6167 -62.7133 -62.8964 -63.0305 -63.4342 -64.1224 -64.8639 -65.3299 -65.5952 -65.1969 -63.955 -61.5084 -58.5149 -55.0004 -51.7325 -49.5948 -48.619 -48.9022 -50.2499 -51.7213 -53.0724 -53.8654 -54.3146 -54.4221 -54.7001 -54.9915 -55.6928 -56.4078 -57.2029 -58.1574 -59.116 -59.5337 -59.8308 -60.265 -60.5673 -60.7266 -60.631 -60.5248 -60.4537 -60.394 -60.5655 -61.0071 -61.4893 -62.3132 -63.6108 -64.5735 -65.5888 -66.8051 -67.5765 -68.4333 -68.9058 -69.1765 -68.4176 -66.7172 -64.5107 -61.8407 -59.4011 -57.2074 -56.0723 -54.7072 -53.8277 -52.5949 -51.0945 -49.5882 -48.0439 -47.4256 -47.4353 -48.0942 -49.5816 -50.9888 -51.843 -51.6528 -50.7389 -48.6045 -45.8971 -42.8846 -40.3906 -39.4338 -39.1401 -39.6865 -41.2155 -43.1199 -45.5288 -47.7327 -49.4586 -51.1503 -52.2147 -52.939 -53.5218 -54.2079 -54.3796 -54.1808 -53.0941 -51.0123 -48.1675 -44.7883 -41.5232 -38.5045 -36.4751 -35.4083 -35.6766 -37.556 -40.4556 -44.1304 -48.1161 -51.8229 -55.0874 -57.5771 -58.9432 -59.687 -59.7674 -59.2099 -57.3934 -54.0619 -50.165 -45.8136 -41.8949 -38.5571 -36.4979 -35.7887 -36.5292 -38.5278 -40.8815 -43.5984 -46.3517 -49.1338 -51.6989 -54.1667 -56.0133 -58.1382 -59.7785 -61.0899 -61.4032 -60.2949 -57.9032 -54.1781 -49.3897 -44.6289 -40.6896 -38.6311 -38.8918 -41.3292 -44.5683 -47.8845 -51.1172 -53.6537 -55.2249 -55.8055 -55.9022 -56.0047 -56.4196 -56.7526 -57.027 -57.1049 -56.9877 -56.4911 -55.7016 -54.3512 -52.9042 -51.3532 -50.2542 -49.5642 -49.4914 -49.7305 -50.6015 -51.5225 -52.3709 -53.2565 -53.7251 -54.2581 -54.4776 -54.5302 -54.6635 -54.676 -54.6198 -54.1846 -53.3253 -52.0921 -50.6006 -48.9874 -47.9316 -47.807 -48.6271 -50.0055 -51.4702 -52.6974 -53.7902 -54.3899 -54.3521 -54.1448 -53.8503 -53.8508 -53.9064 -53.9908 -54.4025 -54.7624 -55.0236 -55.125 -55.0951 -55.2283 -55.3638 -55.3607 -55.5249 -55.4571 -55.6659 -55.6674 -55.5365 -55.6941 -55.8778 -56.1608 -56.3537 -56.6574 -56.9125 -57.135 -57.2648 -57.4922 -57.8209 -57.9789 -58.0064 -57.9291 -57.6465 -57.2438 -56.9503 -56.4324 -55.6236 -54.6289 -53.1302 -51.655 -49.6622 -48.2662 -47.0937 -46.6646 -46.9927 -48.1406 -49.7363 -51.6774 -53.7482 -54.1121 -53.2985 -51.6076 -48.5902 -45.562 -42.9217 -41.5568 -41.4517 -42.058 -42.7833 -43.4224 -44.1154 -44.9779 -46.3619 -48.4506 -51.7093 -54.9874 -58.3072 -60.3336 -61.0363 -60.1032 -58.2702 -55.0816 -51.9576 -48.7546 -46.4283 -45.4681 -45.6301 -46.6167 -47.8325 -49.4283 -50.7014 -51.6128 -52.0372 -52.1848 -52.1293 -52.3212 -52.5984 -53.0854 -53.5409 -54.2745 -55.0742 -55.9 -56.4576 -56.8011 -57.4339 -57.8215 -58.3635 -58.4045 -58.4971 -58.3328 -58.328 -58.2717 -58.0799 -57.9506 -57.6835 -57.2736 -56.5652 -55.7255 -54.042 -51.8903 -48.9842 -45.6091 -42.5172 -39.7111 -37.6624 -37.3108 -37.861 -39.9117 -42.7803 -46.1314 -49.4743 -52.6249 -55.6468 -57.7377 -59.25 -60.0118 -60.3244 -60.5193 -59.9111 -58.2228 -55.4446 -51.9301 -48.3543 -44.4634 -41.3728 -39.2981 -38.7104 -39.0369 -40.4523 -43.0146 -45.88 -48.8383 -51.6267 -53.7094 -55.331 -56.1266 -56.2523 -55.9696 -55.1701 -53.4206 -50.819 -47.8364 -44.4148 -41.0656 -38.2614 -36.0157 -35.0206 -34.6404 -35.4875 -37.0314 -39.5047 -42.4309 -45.0975 -47.7723 -49.6456 -50.9493 -51.5084 -51.9689 -52.419 -53.1228 -53.1913 -53.7652 -54.0586 -54.4247 -54.7548 -55.1704 -55.6111 -56.1501 -56.5147 -56.9984 -57.3239 -57.822 -58.0378 -58.5355 -58.7579 -59.0592 -59.2087 -59.4847 -59.3338 -59.8555 -59.8932 -60.276 -60.2136 -59.6809 -57.3737 -54.3062 -50.2418 -46.1413 -42.663 -40.7329 -40.752 -42.548 -44.9207 -48.0961 -50.9574 -53.0123 -54.0829 -54.473 -54.6842 -54.9786 -56.0108 -57.2901 -58.666 -59.7927 -61.0365 -61.7583 -62.2754 -62.2094 -61.3701 -60.206 -58.9172 -57.4568 -56.2224 -55.2753 -54.9672 -54.9962 -55.2429 -55.7207 -56.0188 -55.9614 -56.0514 -55.664 -54.9626 -53.7909 -52.0346 -49.227 -46.2258 -43.12 -40.3374 -38.4738 -38.0091 -39.0741 -41.2145 -43.6449 -46.5819 -49.4971 -52.2241 -54.2798 -56.0049 -57.1707 -57.7659 -58.422 -58.7518 -58.8267 -58.6428 -58.3774 -57.9518 -57.2746 -56.835 -56.0767 -55.3134 -54.8094 -54.5449 -54.054 -54.33 -54.3472 -54.3473 -54.2974 -54.044 -53.9998 -54.1681 -54.2623 -54.3889 -54.237 -53.6919 -52.372 -50.8857 -49.2577 -47.6389 -46.8774 -46.5652 -46.6116 -47.2842 -47.7457 -48.2349 -48.6631 -49.0944 -49.5978 -50.2066 -50.8077 -51.4358 -52.2462 -52.775 -53.3115 -53.597 -53.8473 -53.7414 -53.8839 -54.0165 -54.1135 -54.3442 -54.5676 -54.9268 -54.9938 -55.0037 -54.9699 -54.9939 -55.359 -55.8432 -56.8415 -57.567 -58.5863 -58.8409 -58.5636 -57.5394 -56.2 -55.2985 -54.9015 -55.0334 -55.6233 -56.3428 -57.1614 -57.3983 -57.3273 -56.8816 -56.374 -55.9525 -55.6356 -55.6529 -55.6936 -55.6079 -55.6549 -55.4208 -54.9835 -54.6741 -54.2635 -54.091 -54.0096 -54.0223 -54.1494 -54.2372 -54.3687 -54.4162 -54.5132 -54.8194 -55.1977 -55.7601 -56.3509 -56.9401 -57.3328 -57.5666 -57.7586 -57.9817 -58.257 -58.5956 -58.7188 -58.8901 -58.9637 -58.8013 -58.4734 -58.2401 -57.8773 -57.6545 -57.2849 -56.7751 -56.3876 -55.9515 -55.6422 -55.4768 -55.3166 -55.42 -55.318 -55.3487 -55.3948 -55.4665 -55.4398 -55.3632 -55.3064 -55.0427 -54.7965 -53.9757 -53.621 -52.8888 -52.1783 -51.7898 -51.715 -51.5331 -51.3567 -51.2181 -50.9727 -50.7112 -50.4832 -50.3915 -50.4019 -50.6685 -50.6977 -50.981 -51.1751 -51.0788 -50.923 -50.8932 -50.7189 -50.8014 -50.8807 -50.7933 -50.6981 -50.4293 -50.0837 -49.5839 -49.3484 -49.4788 -49.8383 -50.3654 -50.8254 -51.1619 -51.268 -50.9058 -50.455 -49.5902 -48.9962 -48.5006 -47.9206 -48.0923 -48.4651 -49.3463 -49.9995 -50.688 -50.8925 -50.7476 -50.6321 -49.9508 -49.1575 -48.7692 -48.3379 -48.2622 -48.4614 -48.6336 -48.9016 -49.2919 -49.6084 -49.5204 -49.4833 -49.3415 -48.9034 -48.9969 -48.9261 -48.8515 -48.9546 -49.0383 -49.0896 -49.3094 -49.5229 -49.838 -50.1113 -50.4209 -50.5184 -50.6113 -50.4997 -50.4706 -50.6603 -51.0895 -51.5584 -51.9686 -52.4412 -52.3815 -52.4458 -52.207 -52.247 -52.1714 -52.4491 -52.6606 -53.0267 -53.2011 -53.2779 -53.351 -53.3672 -53.4873 -53.5959 -54.215 -54.4777 -54.905 -55.2716 -55.6538 -56.054 -56.5531 -56.8537 -57.034 -57.025 -56.6461 -56.5278 -56.4216 -56.3989 -56.8238 -56.9804 -57.3234 -57.135 -57.0194 -56.707 -56.2126 -56.1115 -56.2268 -56.5145 -57.2831 -58.0687 -59.0748 -59.7353 -60.637 -61.2471 -61.6158 -61.7028 -61.8696 -61.7831 -61.7789 -61.5846 -61.6646 -61.5089 -61.5956 -61.4969 -61.1889 -61.2447 -61.0066 -61.1056 -61.3651 -62.0222 -62.8645 -63.5603 -63.8672 -63.5788 -62.401 -60.6794 -58.8697 -57.8725 -58.371 -60.4845 -63.4884 -66.3566 -68.3918 -69.4232 -69.2363 -68.9419 -68.5798 -68.9876 -69.9407 -71.3424 -72.6919 -74.1247 -74.7286 -74.5501 -72.9719 -69.6215", + "breathiness_timestep": "0.011609977324263039" + }, + { + "offset": 140.829, + "text": "SP AP 过 三 巡 酒 气 开 月 华 SP", + "ph_seq": "SP AP g uo s an x vn j iu q i k ai y ve h ua SP", + "ph_dur": "0.14 0.4 0.06 0.163 0.075 0.163 0.075 0.416 0.06 0.163 0.075 0.178 0.06 0.356 0.12 0.357 0.12 0.476 0.4", + "ph_num": "1 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest rest B3 A3 B3 B3 A3 B3 G3 E3 rest", + "note_dur": "0.2 0.4 0.238 0.238 0.476 0.238 0.238 0.476 0.477 0.476 0.4", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "201.5 201.9 202.1 202.2 202.0 202.3 201.9 202.2 202.4 202.5 202.2 202.4 202.4 202.5 202.3 201.9 201.8 201.7 201.3 201.3 200.9 201.2 200.9 200.9 201.1 200.9 201.1 201.0 201.1 200.9 201.0 200.8 200.8 200.6 200.6 200.9 200.6 200.9 200.8 200.4 200.4 199.9 200.5 199.5 199.3 199.2 198.6 197.8 197.9 197.5 197.5 197.4 196.5 197.8 202.4 210.1 219.2 227.2 235.2 242.7 248.6 250.4 248.4 244.1 239.9 235.3 232.7 230.3 228.0 226.1 224.7 222.2 224.3 220.1 218.3 215.8 216.0 217.3 219.6 221.6 221.6 221.4 222.4 222.0 219.6 217.3 207.6 217.0 225.0 233.3 242.5 252.9 262.1 257.0 254.0 251.8 250.2 248.0 245.4 242.3 238.3 235.2 235.4 236.3 239.7 243.7 247.0 249.6 252.7 256.1 257.4 255.5 249.4 244.1 239.7 237.1 236.6 238.8 243.1 247.0 249.3 250.1 249.9 249.6 248.0 245.3 238.8 229.9 226.3 233.8 240.8 247.1 254.3 258.1 252.8 249.8 248.1 247.2 247.1 246.9 247.4 246.6 245.9 246.0 245.4 243.4 238.7 232.9 230.2 228.6 227.0 226.6 225.9 225.6 223.2 218.8 218.1 218.5 219.3 219.8 219.4 219.9 221.5 222.7 222.3 221.3 220.0 212.4 212.3 216.7 218.2 220.9 224.8 228.9 237.1 242.2 246.0 248.4 251.0 252.5 252.7 250.4 247.7 244.9 242.3 240.8 240.3 241.3 243.8 246.6 247.5 248.9 248.8 246.9 246.1 246.1 246.1 246.0 245.4 245.2 244.2 245.1 247.1 247.8 246.7 244.2 239.7 233.1 224.0 210.5 199.1 191.7 187.1 186.3 187.3 188.2 191.3 192.9 194.6 194.9 195.4 193.3 190.7 188.6 186.8 185.4 184.6 184.3 184.2 185.2 190.3 192.4 196.9 198.3 197.9 197.9 198.1 197.7 195.9 194.1 193.8 193.6 194.2 193.7 192.0 189.1 183.0 178.4 175.8 173.5 171.5 170.0 169.1 167.9 166.6 165.8 164.6 162.7 165.5 167.2 170.6 172.0 172.0 170.7 167.7 164.5 161.0 159.3 159.0 159.9 161.9 164.5 167.3 169.9 171.1 171.3 170.7 170.0 168.6 165.7 162.2 158.7 156.9 156.5 157.7 158.7 160.9 162.6 166.9 171.1 174.1 175.4 175.5 175.3 174.4 172.5 166.3 160.6 153.5 149.9 150.6 150.5 150.7 150.9 150.9 151.0 151.5 151.6 151.8 151.6 151.4 152.0 151.9 152.1 151.8 152.2 152.2 152.2 152.1 152.1 152.2 152.2 151.9 152.1 152.1 152.2 152.1 152.3 152.1 152.6 152.2 152.4 152.3", + "f0_timestep": "0.011609977324263039", + "energy": "-84.7352 -79.8672 -76.9259 -74.3279 -72.6848 -71.6481 -71.832 -72.0578 -71.9213 -71.3753 -70.5525 -69.1435 -67.2656 -64.7839 -62.4082 -60.1304 -58.1232 -56.2407 -54.348 -52.7843 -51.5178 -50.4847 -49.7667 -49.0566 -48.5893 -48.0153 -47.7907 -47.8097 -47.8982 -47.8828 -48.3452 -48.721 -49.1732 -50.0205 -51.0167 -52.1942 -53.4129 -54.5532 -55.271 -55.6153 -56.0106 -56.1224 -56.2356 -55.5307 -54.7165 -53.048 -49.8197 -45.5118 -40.2561 -34.7711 -30.2984 -26.4422 -23.7321 -22.1378 -21.3318 -20.9819 -20.7975 -20.617 -20.4349 -20.2809 -20.2469 -20.3634 -21.1412 -22.1028 -23.8361 -26.0036 -28.3613 -30.3702 -31.6017 -31.529 -30.328 -28.2048 -25.8082 -23.5626 -21.8648 -20.929 -20.6945 -20.9283 -21.1971 -21.5132 -21.9465 -22.2739 -22.6563 -23.379 -24.2977 -25.6751 -27.8817 -29.9259 -31.2916 -31.5332 -31.0575 -29.2528 -26.8362 -24.3459 -22.0056 -20.8812 -20.1878 -20.1209 -20.2813 -20.8038 -21.1047 -21.4863 -21.8386 -22.0804 -22.1849 -22.1056 -22.2467 -22.0759 -21.8817 -21.6671 -21.7616 -21.6644 -21.7135 -21.8769 -21.7619 -21.9202 -22.0151 -22.1401 -22.0962 -22.0856 -21.9162 -22.0732 -21.9159 -22.0018 -22.5623 -23.8584 -25.7387 -28.2692 -30.4974 -31.8417 -31.9793 -31.3842 -29.5158 -27.2089 -24.6908 -22.8075 -22.0394 -21.4496 -21.2549 -21.1619 -21.1211 -21.5389 -21.7218 -22.2774 -23.4144 -25.3192 -27.5924 -30.0088 -32.3715 -33.9393 -34.2465 -33.4648 -31.9032 -29.5269 -27.4926 -25.5921 -24.1803 -23.3013 -22.8977 -22.5579 -22.2412 -22.3109 -22.5847 -22.8439 -23.6506 -24.6284 -26.3527 -28.3216 -30.6756 -32.6651 -34.0579 -33.8576 -32.8646 -31.0432 -28.4169 -25.8869 -23.8762 -22.4292 -21.7915 -21.7346 -21.5987 -21.8586 -21.9975 -22.3653 -22.5604 -22.7493 -22.5109 -22.4846 -22.3576 -22.1145 -21.8895 -21.7822 -21.7554 -21.7775 -21.8612 -22.1534 -22.2173 -22.3252 -22.6143 -22.6941 -22.6958 -22.9424 -23.063 -23.2527 -23.4739 -23.7431 -24.0815 -24.2241 -24.6855 -24.7578 -24.6764 -24.4105 -24.2367 -23.7808 -23.2608 -22.886 -22.4996 -22.03 -22.1866 -22.1772 -22.0944 -22.3072 -22.34 -22.6182 -22.9866 -23.1069 -23.378 -23.6287 -23.7008 -23.7493 -23.6413 -23.869 -23.7113 -23.5569 -23.4802 -23.4291 -23.2908 -23.4851 -23.6303 -23.7106 -24.2068 -24.6009 -25.479 -26.6054 -28.727 -31.6709 -35.2305 -38.7899 -42.3053 -45.4179 -47.6664 -48.0639 -46.3594 -43.4571 -39.5869 -35.6352 -31.6699 -28.4035 -26.1402 -25.1043 -24.4962 -24.4065 -24.3134 -24.6352 -25.1902 -26.0289 -26.7239 -27.5507 -28.3142 -28.8368 -29.364 -29.6205 -29.7165 -29.8438 -30.2605 -30.641 -30.973 -31.7734 -32.3849 -33.1748 -34.0021 -34.6717 -35.3761 -35.9701 -36.548 -36.9388 -37.3682 -37.5807 -37.6706 -37.836 -38.0775 -38.6269 -38.8694 -39.5202 -40.374 -41.2726 -42.2172 -43.8913 -45.8412 -48.8779 -52.7601 -57.2105 -61.617 -65.6751 -68.8343 -71.0341 -72.2272 -72.433 -72.4991 -72.3857 -72.0681 -71.7085 -71.5307 -71.3873 -71.1517 -70.7657 -70.584 -70.1089 -69.8691 -69.5993 -69.2945 -69.4385 -69.916 -70.4948 -71.649 -72.8413 -74.333 -75.6898 -76.7141 -76.7074 -76.1863 -73.9876 -74.2594", + "energy_timestep": "0.011609977324263039", + "breathiness": "-87.4023 -83.7471 -79.9261 -76.2726 -73.5368 -72.2088 -72.0842 -72.5934 -72.6872 -72.1092 -70.8632 -69.0234 -66.9089 -64.7018 -62.5399 -60.3556 -58.4561 -56.9375 -54.9487 -53.4693 -52.0216 -50.9446 -49.8708 -49.036 -48.4183 -47.893 -47.4594 -47.324 -47.3168 -47.5042 -47.7785 -48.0658 -48.4877 -49.2262 -50.3533 -51.7097 -54.018 -56.2916 -58.5401 -60.1935 -61.6591 -62.0668 -61.8966 -60.8765 -59.0071 -56.7219 -54.122 -51.8587 -49.7105 -48.7321 -48.4699 -49.2776 -50.6332 -52.3337 -54.2728 -55.8789 -57.162 -57.8999 -57.99 -57.6075 -56.4915 -54.5738 -52.0173 -48.6569 -45.2853 -41.9198 -38.9513 -37.3169 -36.5815 -37.0911 -38.728 -41.1663 -44.052 -46.8065 -49.1067 -51.422 -53.4577 -54.8972 -56.1798 -57.2354 -58.2462 -58.2166 -56.8219 -54.0866 -50.584 -46.6198 -42.9339 -39.6841 -38.0512 -37.7267 -38.9943 -41.1771 -44.0515 -47.2732 -50.4864 -53.4759 -55.618 -57.1267 -57.5657 -58.0058 -58.0789 -58.5307 -58.9957 -59.5983 -60.3975 -61.3491 -62.1231 -62.759 -63.2378 -63.5315 -63.9271 -64.1704 -64.4451 -64.6687 -65.0088 -65.4177 -65.4004 -65.5347 -65.8061 -66.0828 -66.619 -66.7735 -66.7937 -65.5988 -63.0213 -59.3153 -54.8859 -49.7751 -45.2391 -41.8679 -40.1275 -40.2778 -41.8414 -44.4408 -47.5868 -50.6879 -53.5847 -55.9504 -57.4868 -58.6542 -58.7943 -58.846 -58.253 -56.9382 -54.4742 -51.4223 -47.7654 -44.2699 -41.3172 -38.9073 -38.1136 -38.1926 -39.7047 -41.7692 -44.4515 -47.424 -50.118 -52.206 -53.8979 -54.8476 -55.3634 -55.8374 -56.1478 -56.1625 -55.6567 -54.5991 -52.9109 -50.8082 -48.3667 -46.5937 -45.5597 -45.2195 -45.6503 -46.5005 -48.0453 -49.6811 -51.3976 -52.6017 -53.665 -54.1887 -54.4018 -54.6095 -55.1119 -55.526 -55.9484 -56.5101 -56.87 -57.0664 -56.9921 -57.1697 -56.7349 -56.5491 -56.416 -56.1916 -56.1511 -56.0221 -56.0511 -56.1662 -56.4109 -56.8951 -57.0248 -57.2598 -57.3073 -57.07 -56.7883 -56.7131 -56.325 -56.4446 -56.1632 -56.3563 -56.5727 -56.934 -57.3434 -57.5882 -58.0005 -58.0956 -58.3511 -58.3292 -58.3733 -58.2889 -57.9853 -57.9878 -57.6698 -57.6713 -57.5185 -57.784 -57.787 -57.5808 -57.5089 -57.4747 -57.6651 -57.4475 -57.3287 -57.3054 -57.3586 -57.3701 -57.5755 -57.8936 -58.0096 -58.489 -58.806 -59.0545 -58.9442 -58.3993 -57.2803 -55.8161 -53.8555 -52.0915 -50.5284 -49.7101 -49.441 -49.8015 -50.7025 -51.9292 -53.8028 -55.5588 -57.2823 -58.4974 -59.206 -59.7814 -59.4996 -59.4433 -59.039 -58.5735 -58.2238 -57.8131 -57.6765 -57.6879 -57.7562 -57.9724 -58.3917 -58.5699 -59.1574 -59.5084 -60.0912 -60.3682 -61.0857 -61.3984 -62.1441 -63.1493 -63.9927 -64.7196 -65.4197 -65.9989 -66.3302 -66.5874 -67.2024 -67.5098 -67.8022 -68.2645 -68.5451 -68.8121 -69.3739 -70.1533 -70.3638 -69.8249 -68.204 -66.2832 -64.1649 -62.3676 -62.2465 -63.1775 -66.0067 -69.2764 -72.6114 -76.0793 -78.6537 -80.3202 -81.308 -81.8311 -82.0872 -81.9502 -81.6785 -81.1367 -80.6834 -80.7442 -80.5727 -80.5496 -80.3233 -80.003 -79.9658 -79.8149 -79.848 -80.566 -81.5197 -82.8134 -84.1416 -85.3906 -86.0478 -86.3451 -85.1485 -83.9271 -82.0553", + "breathiness_timestep": "0.011609977324263039" + }, + { + "offset": 144.382, + "text": "AP 浓 醉 到 五 更 不 还 家 SP", + "ph_seq": "AP n ong z ui d ao w u g eng b u h uan j ia SP", + "ph_dur": "0.29 0.09 0.178 0.06 0.193 0.045 0.178 0.06 0.178 0.06 0.193 0.045 0.163 0.075 0.402 0.075 1.428 0.095", + "ph_num": "2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest E3 E3 F#3 G3 F#3 E3 D3 E3 rest", + "note_dur": "0.38 0.238 0.238 0.238 0.238 0.238 0.238 0.477 1.428 0.095", + "note_slur": "0 0 0 0 0 0 0 0 0 0", + "f0_seq": "129.1 129.1 129.0 128.8 129.0 129.3 129.0 129.0 128.9 128.9 128.9 128.5 128.8 128.5 128.4 128.7 128.7 129.0 128.8 128.9 128.9 129.2 129.2 129.5 129.3 129.4 129.3 129.0 128.6 128.3 125.1 125.5 128.2 130.7 135.6 140.7 145.9 151.8 157.6 161.6 164.3 166.1 166.8 167.0 165.7 164.2 160.7 155.9 151.8 154.1 157.5 160.7 164.0 166.6 166.5 163.6 163.7 163.5 164.0 164.3 164.2 164.4 165.0 164.1 163.4 163.2 160.8 157.7 153.5 161.5 168.0 175.2 181.8 183.4 184.7 184.3 183.6 183.8 185.3 185.9 186.3 186.2 186.3 186.6 186.7 186.5 186.6 185.8 185.2 183.2 182.8 184.3 188.3 192.9 196.2 198.5 200.2 199.1 197.7 196.0 195.9 196.1 195.4 195.9 195.9 195.6 196.1 195.7 192.4 183.4 185.0 189.2 194.5 199.0 203.1 195.9 190.1 190.6 188.6 187.2 184.7 183.9 184.1 184.6 185.9 187.3 187.7 185.9 180.5 174.3 166.3 164.2 160.7 162.2 165.3 162.0 162.5 162.4 163.4 164.7 165.7 167.0 166.9 166.0 164.4 162.0 159.0 153.6 148.6 147.0 146.7 147.1 147.6 147.7 148.0 147.3 144.1 143.4 143.7 144.2 144.8 146.2 147.1 147.2 146.3 146.2 145.7 145.6 145.1 144.9 145.3 146.5 146.3 146.0 146.5 147.4 147.9 147.8 147.3 147.4 147.1 147.4 147.7 147.5 147.1 147.5 147.7 147.2 144.6 139.9 143.0 146.2 149.8 153.7 158.4 162.6 165.4 167.7 167.5 167.5 167.3 166.3 165.3 164.6 163.0 161.7 161.0 159.8 159.0 160.3 161.4 163.5 164.9 166.5 166.9 166.7 165.9 165.0 164.6 163.9 163.2 163.0 163.0 161.8 161.3 161.0 162.1 163.0 164.4 165.6 166.9 167.3 167.7 167.7 166.5 165.2 164.0 163.1 162.3 162.1 162.1 162.1 161.9 161.7 162.1 163.3 163.8 164.9 166.6 167.9 168.8 169.2 169.2 169.2 168.3 167.9 164.5 162.2 160.9 160.1 159.7 160.7 163.6 166.6 169.3 171.7 173.4 174.8 175.0 174.4 171.5 166.5 162.0 160.0 158.7 158.4 158.8 160.8 164.7 168.7 172.7 175.0 176.3 176.7 175.4 172.3 167.1 160.3 156.1 153.4 153.4 154.6 157.1 160.0 165.2 171.5 176.4 180.4 180.4 177.7 173.0 168.4 162.3 156.2 152.6 151.3 152.0 154.1 157.7 163.4 169.6 171.3 170.1 171.1 171.8 172.3 170.1 167.4 165.9 163.6 163.7 164.0 163.1 162.7 163.0 162.9 163.0 163.7", + "f0_timestep": "0.011609977324263039", + "energy": "-64.1018 -61.3184 -58.9542 -56.4449 -54.2023 -52.8365 -51.6178 -50.7199 -50.0199 -48.9616 -48.1479 -47.4129 -47.053 -46.9205 -46.8455 -47.2298 -47.8541 -48.7469 -49.8334 -51.0681 -52.4373 -53.5948 -54.1032 -53.0972 -50.8545 -46.9282 -43.1534 -38.5575 -34.6455 -31.2666 -28.8533 -27.2909 -26.2728 -25.5908 -25.2447 -24.8699 -24.7928 -24.8413 -24.9618 -24.8939 -25.0956 -25.1676 -25.5976 -26.1298 -26.6562 -27.8278 -29.2328 -30.5347 -31.73 -32.0966 -31.8551 -30.5627 -29.0935 -27.3723 -25.5218 -24.2052 -23.4166 -23.0206 -22.8561 -22.9469 -22.9143 -22.9606 -23.4271 -24.017 -25.1995 -27.0661 -29.8301 -32.397 -34.3888 -35.0999 -34.3229 -32.4491 -29.5738 -27.0529 -24.2577 -23.5166 -22.7934 -22.9076 -22.9279 -22.8686 -22.9977 -22.7463 -22.9192 -23.0439 -23.0631 -23.2007 -23.4307 -23.7052 -24.1363 -24.1041 -24.5374 -24.4393 -24.4992 -24.2288 -23.7761 -23.5321 -23.2661 -23.3382 -23.3931 -23.3997 -23.6182 -23.8246 -24.3092 -24.9916 -25.8931 -27.0743 -28.9498 -31.3746 -33.7415 -35.836 -36.4801 -35.6294 -33.7786 -31.2671 -28.6964 -26.2253 -24.634 -24.3737 -24.3943 -24.5373 -24.6418 -24.8779 -25.1 -25.0547 -25.1876 -25.608 -26.6188 -27.9355 -29.8404 -31.6699 -32.9513 -33.6968 -32.8821 -31.7697 -30.0102 -27.7846 -25.9478 -24.5666 -24.0071 -23.9044 -24.1252 -24.4845 -24.8521 -25.6086 -26.6042 -28.2569 -30.3077 -32.8674 -35.4691 -37.8677 -39.2658 -39.1958 -37.9697 -35.6217 -32.5562 -29.74 -27.0365 -25.0704 -24.1087 -23.5522 -23.2099 -22.9972 -23.0715 -23.258 -23.2903 -23.4073 -23.8235 -23.9656 -24.0478 -24.2054 -24.1983 -24.3916 -24.4044 -24.3876 -24.3581 -24.3208 -24.1787 -24.392 -24.5515 -24.5372 -24.7124 -24.7598 -24.8726 -25.0365 -25.4248 -25.9938 -27.1671 -28.9816 -31.4202 -33.965 -36.3761 -37.6611 -37.7128 -36.5157 -34.1589 -31.2656 -28.4597 -26.1319 -24.3774 -23.6019 -23.2963 -23.2357 -22.9692 -23.075 -23.0069 -22.9702 -22.9875 -23.0596 -22.9744 -22.8753 -22.8405 -22.7638 -22.7954 -22.6349 -22.4099 -22.3773 -22.2519 -22.1923 -22.2912 -22.3701 -22.4146 -22.3961 -22.3991 -22.3903 -22.3797 -22.1407 -22.3959 -22.2798 -22.2652 -22.0933 -22.1594 -22.0619 -22.076 -22.044 -21.9406 -21.9718 -22.1448 -22.0523 -22.144 -22.188 -22.2844 -22.3299 -22.538 -22.6869 -22.6456 -22.679 -22.5463 -22.809 -22.6829 -22.6972 -22.7431 -22.8189 -22.7588 -22.8588 -22.8015 -23.1431 -23.38 -23.5744 -24.0022 -24.3374 -24.4493 -24.5934 -24.8206 -24.6224 -25.1048 -24.8279 -24.8096 -24.767 -24.801 -25.0546 -25.3021 -25.3914 -25.8477 -26.2274 -26.4811 -26.9874 -27.3616 -27.5613 -27.8961 -28.07 -28.2265 -28.0501 -28.2195 -28.3183 -28.4786 -28.7998 -29.022 -29.3519 -29.8475 -30.0093 -30.5059 -30.9516 -31.0931 -31.3736 -31.4184 -31.6111 -31.6996 -31.7501 -31.4111 -31.3188 -30.9852 -30.8067 -31.0688 -31.4356 -32.3187 -33.1853 -34.1299 -35.1754 -35.4358 -35.6689 -35.8314 -35.4837 -35.1172 -35.0359 -35.177 -35.3696 -36.032 -36.8225 -38.5304 -41.2609 -44.6406 -48.4311 -52.2015 -55.3428 -57.4402 -57.8112 -56.0323 -52.387", + "energy_timestep": "0.011609977324263039", + "breathiness": "-66.8125 -64.5206 -61.2219 -58.5055 -55.6692 -53.5151 -51.8447 -50.3154 -49.102 -48.3448 -47.7998 -47.0586 -46.6891 -46.6378 -46.7404 -47.1582 -47.9117 -48.9888 -50.0356 -51.5782 -53.4637 -55.1155 -57.0541 -58.7987 -60.4425 -61.662 -62.434 -63.2906 -63.6391 -63.7348 -63.3814 -62.6415 -61.8641 -60.8648 -60.1829 -59.8885 -59.8846 -60.509 -60.7642 -61.6211 -62.1721 -62.8918 -63.3023 -63.0537 -61.0665 -57.9331 -53.5448 -48.6039 -43.6498 -39.9478 -37.831 -38.0416 -40.6044 -44.2983 -48.119 -51.541 -54.1855 -56.1656 -56.8771 -57.1047 -57.2041 -57.4085 -57.6143 -57.488 -57.1491 -56.3656 -55.0242 -53.2973 -51.4503 -49.6077 -48.0511 -47.2743 -47.4613 -48.0945 -49.6898 -51.2559 -52.8357 -54.0737 -55.173 -55.7691 -56.4743 -57.085 -57.9055 -58.6217 -59.0793 -59.4392 -59.7936 -60.1016 -60.2229 -60.9657 -61.587 -62.4695 -63.2966 -64.0036 -64.5724 -64.8749 -64.7914 -65.1302 -65.0953 -65.1892 -65.3994 -65.7544 -65.8551 -66.1323 -66.4106 -66.2617 -64.8882 -62.8313 -59.9801 -56.5217 -53.4219 -51.2682 -50.3248 -50.7862 -52.4574 -54.558 -56.5149 -58.0851 -59.3394 -60.1869 -60.8038 -61.5748 -62.2678 -63.4309 -64.3482 -65.4351 -66.9459 -67.9846 -68.2404 -67.7635 -66.879 -65.3481 -63.7497 -62.8446 -62.1397 -62.6201 -63.4417 -64.3485 -65.1789 -65.6382 -65.899 -66.0133 -65.8897 -65.0477 -63.2465 -60.7667 -57.3462 -53.8785 -50.4185 -47.7562 -45.9126 -45.5439 -46.2641 -47.7186 -49.1768 -51.1915 -52.9817 -54.8568 -56.1607 -56.9937 -57.3984 -57.4015 -57.4615 -57.4842 -57.6171 -57.7148 -58.2104 -58.8211 -59.6197 -60.5597 -61.5992 -62.7798 -63.7448 -64.6424 -65.2396 -65.6845 -66.2292 -66.7915 -67.0666 -67.6299 -68.1316 -68.6542 -69.0425 -69.2195 -68.5747 -66.6025 -63.3355 -59.1185 -54.3307 -50.0337 -46.3594 -44.1944 -43.5124 -44.1816 -45.5327 -47.414 -49.4329 -51.5387 -53.2061 -54.1771 -54.8302 -55.2949 -55.7727 -56.0312 -56.3276 -56.6107 -56.8594 -56.8986 -56.6671 -56.3622 -55.8318 -55.6553 -55.2366 -54.9577 -54.9219 -54.8318 -54.8039 -54.813 -54.684 -54.4854 -54.3294 -54.2733 -54.6501 -54.7408 -55.2324 -55.3045 -55.4379 -55.5174 -55.5128 -55.8482 -55.9199 -55.9174 -55.9959 -56.1138 -55.9355 -55.8426 -55.5849 -55.6885 -55.5803 -55.5874 -55.7086 -55.7929 -55.7558 -55.6705 -55.6201 -55.5214 -55.611 -55.5222 -55.6332 -55.7691 -55.8022 -55.5141 -55.0863 -54.7803 -54.5436 -54.2038 -54.0469 -54.3348 -54.7788 -54.9453 -55.1037 -55.0829 -55.0725 -55.0619 -54.772 -54.9349 -54.8639 -54.7605 -54.569 -54.6894 -54.4673 -54.6637 -55.143 -55.6648 -56.421 -56.8893 -57.288 -57.4047 -57.6364 -57.7527 -57.8257 -58.2024 -58.4812 -58.9212 -59.049 -59.1178 -59.5012 -59.8524 -60.5657 -61.2639 -62.2255 -63.194 -63.9324 -64.574 -65.0983 -65.0984 -65.1495 -64.9699 -64.7088 -64.2561 -63.8105 -63.6704 -64.0639 -64.6886 -65.6934 -67.6461 -68.975 -70.298 -70.9714 -71.3237 -70.8986 -70.3763 -69.7112 -69.0447 -68.5711 -68.5597 -67.9454 -67.2013 -65.7152 -63.9033 -61.7938 -60.4696 -60.1279 -60.7527 -61.7846 -62.6734 -62.9628 -62.1819", + "breathiness_timestep": "0.011609977324263039" + }, + { + "offset": 148.448, + "text": "SP AP 漫 说 道 无 瑕 少 年 事 AP 敢 夸 玉 带 宝 剑 青 骢 马 SP", + "ph_seq": "SP AP m an sh uo d ao w u x ia sh ao n ian sh ir AP g an k ua y v d ai b ao j ian q ing c ong m a SP", + "ph_dur": "0.11 0.4 0.09 0.163 0.075 0.193 0.045 0.416 0.06 0.163 0.075 0.163 0.075 0.371 0.105 0.402 0.075 0.476 0.178 0.06 0.178 0.06 0.163 0.075 0.178 0.06 0.193 0.045 0.163 0.075 0.163 0.075 0.194 0.045 0.178 0.06 1.19 0.19", + "ph_num": "1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest rest B3 A3 B3 B3 A3 B3 D4 B3 B3 rest B3 A3 G3 G3 E3 G3 A3 G3 B3 rest", + "note_dur": "0.2 0.4 0.238 0.238 0.476 0.238 0.238 0.476 0.238 0.239 0.476 0.238 0.238 0.238 0.238 0.238 0.238 0.238 0.239 0.238 1.19 0.19", + "note_slur": "0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "171.5 172.2 172.1 171.6 171.4 171.7 171.5 171.7 171.7 171.6 171.5 172.0 171.6 171.8 171.5 171.4 171.5 171.4 171.3 171.2 171.3 171.3 171.1 171.2 171.4 171.2 171.2 171.5 171.1 171.4 171.1 171.0 170.8 171.1 171.0 171.0 171.2 170.8 171.0 170.3 170.9 170.5 169.9 169.4 169.0 168.5 168.0 167.7 165.7 165.7 169.5 173.2 179.6 188.9 199.0 208.4 220.1 230.7 240.7 246.1 247.9 246.7 245.0 242.6 239.3 236.0 233.4 230.2 227.8 228.6 228.5 229.3 230.6 224.8 220.3 219.2 217.9 218.6 219.2 219.6 220.8 221.0 220.1 219.9 219.5 218.3 210.6 218.0 226.4 233.6 244.3 254.5 252.2 253.8 250.8 252.3 252.3 251.9 248.8 244.7 240.8 237.6 235.9 236.5 237.8 240.7 245.2 251.0 254.2 255.8 253.3 249.4 243.1 238.3 235.6 235.6 236.1 237.5 240.4 243.3 245.7 247.7 248.4 248.1 246.0 244.0 240.2 236.1 233.6 232.5 231.5 235.2 236.5 240.6 243.9 245.6 246.1 247.2 248.0 247.9 248.1 247.4 247.5 248.4 246.8 244.4 240.6 232.3 229.8 230.3 229.7 229.6 228.8 227.8 227.0 218.3 218.5 218.6 219.5 220.9 222.3 223.4 224.0 223.3 221.2 219.2 215.8 208.6 212.7 217.9 223.7 229.7 236.2 243.4 250.4 258.4 251.7 253.0 252.3 252.6 249.6 244.7 240.2 238.5 240.0 242.2 244.3 246.3 248.7 249.3 249.0 247.0 247.2 245.9 244.8 244.1 243.1 243.2 243.4 245.7 246.4 247.8 248.8 248.9 249.0 247.7 246.9 248.3 250.5 250.6 250.6 251.4 255.6 263.4 273.0 285.1 297.6 302.1 303.0 302.8 300.2 296.1 293.2 292.3 292.6 293.9 294.2 296.0 298.2 300.2 298.8 295.9 289.7 281.1 268.8 255.1 245.0 243.1 242.1 241.2 243.1 246.0 248.5 250.4 252.1 252.6 251.9 250.1 246.0 242.1 233.8 232.5 237.6 241.3 245.1 249.1 253.7 255.8 253.6 253.6 253.0 251.7 248.8 245.8 242.3 239.0 234.5 232.1 232.7 236.1 240.1 246.2 252.2 257.8 260.6 261.9 259.6 254.8 246.6 237.0 227.7 224.2 223.6 227.9 233.5 241.8 250.1 259.0 266.9 270.1 268.8 260.9 250.3 235.7 221.2 215.6 212.0 210.1 208.1 205.2 202.8 199.9 196.9 194.1 191.1 188.7 185.9 182.7 180.3 177.5 174.7 172.1 169.2 165.8 162.8 160.7 158.0 156.2 153.1 157.9 163.6 175.7 187.3 200.3 214.7 230.4 243.1 250.6 250.3 249.1 245.6 241.6 235.6 228.9 225.0 227.6 231.4 235.4 237.6 232.1 226.0 223.6 221.1 221.4 221.0 219.3 218.1 218.5 219.0 218.6 218.1 218.1 215.1 209.9 205.5 199.2 193.4 189.9 187.5 186.8 189.3 192.1 194.2 195.5 196.6 197.5 197.5 197.3 196.9 195.2 195.0 195.4 190.7 193.3 194.5 196.7 197.6 200.8 203.0 204.2 201.9 199.5 198.0 196.5 195.9 196.5 196.4 196.3 196.7 196.1 194.4 191.6 187.7 181.0 178.6 174.7 172.8 168.3 167.1 167.9 163.5 163.1 161.9 162.0 163.8 166.0 167.0 166.8 165.8 165.6 164.9 164.7 164.9 164.9 162.2 159.3 164.8 173.1 180.9 188.3 196.7 200.1 197.0 196.1 195.5 195.5 194.8 195.3 194.7 194.8 196.3 196.9 196.2 194.1 189.1 194.3 200.4 206.0 212.4 218.8 225.1 231.4 228.2 223.5 221.9 221.3 220.9 219.4 219.1 219.5 220.0 220.1 219.7 217.9 215.0 207.9 197.5 192.8 194.8 195.6 197.4 199.7 197.1 195.8 194.6 195.0 194.7 195.3 195.9 196.1 196.5 196.7 197.6 198.2 199.2 198.2 197.0 195.8 196.5 197.4 199.7 202.7 208.2 211.7 215.2 217.3 219.3 220.9 220.5 220.2 220.8 221.0 220.4 221.0 220.8 221.0 221.9 222.4 222.1 222.6 223.8 226.9 232.4 239.0 244.3 247.9 250.3 250.6 251.6 251.4 249.7 247.3 244.5 242.5 240.7 240.6 240.9 242.4 244.0 246.9 250.1 254.2 257.7 258.6 257.6 254.1 250.8 244.9 239.5 236.5 235.5 236.5 238.5 241.7 244.1 246.1 248.0 250.0 251.3 251.2 248.9 246.9 245.0 242.7 241.0 240.0 241.3 245.1 248.0 248.2 247.4 247.7 248.8 249.4 249.5 247.5 245.4 244.6 244.5 245.7 248.5 251.6 251.1 250.7 251.2 252.7 252.7 251.1 248.0 246.2 243.7 243.9 244.8 247.9 251.4 254.0 256.0 258.2 257.5 254.5 250.3 246.1 241.7 235.5 229.0 223.0 210.8 211.1 210.8 210.8 210.8 210.2 209.8 209.4 209.1 208.4 208.4 207.2 208.0 207.8 207.9 208.6", + "f0_timestep": "0.011609977324263039", + "energy": "-90.9529 -89.6454 -88.42 -85.7444 -82.5876 -78.7135 -74.7747 -71.0291 -67.7053 -64.6335 -62.1973 -59.8473 -58.1208 -56.2134 -54.6743 -53.6257 -52.578 -51.7287 -50.9983 -50.4395 -50.0846 -49.8311 -49.828 -49.8124 -50.2029 -50.5329 -50.8437 -51.1678 -51.4531 -51.7011 -52.1456 -52.6008 -53.1781 -53.9966 -55.0175 -56.0783 -57.3363 -58.6552 -59.1347 -59.5472 -59.1969 -57.963 -55.8957 -52.5667 -49.0487 -45.1648 -41.4668 -37.8422 -34.6565 -32.2944 -30.3378 -28.9897 -27.7203 -26.2646 -25.4319 -24.8796 -24.2928 -24.2306 -23.9714 -23.8444 -23.6907 -23.7747 -24.2145 -25.0059 -26.5129 -28.2891 -30.3495 -32.3391 -33.5046 -33.9634 -33.2679 -31.7175 -29.9289 -27.6727 -25.8205 -24.3182 -23.3191 -22.8202 -22.526 -22.6349 -22.3927 -22.8969 -23.4621 -24.6129 -26.945 -29.5577 -32.3505 -34.5665 -34.9294 -34.2281 -32.2346 -29.5152 -26.2869 -23.5172 -22.1579 -21.358 -20.9995 -21.1255 -21.4504 -21.6643 -21.9517 -22.2979 -22.4923 -22.7847 -22.7166 -22.5849 -22.3351 -22.225 -22.114 -22.0298 -22.2945 -22.254 -22.5126 -22.5812 -22.9569 -23.0247 -23.0243 -23.1294 -23.0468 -22.8819 -22.8854 -22.7206 -22.7828 -23.0257 -23.1335 -23.4376 -23.9765 -24.498 -24.925 -25.2368 -25.2912 -25.3833 -25.4568 -25.0653 -24.9734 -24.6391 -24.6886 -24.4564 -24.5381 -24.3535 -24.2525 -24.3042 -24.1934 -24.5457 -24.7467 -25.6448 -26.7289 -28.4961 -30.3569 -32.2563 -33.5951 -33.8488 -32.9083 -31.1093 -28.8009 -26.4049 -24.5881 -23.3934 -23.0277 -22.8835 -23.2056 -23.606 -24.0214 -24.6381 -25.8742 -27.2813 -28.963 -30.4818 -32.1212 -33.0807 -33.7138 -33.597 -32.5175 -30.8729 -28.7218 -26.49 -24.7567 -23.405 -22.5074 -22.3326 -22.247 -22.1854 -22.2162 -22.299 -22.3547 -22.3108 -22.3154 -22.3207 -22.3002 -22.3329 -22.4161 -22.6028 -22.3984 -22.3393 -22.4359 -22.2805 -22.482 -22.3998 -22.5567 -22.9657 -23.093 -23.2325 -23.3228 -23.6756 -24.1101 -24.2382 -24.3256 -24.4252 -24.5729 -24.4237 -24.5123 -24.4961 -24.4175 -24.3451 -23.8776 -23.5 -22.4851 -21.7445 -20.7916 -19.9112 -19.1336 -18.6676 -18.433 -18.394 -18.4597 -18.4311 -18.7533 -18.7738 -19.1196 -19.5207 -19.9321 -20.3295 -20.8263 -21.2101 -21.7269 -22.1798 -22.7288 -22.8915 -23.1378 -23.1205 -23.1986 -23.2556 -23.1967 -23.1452 -23.1666 -23.1558 -23.447 -23.8526 -25.0089 -26.5346 -28.2304 -29.8283 -31.2409 -31.6054 -31.0765 -30.0713 -28.2938 -26.7608 -24.8738 -23.5541 -22.8005 -22.3367 -22.6624 -22.8296 -23.151 -23.3535 -23.8189 -23.9345 -24.3511 -24.3232 -24.5697 -24.7993 -24.8659 -25.0012 -24.9773 -24.9437 -25.0248 -25.4339 -25.8975 -26.4703 -27.1468 -27.9843 -28.8067 -29.2596 -29.4368 -29.5365 -29.5974 -29.1421 -29.1551 -29.1838 -29.8408 -31.0266 -33.7978 -36.9957 -41.1996 -44.7268 -47.8915 -50.0065 -51.1816 -51.2418 -50.4129 -49.9428 -49.7499 -49.8098 -50.097 -50.7303 -51.5417 -52.4292 -53.4294 -54.3302 -55.1797 -54.8838 -53.6512 -50.5819 -46.3746 -40.9514 -35.5642 -30.3559 -26.9243 -24.278 -23.3739 -23.1132 -23.5492 -24.0565 -24.7153 -25.042 -25.3181 -25.6466 -25.8657 -25.9405 -26.0193 -26.9712 -28.5664 -29.9976 -31.2483 -31.5081 -30.8761 -29.6039 -27.5346 -25.1495 -23.4024 -22.3768 -21.8805 -21.874 -21.8122 -21.9526 -22.2022 -22.2738 -22.4932 -22.5992 -22.7983 -23.0945 -23.5714 -23.9909 -24.4082 -24.7959 -25.0826 -25.4699 -25.4684 -25.3271 -25.1657 -25.1505 -24.9836 -24.9642 -25.032 -25.0773 -25.218 -25.4957 -25.4421 -26.1606 -27.5164 -30.148 -32.9538 -35.6861 -37.1761 -37.3762 -35.7185 -33.3895 -30.1258 -27.2017 -25.3003 -24.383 -24.3402 -24.3055 -24.4496 -24.4534 -24.1235 -23.9437 -23.9671 -24.0124 -24.3811 -25.4512 -27.5673 -30.0944 -32.5522 -34.0355 -34.5926 -33.87 -32.288 -30.2784 -28.1931 -26.4425 -25.7684 -25.4578 -25.2384 -25.32 -25.6348 -25.5373 -25.7926 -25.992 -26.5394 -27.1822 -28.4072 -30.4259 -32.8107 -34.8773 -35.9876 -35.8047 -34.9246 -32.792 -30.2134 -27.6098 -25.8094 -24.966 -24.6846 -24.8705 -24.8852 -25.1504 -25.4382 -25.9377 -26.7961 -27.7568 -29.4339 -31.2151 -33.3269 -34.9764 -36.3997 -36.6129 -35.9623 -34.1203 -31.9709 -29.9668 -27.7384 -26.3388 -25.5518 -25.2848 -25.0819 -25.1437 -25.3858 -25.3152 -25.234 -25.6477 -26.0012 -26.8998 -27.9323 -29.409 -30.8607 -31.8534 -32.1579 -31.4539 -30.3126 -28.8347 -27.1158 -25.9125 -25.2262 -24.8585 -24.8321 -24.8062 -24.9907 -24.9072 -24.9074 -24.9878 -24.7402 -24.7335 -24.5321 -24.4192 -24.2267 -24.0978 -23.744 -23.6441 -23.2317 -22.7156 -22.631 -22.1858 -22.0152 -21.8924 -21.4514 -21.4211 -21.1957 -21.1246 -20.8307 -20.7199 -20.7099 -20.536 -20.6279 -20.6439 -21.1911 -21.6113 -22.2638 -22.6377 -23.3356 -23.5977 -23.5228 -23.2233 -22.7948 -22.4782 -21.9143 -21.5693 -21.4114 -21.2835 -21.2918 -21.5135 -21.3802 -21.5992 -21.7043 -21.7316 -21.7788 -21.8539 -21.7999 -21.6805 -21.5178 -21.2189 -21.0968 -20.7268 -20.6179 -20.8652 -20.8725 -21.5366 -21.8993 -22.3221 -22.6983 -22.8615 -22.9291 -22.7637 -22.4493 -22.2861 -21.7542 -21.3643 -21.3369 -21.2397 -21.41 -21.4067 -21.4843 -21.7885 -21.8507 -22.0141 -21.7239 -21.6727 -21.5842 -21.5503 -21.4313 -21.6819 -21.7942 -22.1057 -22.4895 -22.7979 -23.0623 -23.4377 -23.8099 -24.0222 -24.1777 -24.3483 -24.5442 -24.6434 -24.875 -25.0522 -25.2692 -25.3655 -25.6164 -25.7397 -25.9181 -26.2473 -26.5898 -26.8339 -27.1611 -27.8154 -28.3141 -28.9942 -29.3233 -29.74 -30.1634 -30.7403 -31.6723 -33.1903 -35.3596 -38.1686 -42.0086 -45.8714 -50.0957 -53.8016 -56.9736 -59.6309 -61.9868 -63.8101 -64.9416 -66.1395 -66.6931 -67.0286 -66.805 -64.484 -60.7412 -56.6917", + "energy_timestep": "0.011609977324263039", + "breathiness": "-94.0044 -93.3422 -94.3739 -92.4355 -88.387 -83.6519 -78.1495 -72.8589 -68.1653 -64.4488 -61.6988 -59.4729 -57.4532 -55.4376 -53.7904 -52.4882 -51.6508 -51.3525 -51.115 -50.8434 -50.8318 -50.8087 -50.8125 -50.9703 -51.0636 -51.4867 -51.4759 -51.8153 -52.0834 -52.2178 -52.5983 -52.7535 -53.1083 -53.9999 -54.71 -55.5868 -56.6675 -57.9713 -58.8962 -59.7518 -60.2536 -59.854 -58.191 -55.0557 -51.4417 -47.1589 -43.2611 -39.3933 -36.5854 -34.3709 -33.3306 -31.8271 -30.6575 -30.176 -31.1723 -34.4657 -39.3193 -44.714 -50.1213 -54.3681 -57.8592 -59.1574 -58.6782 -56.6311 -54.0775 -50.6899 -47.0402 -43.865 -41.2713 -39.9147 -40.0099 -41.7172 -44.2196 -47.4029 -50.8113 -53.8091 -56.2896 -58.0997 -58.8057 -58.8599 -58.6075 -58.5276 -57.9458 -56.9021 -55.2467 -53.0822 -51.0167 -49.0523 -47.7515 -46.9391 -47.0615 -47.6303 -48.4276 -49.296 -50.3211 -51.2173 -52.1492 -52.7426 -53.0918 -53.6054 -54.1464 -54.78 -55.1003 -55.5363 -55.7206 -56.0204 -55.9924 -55.9991 -56.4071 -56.611 -56.8788 -57.1027 -57.503 -58.2552 -58.7717 -59.6819 -60.5046 -61.2959 -61.9316 -62.2075 -62.1485 -62.3274 -62.365 -62.441 -62.611 -62.833 -63.1111 -63.5371 -63.8718 -64.2477 -64.6917 -65.3181 -65.7402 -66.1369 -66.7283 -66.578 -66.7938 -66.8946 -66.5413 -66.2677 -65.5409 -64.636 -63.3425 -61.4885 -58.4076 -54.6909 -50.7216 -46.51 -42.7264 -39.9202 -38.1678 -37.9009 -38.6481 -40.2612 -42.6502 -45.3351 -48.1958 -51.019 -53.4827 -55.0718 -55.8869 -56.0339 -55.6078 -54.5273 -52.9576 -50.3552 -47.4737 -44.5027 -41.5674 -39.0987 -37.3351 -36.8422 -37.6535 -39.4753 -42.4306 -45.3457 -48.2655 -50.578 -52.2779 -53.2609 -53.6489 -53.9721 -54.254 -54.6357 -54.9255 -55.0303 -55.132 -55.0771 -55.1183 -55.075 -55.3565 -55.4327 -55.5971 -55.9086 -56.2385 -56.6887 -57.021 -57.514 -57.7471 -58.0179 -58.5728 -58.9799 -59.5068 -60.2262 -61.3394 -62.231 -63.2949 -63.984 -64.1601 -63.9742 -63.1628 -61.8576 -60.2479 -58.4503 -57.2114 -55.8294 -54.6324 -53.6856 -53.0576 -52.6858 -52.7589 -52.9453 -52.9163 -53.0813 -52.7113 -53.0569 -53.1808 -53.6628 -53.9596 -54.5469 -54.8728 -55.3685 -55.5734 -55.9097 -56.6853 -57.387 -58.2492 -58.9071 -59.2539 -59.389 -59.1152 -58.8996 -58.5409 -58.3124 -58.1829 -57.3578 -55.4948 -52.8863 -49.315 -45.5943 -41.5888 -38.3846 -36.1877 -34.9503 -34.9778 -36.6815 -38.7871 -41.7289 -44.8824 -47.6196 -49.9092 -51.748 -52.5139 -53.0174 -53.6882 -54.2189 -54.8469 -55.4965 -55.9857 -56.4033 -56.9498 -56.9602 -57.2117 -57.3109 -57.4369 -57.3239 -57.1772 -56.914 -56.8644 -56.9904 -57.6745 -58.362 -59.6095 -60.8055 -62.3669 -63.4374 -64.6614 -65.6451 -66.2915 -66.2188 -65.6005 -64.3957 -63.2467 -61.923 -60.6688 -59.7494 -58.4993 -57.3058 -55.5875 -53.7806 -52.0929 -50.8044 -49.9619 -49.717 -50.1533 -51.1986 -52.6493 -54.3861 -56.4274 -58.7927 -60.5706 -60.3977 -58.5451 -55.1849 -50.8197 -45.9809 -42.1702 -40.0128 -39.8857 -41.2354 -43.7694 -46.3115 -49.3949 -52.7153 -55.5956 -58.3615 -60.747 -62.9665 -64.1057 -63.8023 -61.6891 -58.6743 -54.8818 -51.3457 -48.4595 -46.5008 -46.3951 -47.0077 -48.383 -49.8881 -51.2258 -52.0983 -52.8446 -53.6339 -54.0647 -54.6852 -55.1949 -55.6619 -55.9006 -56.2714 -56.2138 -55.8999 -55.8625 -55.9616 -56.5752 -56.9403 -57.4136 -58.1339 -59.0402 -59.5097 -60.032 -60.2803 -60.4102 -60.5717 -60.5511 -60.3393 -60.3908 -60.3163 -59.5685 -58.5274 -57.1656 -56.0159 -55.0173 -54.1434 -53.3789 -52.6452 -52.2376 -51.7374 -51.5886 -51.5051 -51.7527 -52.6397 -53.5059 -54.1382 -54.6013 -55.1247 -55.5557 -55.7645 -56.0495 -56.4876 -56.5442 -57.2125 -58.142 -58.6636 -59.1905 -59.1691 -58.9579 -58.4787 -57.9733 -57.1948 -56.7758 -56.4013 -56.5767 -56.7103 -57.0829 -57.7005 -58.2691 -58.9351 -59.6186 -60.0529 -59.3839 -58.0756 -55.628 -52.7757 -49.5943 -46.5094 -44.307 -43.4995 -44.1396 -46.0532 -48.2262 -50.8912 -53.4137 -55.4242 -57.1477 -58.4019 -59.5081 -60.5035 -61.7616 -62.0419 -61.385 -59.0561 -55.8737 -51.8852 -47.8771 -44.1279 -41.5889 -40.7655 -41.452 -43.4967 -46.4535 -50.2376 -53.8444 -57.402 -60.6192 -63.009 -64.6217 -65.6865 -66.3478 -67.0185 -67.2753 -66.828 -65.3496 -62.4542 -58.5028 -54.0347 -49.6003 -45.8823 -44.0583 -44.4899 -46.4902 -49.6124 -53.1677 -56.6353 -59.6481 -62.3316 -63.9959 -65.4286 -66.8981 -67.9123 -68.7479 -69.344 -69.3119 -69.4156 -69.4044 -68.9632 -68.4979 -67.6834 -66.6385 -65.4171 -63.8801 -62.052 -60.3205 -58.9601 -57.6472 -56.7111 -56.1772 -55.914 -55.9148 -55.9952 -56.2013 -56.7689 -57.2709 -57.6134 -57.7355 -57.8922 -57.632 -57.382 -57.1397 -56.6989 -56.4531 -56.3789 -56.1121 -56.2518 -56.6656 -56.797 -57.311 -57.6864 -58.0723 -58.1712 -58.506 -58.6538 -58.8921 -59.038 -58.9135 -58.5828 -58.3725 -57.9171 -57.5255 -57.4556 -57.3162 -57.1871 -56.904 -56.4031 -55.7898 -55.275 -54.9481 -54.8382 -55.3683 -55.9336 -56.7005 -57.4908 -57.9705 -58.2183 -58.3198 -58.0444 -57.6348 -57.3896 -57.2607 -57.0522 -56.9757 -57.3399 -57.4812 -57.6938 -57.7966 -58.0728 -58.2428 -58.2166 -58.429 -58.462 -58.3217 -58.1551 -58.231 -58.1584 -58.364 -58.5483 -59.029 -59.3934 -59.9412 -60.5019 -60.8131 -61.0823 -61.6208 -61.6447 -62.0424 -62.199 -62.6567 -63.1448 -63.5571 -63.9748 -64.3379 -64.7388 -65.3218 -66.0235 -66.9534 -67.887 -68.72 -69.3899 -69.804 -69.6972 -69.7245 -69.1292 -67.8354 -65.9487 -63.4855 -60.9418 -58.4978 -56.8918 -56.1224 -56.8498 -58.5928 -60.9974 -63.9987 -66.6823 -69.1334 -70.8621 -72.2773 -72.6452 -72.6765 -71.0776 -69.1668 -65.3783", + "breathiness_timestep": "0.011609977324263039" + }, + { + "offset": 155.334, + "text": "AP 眠 星 子 AP 枕 霜 花 AP 旧 茅 草 也 比 神 仙 榻 AP 交 游 任 意 南 北 SP", + "ph_seq": "AP m ian x ing z i0 AP zh en sh uang h ua AP j iu m ao c ao y E b i sh en x ian t a AP j iao y ou r en y i n an b ei SP", + "ph_dur": "0.29 0.09 0.163 0.075 0.193 0.045 1.191 0.163 0.075 0.163 0.075 0.163 0.075 0.953 0.163 0.075 0.178 0.06 0.178 0.06 0.163 0.075 0.654 0.06 0.163 0.075 0.387 0.09 0.193 0.045 1.19 0.148 0.09 0.163 0.075 0.163 0.075 0.179 0.06 0.416 0.06 0.193 0.045 1.666 0.095", + "ph_num": "2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1", + "note_seq": "rest B3 D4 E4 rest D4 E4 A3 rest B3 A3 B3 D4 B3 A3 B3 G3 rest G3 E3 G3 A3 B3 A3 rest", + "note_dur": "0.38 0.238 0.238 1.191 0.238 0.238 0.238 0.953 0.238 0.238 0.238 0.238 0.714 0.238 0.477 0.238 1.19 0.238 0.238 0.238 0.239 0.476 0.238 1.666 0.095", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "184.5 184.9 185.0 185.0 184.9 185.0 185.2 185.2 184.9 184.8 184.6 184.6 184.2 184.2 184.3 184.0 183.7 183.9 183.8 184.2 183.7 183.7 183.9 183.6 183.5 183.2 183.2 181.5 181.7 179.3 174.4 174.9 182.3 188.1 194.9 203.9 211.9 223.0 230.2 240.2 246.6 250.2 251.6 249.7 245.9 243.8 241.6 238.4 240.5 255.1 266.6 278.9 290.6 302.6 294.2 295.2 296.4 296.1 296.0 294.1 293.2 292.8 293.1 294.3 293.4 292.0 288.3 279.7 270.3 274.8 282.4 296.0 311.0 325.5 325.1 327.4 333.0 335.6 336.5 335.5 332.4 330.1 326.4 322.6 320.5 317.7 315.2 315.2 318.8 320.7 323.2 326.6 328.7 329.4 329.9 328.2 326.2 324.8 325.1 325.7 326.9 327.4 327.2 325.8 326.0 328.4 329.3 329.4 329.9 328.3 326.8 327.9 328.2 327.5 327.6 328.8 329.4 330.2 330.9 331.1 330.8 330.2 329.3 327.8 327.0 326.1 324.4 323.9 322.9 322.3 323.4 325.3 327.1 328.5 330.2 331.6 333.1 334.8 335.8 335.8 334.4 332.8 329.2 325.8 321.7 319.5 319.6 321.1 324.6 328.9 334.1 337.3 338.8 338.7 338.8 335.8 331.8 327.6 323.4 319.0 315.1 315.8 318.4 322.8 328.0 332.0 336.8 340.1 342.4 343.4 338.6 333.8 328.1 321.9 310.5 295.1 279.6 269.9 263.5 258.7 253.8 249.1 243.9 239.5 233.9 229.3 222.8 217.3 212.0 208.0 204.9 200.8 197.4 193.6 189.3 185.4 180.4 178.8 184.5 200.6 217.2 234.0 249.4 267.9 282.3 294.8 300.8 301.1 295.7 287.5 270.0 273.6 284.1 294.7 305.8 315.7 326.5 339.9 335.5 335.3 333.8 334.0 333.3 332.4 333.1 333.5 332.6 330.5 325.2 315.9 307.0 292.0 274.1 260.2 247.3 235.6 227.6 221.7 216.3 216.1 218.8 221.3 224.2 224.3 224.3 221.8 218.0 215.4 214.4 213.9 214.1 216.0 219.3 223.3 226.4 229.2 230.7 231.2 229.3 223.3 216.9 210.7 206.1 207.0 209.8 215.5 219.1 223.6 227.6 228.8 229.0 226.9 223.7 219.3 214.6 209.8 208.1 208.0 209.7 212.6 217.5 224.3 229.5 232.0 232.9 232.5 228.7 222.7 214.9 207.1 202.5 202.2 203.2 207.0 213.4 222.2 230.3 235.4 239.2 240.0 238.5 233.8 225.1 213.7 203.0 200.9 200.2 203.8 211.9 222.5 231.7 238.8 242.7 242.4 237.8 232.4 221.4 208.1 196.3 188.5 187.7 187.0 185.6 184.6 183.1 181.7 180.8 179.8 178.9 178.0 177.3 177.2 176.4 174.5 172.9 171.6 171.1 170.1 169.3 168.8 169.6 170.3 174.4 179.3 184.1 194.5 206.5 220.5 232.4 242.7 248.2 248.6 245.5 241.2 236.0 231.9 227.6 224.3 222.5 220.5 220.9 219.4 219.1 218.1 219.2 220.9 222.1 221.5 219.0 217.0 216.3 216.1 216.8 218.3 217.8 214.7 207.5 215.3 224.2 233.7 242.5 253.3 248.5 243.9 243.2 244.6 245.3 245.5 245.9 245.4 245.2 245.2 246.7 247.7 249.8 248.5 245.6 243.4 245.0 248.4 252.3 252.8 254.6 257.7 258.6 259.8 260.1 259.8 260.3 260.1 259.6 260.1 259.9 259.7 261.6 264.8 268.6 275.9 283.3 291.0 297.1 301.5 302.2 301.9 301.0 297.6 294.0 291.8 289.4 287.3 286.5 288.1 290.9 292.8 294.9 297.0 298.8 298.7 297.9 296.5 293.0 290.4 288.9 288.5 289.0 289.9 290.1 291.0 293.2 296.7 297.9 297.0 294.6 291.7 288.7 286.5 272.0 260.7 257.6 258.2 257.0 256.4 256.4 250.7 248.7 247.0 245.6 246.5 248.0 248.6 247.8 247.0 246.7 246.3 246.2 245.0 239.4 222.3 221.2 221.1 221.2 221.5 222.5 221.7 221.3 219.3 221.4 222.5 220.8 220.0 217.9 216.0 215.8 216.3 215.8 216.0 216.2 217.4 219.4 220.6 220.5 219.2 218.8 217.6 217.2 217.8 218.7 219.1 218.6 218.6 218.7 219.2 220.2 221.3 222.4 221.2 218.5 213.2 211.9 221.0 229.7 238.8 247.5 258.2 268.7 256.4 251.3 248.1 246.4 247.5 248.0 247.9 248.1 248.5 247.2 248.3 246.6 242.2 235.1 227.9 217.4 208.3 200.9 193.5 186.0 184.6 187.2 189.7 192.7 194.6 196.4 197.6 197.7 195.2 193.8 192.6 193.7 194.4 194.3 194.9 196.0 196.5 196.3 197.2 197.1 196.8 197.5 197.0 197.0 195.9 195.2 195.8 194.8 192.7 191.2 190.4 189.4 189.2 190.0 191.9 194.9 198.9 202.0 204.7 205.6 206.1 204.0 199.5 195.0 190.5 186.9 185.2 185.3 188.1 191.7 197.5 204.3 208.7 211.4 212.0 210.2 204.4 198.2 192.3 187.1 182.5 180.8 182.5 187.1 193.6 199.9 205.6 209.7 211.6 210.7 204.4 197.1 188.6 179.2 176.2 175.2 178.3 183.5 191.0 200.2 207.8 211.9 213.7 213.1 209.6 201.3 189.9 179.2 173.0 172.7 174.9 179.0 187.4 200.6 210.7 215.9 217.1 213.1 204.3 190.1 177.2 176.0 174.3 172.7 172.4 170.9 169.6 168.5 167.1 166.4 165.6 164.7 163.2 161.8 160.8 159.3 158.2 157.3 156.2 155.7 154.6 154.6 154.0 154.4 155.1 155.2 156.1 157.6 163.4 172.1 181.3 188.7 194.7 198.3 197.5 193.8 188.9 185.0 181.5 177.9 174.8 172.5 169.6 166.9 163.8 162.1 162.5 164.6 166.6 165.2 164.8 164.2 163.9 164.0 164.1 165.1 165.6 166.9 167.8 166.3 164.9 165.3 166.0 171.5 177.3 184.1 189.2 192.0 194.5 194.1 194.2 192.6 191.6 190.3 190.2 190.1 191.2 191.4 192.9 193.9 194.0 193.4 193.7 195.8 197.1 195.0 195.8 195.3 195.6 195.5 195.4 194.0 193.5 192.5 193.5 194.8 195.3 197.4 201.1 206.6 212.0 217.9 220.5 221.4 219.9 218.3 217.2 215.4 216.3 216.9 219.3 220.1 220.4 220.3 220.4 220.8 219.6 218.7 216.9 215.7 215.2 215.1 217.2 220.2 229.3 238.6 246.1 246.4 245.6 246.7 247.1 245.3 244.8 245.0 244.8 244.0 243.2 242.9 240.5 237.1 232.3 224.2 217.2 207.8 207.6 218.9 209.6 205.1 200.0 198.5 199.2 199.5 199.8 200.7 201.1 201.5 202.0 202.4 202.6 202.8 202.1 202.0 202.1 202.4 203.6 206.1 212.2 219.7 226.4 231.0 231.7 230.2 226.8 221.9 217.1 213.1 210.7 210.8 212.8 216.2 220.4 225.8 229.9 232.0 232.3 230.6 227.1 221.5 214.5 209.6 206.7 206.3 209.0 213.0 216.3 218.2 220.3 221.9 221.6 221.0 219.1 218.0 217.0 215.7 215.7 218.4 222.5 224.0 222.9 221.9 220.4 218.2 216.0 214.3 214.3 214.5 214.4 214.7 216.5 219.8 223.8 227.4 229.1 229.1 227.7 224.5 221.3 217.9 214.8 212.6 212.1 213.3 215.0 217.4 220.3 222.8 225.9 227.7 228.6 227.0 224.4 221.6 218.5 215.8 213.7 212.5 212.6 214.3 216.0 218.3 221.2 224.6 227.4 229.0 229.9 229.0 227.2 223.7 221.2 217.8 214.6 213.2 212.8 212.6 214.6 218.5 223.8 228.1 231.2 232.3 230.8 228.0 223.4 218.6 214.0 211.3 210.2 210.6 213.1 219.2 223.2 228.4 232.6 230.9 232.1 233.1 231.7 231.4 230.1 227.4 222.0 219.3 216.4 213.4 211.7 209.9 208.6 207.3 207.0", + "f0_timestep": "0.011609977324263039", + "energy": "-65.2388 -63.0897 -61.1362 -58.4144 -55.3125 -52.6419 -50.3775 -48.8933 -47.6301 -47.0614 -46.5109 -46.5257 -46.5443 -46.7109 -47.3192 -47.813 -48.8029 -50.0414 -51.4686 -52.6686 -52.6137 -50.7894 -47.7774 -43.4155 -38.2736 -33.3564 -29.1082 -25.8654 -23.937 -23.0193 -22.5575 -22.4753 -22.3438 -22.0843 -21.6578 -21.6722 -21.2329 -21.3312 -21.1339 -20.9768 -21.0442 -21.1766 -21.3339 -21.6006 -22.2805 -23.1892 -24.9285 -26.7655 -28.5219 -29.4698 -29.4421 -28.1784 -26.4845 -24.3082 -21.9676 -20.5061 -19.5351 -19.4043 -19.22 -19.404 -19.5239 -19.4645 -19.6025 -19.7658 -20.0766 -20.7777 -21.9959 -23.9621 -25.9025 -27.8711 -28.9933 -29.4424 -28.1958 -26.3267 -23.8506 -21.7154 -19.8986 -18.6744 -18.2856 -17.8862 -17.7358 -17.8858 -17.7395 -17.8184 -17.8737 -17.8224 -18.0448 -17.9561 -18.0154 -17.9941 -18.0091 -17.8197 -17.8078 -17.7552 -17.7194 -17.6535 -17.432 -17.1885 -17.2915 -16.9866 -17.0617 -16.9521 -16.974 -16.9886 -16.6965 -16.5752 -16.3103 -16.4071 -16.1268 -16.3408 -16.0038 -15.923 -15.9839 -15.9661 -15.7639 -15.8731 -15.867 -15.6374 -15.8731 -15.9852 -15.8813 -16.0582 -15.976 -16.0223 -15.8664 -15.8376 -15.8255 -15.8619 -15.9398 -16.0782 -16.0536 -16.1536 -16.1376 -16.4659 -16.4469 -16.5974 -16.6841 -16.5852 -16.9678 -16.8249 -17.0122 -17.1752 -17.0204 -17.2579 -17.1698 -17.1597 -17.2481 -17.6189 -17.8882 -18.1115 -18.4175 -18.6896 -18.7573 -19.1921 -19.1801 -19.4879 -19.5881 -19.6342 -19.7954 -19.8976 -20.2764 -20.7237 -21.0152 -21.3945 -21.8932 -21.982 -22.1016 -22.2589 -22.4549 -22.7294 -23.0735 -23.8014 -24.8283 -26.2554 -29.3109 -32.672 -36.4997 -39.7469 -42.5978 -44.2488 -45.0809 -45.253 -45.3834 -45.3393 -46.057 -47.2941 -48.5347 -50.0807 -51.2946 -51.2566 -50.2886 -48.0385 -44.6265 -39.9953 -35.0614 -30.2181 -26.0589 -22.9641 -20.9595 -19.7998 -19.5056 -19.3567 -19.7268 -19.8511 -19.9846 -20.0938 -20.2167 -20.4797 -21.2341 -22.4867 -24.0396 -25.8805 -27.8993 -29.2064 -29.5285 -28.7014 -26.7117 -24.3878 -22.091 -19.7974 -18.3985 -17.9528 -18.0594 -18.2726 -18.609 -18.7931 -19.084 -19.4432 -19.7827 -20.6535 -22.3792 -24.6533 -26.9 -28.662 -29.1708 -28.597 -27.0928 -24.9466 -22.683 -21.0344 -20.2276 -19.6266 -19.2699 -19.2083 -19.0403 -19.1699 -19.03 -19.0684 -19.1077 -19.0901 -19.1447 -19.2078 -18.9794 -19.0645 -19.0111 -18.9021 -18.9728 -18.928 -19.1195 -19.2989 -19.5688 -19.7961 -19.7828 -20.0155 -20.0434 -19.935 -20.1272 -20.0506 -20.0068 -19.8062 -19.7211 -19.8876 -19.8162 -19.933 -20.0739 -20.3995 -20.6945 -20.7707 -21.1501 -21.3223 -21.2518 -21.3739 -21.3749 -21.5997 -21.7014 -21.7938 -21.7791 -22.0012 -22.0186 -22.3859 -22.7293 -23.2834 -23.845 -24.3695 -24.3331 -24.8374 -25.1865 -25.138 -24.9395 -24.841 -24.9342 -24.9708 -24.9297 -25.4494 -25.8674 -26.6038 -27.5085 -28.147 -28.6421 -29.2755 -29.5237 -29.9366 -30.2521 -30.8813 -31.6515 -32.7914 -34.7328 -37.2676 -39.6701 -42.261 -44.372 -45.8405 -46.692 -47.0035 -47.1956 -47.1498 -47.4633 -48.064 -48.563 -49.137 -49.7787 -50.502 -50.8232 -50.0469 -48.676 -46.0987 -43.0073 -39.0264 -35.0487 -30.9896 -27.531 -24.628 -22.506 -21.1868 -20.8011 -20.8424 -20.8764 -21.2257 -21.4426 -21.5101 -21.376 -20.9795 -20.9701 -20.5128 -20.2975 -20.4398 -20.1679 -19.9035 -19.8602 -19.2638 -18.9386 -18.3778 -18.332 -18.0936 -18.1078 -17.9849 -18.4414 -18.778 -19.0887 -19.3256 -19.9021 -20.6085 -21.5098 -22.895 -24.3632 -26.3157 -28.3375 -29.5327 -29.8646 -29.3152 -27.6112 -25.5013 -23.0884 -21.0291 -19.6366 -18.9455 -18.6099 -18.4697 -18.6277 -18.8021 -18.8094 -19.0508 -19.0899 -19.4227 -19.7884 -20.1053 -20.2507 -20.5836 -20.255 -19.9257 -19.3803 -18.8309 -18.4236 -17.9882 -17.3604 -17.1857 -17.2224 -16.9812 -17.0876 -17.1795 -17.1591 -17.4639 -18.017 -18.4121 -19.0332 -19.5733 -19.7589 -19.8136 -19.573 -19.8757 -19.52 -19.2179 -19.1989 -18.7103 -18.5048 -18.2298 -17.8958 -17.8486 -17.6019 -17.3952 -17.3476 -17.3429 -17.1819 -17.0717 -16.8365 -16.7661 -16.4805 -16.3726 -16.2944 -16.148 -16.1062 -16.3222 -16.5016 -16.6582 -16.9671 -17.1512 -17.3837 -17.5753 -17.4952 -17.4508 -17.5739 -17.715 -18.1994 -19.2674 -21.2201 -24.5602 -28.827 -33.1321 -36.1218 -37.2647 -36.2316 -33.2024 -28.9186 -24.6423 -21.7381 -19.9851 -19.3661 -19.2706 -19.2024 -19.3878 -19.5254 -19.9462 -20.212 -20.6079 -21.8089 -22.8966 -24.9713 -26.9836 -28.9639 -30.494 -30.974 -30.3885 -28.844 -26.6688 -24.3408 -22.2678 -20.4281 -19.5471 -19.217 -18.9563 -19.0045 -19.0677 -19.0928 -19.5218 -19.6718 -19.8104 -20.1526 -20.3125 -20.3078 -20.3571 -20.4991 -20.5729 -20.6783 -20.8668 -20.7981 -21.0498 -21.1558 -21.4407 -21.4682 -21.3296 -21.4253 -21.398 -21.4869 -21.8901 -22.5257 -23.929 -25.2402 -27.4722 -29.7592 -31.9786 -33.3116 -33.6311 -32.3863 -30.5937 -27.8264 -25.3727 -22.9003 -21.6935 -20.6722 -20.4977 -20.4369 -20.3962 -20.6159 -20.8736 -20.9877 -21.5009 -22.3466 -23.4453 -25.441 -28.1311 -30.4958 -32.1894 -32.6133 -31.9898 -30.2258 -28.0195 -25.4762 -23.4557 -22.196 -21.2693 -20.8379 -20.5181 -20.6163 -20.4884 -20.5654 -20.4689 -20.373 -20.3653 -20.2399 -20.0816 -20.0626 -19.7893 -19.9053 -19.7391 -19.5339 -19.5926 -19.6555 -19.4432 -19.3803 -19.3323 -19.404 -19.2749 -19.2857 -19.3632 -19.5393 -19.7906 -20.1063 -20.3852 -20.7661 -20.9059 -20.8733 -21.0713 -20.9088 -20.8847 -20.9463 -21.086 -21.2118 -21.5072 -21.5215 -21.9472 -22.1565 -22.5395 -22.9009 -23.0594 -23.1968 -23.1621 -23.109 -23.0885 -23.0922 -23.2377 -23.1145 -23.2442 -23.1321 -23.4839 -23.7325 -24.1264 -24.9662 -25.2436 -25.6232 -25.7441 -26.04 -26.032 -25.9218 -25.8496 -25.8237 -25.968 -26.087 -26.5812 -27.0799 -27.7569 -28.5008 -28.9747 -29.2644 -29.2105 -29.0679 -28.9282 -28.9356 -28.7441 -28.7482 -28.7991 -29.2363 -29.9584 -30.693 -31.9486 -33.4163 -34.9043 -35.9586 -36.6719 -36.9801 -36.3029 -35.7568 -35.4942 -35.9747 -37.1998 -39.4965 -42.1066 -44.8359 -47.3994 -48.9983 -50.194 -50.4582 -50.3061 -49.9254 -49.699 -49.7482 -49.9631 -50.0421 -50.2902 -50.739 -50.8136 -50.245 -49.315 -47.2372 -44.7412 -41.4832 -37.858 -33.7842 -30.4201 -27.2315 -24.8786 -23.1147 -22.2728 -21.8837 -22.0464 -22.247 -22.6253 -22.689 -22.4185 -22.1634 -22.0734 -22.0006 -21.7504 -21.6269 -21.6749 -21.5845 -21.6673 -21.7077 -21.5246 -21.4794 -21.6249 -21.5514 -21.5639 -21.4334 -21.5067 -21.5575 -21.4493 -21.4512 -21.4251 -21.3322 -21.376 -21.4009 -21.1856 -21.3106 -21.5013 -21.826 -21.9586 -22.2774 -22.2213 -21.9088 -21.5637 -21.0588 -20.4747 -20.285 -20.181 -20.3208 -20.2821 -20.3418 -20.5429 -20.7667 -20.9009 -21.1207 -21.0812 -21.3346 -21.2842 -21.4077 -21.207 -20.9818 -20.7955 -20.6414 -20.3953 -20.5213 -20.4496 -20.454 -20.7204 -20.6515 -20.721 -20.9234 -21.1847 -21.3456 -21.6856 -22.0139 -22.1999 -22.4341 -22.4144 -22.3045 -22.0234 -21.8133 -21.452 -21.3434 -21.1441 -21.0788 -21.2122 -21.082 -21.1593 -21.1441 -20.9501 -20.7804 -20.6549 -20.5391 -20.4546 -20.4711 -20.5736 -20.7558 -21.2305 -21.6713 -22.1204 -22.4298 -22.6307 -22.3942 -21.6998 -20.8419 -19.7848 -19.0944 -18.5132 -18.155 -18.0781 -18.324 -18.8217 -19.3135 -20.0796 -20.7446 -21.6215 -22.143 -22.8749 -23.7867 -24.3356 -25.2431 -25.5635 -25.7091 -25.0927 -24.4116 -23.4368 -22.6621 -21.9369 -21.8114 -21.4777 -21.2496 -20.8292 -20.69 -20.4151 -20.2816 -20.082 -20.1696 -20.1719 -20.2726 -20.4082 -20.7075 -21.28 -21.7864 -22.2435 -22.4308 -22.656 -22.6038 -22.3328 -21.9582 -21.5166 -21.2096 -21.286 -21.311 -21.4761 -21.5364 -21.7076 -21.7615 -21.895 -21.741 -21.6526 -21.4816 -21.1443 -20.9183 -20.6999 -20.4456 -20.4242 -20.4174 -20.5797 -20.6534 -20.9552 -20.9309 -21.08 -21.1398 -21.0968 -21.0486 -21.0312 -20.8202 -20.5187 -20.6199 -20.6141 -20.4411 -20.321 -20.3129 -20.1803 -20.0972 -20.0932 -19.9943 -19.9964 -19.9566 -19.9678 -20.0794 -20.0835 -20.1805 -20.346 -20.3949 -20.6436 -20.6866 -20.7896 -20.8667 -20.7429 -20.5051 -20.5035 -20.6839 -20.6665 -20.7482 -20.8718 -21.0392 -21.2641 -21.5568 -21.8482 -22.0525 -22.027 -22.2593 -22.0215 -22.0744 -21.8227 -21.5784 -21.263 -21.0377 -20.9031 -20.9327 -20.9155 -20.9993 -21.0773 -21.1016 -21.1567 -21.2098 -21.2481 -21.2573 -21.2369 -21.1894 -21.2435 -21.3161 -21.2993 -21.5318 -21.598 -21.6852 -22.0055 -22.4011 -22.797 -23.2345 -23.8766 -24.2539 -24.7308 -25.115 -25.3794 -25.7408 -25.9098 -25.9792 -26.2075 -26.3749 -26.8279 -27.1235 -27.789 -28.1803 -28.7913 -29.4987 -29.9878 -30.0143 -30.1027 -29.8451 -29.827 -29.994 -30.0037 -30.1083 -30.4993 -31.1445 -32.2212 -33.764 -36.1569 -39.1013 -42.2465 -45.2205 -47.2965 -48.2544 -48.0003 -46.3999 -45.3925", + "energy_timestep": "0.011609977324263039", + "breathiness": "-66.7848 -64.2435 -60.8567 -57.8247 -55.5168 -53.118 -50.7932 -48.6901 -47.0064 -45.8911 -45.0254 -45.0045 -45.4111 -46.0348 -46.7097 -47.4031 -48.1749 -49.3713 -51.3565 -54.1684 -57.2756 -60.0176 -63.1449 -65.4114 -66.911 -67.5003 -67.1171 -66.1391 -64.5572 -62.3808 -60.1784 -57.9894 -56.1014 -54.3039 -53.1409 -52.5557 -52.4431 -52.8982 -53.6618 -54.6097 -55.6508 -56.4422 -56.378 -55.3603 -53.0463 -49.9534 -46.4512 -42.6672 -39.5089 -37.2178 -36.1054 -36.2576 -37.7813 -40.3362 -43.3492 -46.6903 -50.0844 -53.0516 -55.3714 -57.1861 -58.3152 -59.0654 -59.6817 -59.7216 -59.3868 -58.2694 -55.6158 -51.9683 -47.9408 -43.8854 -40.7758 -38.7795 -38.8548 -40.1027 -42.598 -45.1785 -47.7502 -49.4082 -50.9428 -51.2949 -51.9089 -52.5164 -53.2761 -54.0576 -54.8662 -55.5717 -55.611 -55.705 -55.4959 -55.0139 -54.6124 -53.8919 -53.0651 -52.5215 -51.8347 -51.1312 -50.5785 -50.2131 -49.9834 -49.7394 -49.9264 -50.1275 -50.5117 -51.3839 -51.8029 -52.2281 -52.6755 -52.6458 -52.4328 -51.7704 -51.4005 -50.9631 -50.6072 -50.4047 -50.114 -50.1238 -50.1387 -49.8958 -50.0656 -50.0883 -50.415 -50.4963 -50.5366 -50.9562 -51.5448 -51.7501 -52.0666 -52.2759 -52.3256 -52.2056 -51.7596 -51.1973 -50.3957 -49.5922 -48.9494 -48.694 -48.7493 -49.1654 -49.9235 -50.6143 -51.1966 -51.9617 -52.3724 -52.6812 -52.9378 -52.8866 -52.5339 -52.447 -52.3769 -52.7405 -53.3439 -54.085 -54.7864 -54.9827 -54.9381 -54.6404 -54.163 -53.8516 -53.8484 -54.4927 -55.1513 -56.0754 -57.24 -57.9838 -58.5792 -58.8701 -58.7915 -58.593 -58.4981 -58.7173 -58.9024 -59.0765 -59.0981 -58.4882 -57.6828 -56.1832 -54.1573 -52.3437 -50.3117 -48.8849 -47.7436 -46.9873 -46.6098 -46.6675 -47.1247 -48.1491 -49.4775 -51.3759 -52.5228 -53.2847 -52.4328 -50.5878 -47.8546 -44.9332 -42.6566 -41.4565 -41.6764 -42.3431 -43.3154 -44.3331 -45.4182 -46.4705 -48.1059 -49.7834 -51.9497 -53.187 -52.8368 -50.5843 -47.0059 -43.0812 -38.8091 -35.3367 -33.2089 -32.3955 -32.8736 -34.3504 -36.7904 -39.8232 -42.8718 -45.8823 -48.6835 -50.7305 -52.4382 -53.5454 -54.8455 -56.2128 -57.3128 -57.7484 -56.6296 -54.7511 -52.0358 -48.9614 -46.1369 -44.0312 -43.2186 -43.7522 -45.4028 -47.6807 -50.0927 -52.0759 -53.2362 -53.7754 -53.8931 -53.6763 -53.5912 -53.6398 -53.6957 -53.9131 -53.8602 -53.8227 -53.848 -53.6208 -53.5961 -53.6169 -53.7327 -53.8244 -53.8871 -53.5794 -53.2397 -53.0364 -52.7896 -53.0421 -53.0322 -53.3548 -53.3997 -53.2943 -53.1105 -53.1442 -53.1394 -53.2418 -53.2986 -53.4309 -53.4754 -53.6435 -53.7019 -53.9287 -53.9818 -54.1437 -54.0508 -53.9693 -53.9492 -53.8419 -53.8557 -53.6093 -53.3982 -53.0351 -52.751 -52.3255 -52.5431 -52.4701 -53.0645 -53.1128 -53.5472 -54.061 -54.2697 -54.7907 -55.2602 -55.6089 -56.0171 -56.0107 -55.9509 -55.5599 -55.093 -55.1233 -55.2838 -56.0205 -56.6632 -57.6686 -58.4957 -59.4989 -60.438 -61.2504 -61.6425 -62.0346 -61.6544 -61.0005 -59.8985 -58.8775 -57.6026 -56.0741 -54.5252 -53.1181 -51.6522 -50.1306 -48.8741 -48.3326 -47.8664 -47.9743 -48.7574 -50.2556 -51.8475 -53.4435 -53.8178 -52.9608 -50.9216 -48.0258 -44.6964 -42.056 -40.5991 -40.4133 -41.3418 -42.95 -44.6201 -46.4874 -48.1211 -49.5667 -51.4059 -53.0097 -54.7517 -56.3442 -57.6042 -58.8634 -59.7628 -60.1909 -60.5689 -60.7571 -60.8283 -60.3827 -59.6139 -58.2851 -56.8236 -55.4506 -54.4529 -54.0234 -53.7214 -54.0133 -54.3337 -54.9064 -55.6946 -56.4825 -57.4323 -57.1916 -55.5248 -52.8885 -49.132 -44.9056 -40.8834 -38.0709 -37.207 -38.3447 -40.8282 -43.5774 -46.3306 -48.748 -50.7354 -51.8758 -52.7037 -53.5317 -54.549 -55.5121 -56.4825 -57.1618 -57.6462 -57.8703 -57.9042 -57.4934 -56.9878 -56.4209 -55.7808 -55.07 -54.6194 -54.4574 -54.0495 -53.8463 -53.5354 -53.0981 -52.7704 -52.3585 -51.9055 -51.6231 -51.5102 -51.1876 -51.3346 -51.5241 -51.6941 -51.94 -52.1978 -52.4321 -52.563 -52.5974 -52.6475 -52.8128 -52.847 -53.1144 -53.2754 -53.4655 -53.7089 -53.9087 -53.9382 -54.1368 -54.0931 -54.0478 -54.126 -53.9178 -53.697 -53.2198 -52.9308 -52.6226 -52.4747 -52.1928 -51.9547 -52.108 -52.145 -52.3752 -52.7003 -53.0368 -53.3352 -53.5169 -53.5574 -53.376 -53.3776 -53.401 -53.6043 -53.6182 -53.6816 -53.9221 -53.4948 -52.7027 -51.3927 -49.7368 -48.391 -47.2878 -46.9929 -47.2858 -48.6236 -50.034 -51.3874 -52.6205 -53.7062 -54.2162 -54.4465 -54.5247 -54.0434 -52.728 -50.8409 -48.076 -44.7151 -41.3788 -38.3594 -36.4402 -35.786 -36.4541 -38.2609 -40.7843 -43.7703 -46.5099 -48.5793 -50.4027 -51.2611 -51.4843 -51.6379 -51.4899 -51.4924 -51.4586 -51.7018 -51.836 -52.2563 -53.1847 -53.9658 -54.9625 -56.0071 -57.1898 -58.3597 -59.3221 -60.0347 -60.6156 -61.093 -61.0559 -61.0491 -60.6935 -60.3225 -59.4736 -57.8729 -55.3519 -52.151 -48.4972 -44.7885 -41.528 -38.904 -37.566 -37.7383 -38.7333 -40.4477 -42.8938 -45.854 -48.4314 -51.3517 -53.5662 -55.18 -56.5851 -57.5577 -58.5938 -59.722 -61.3836 -62.6362 -63.5277 -63.3075 -61.7971 -59.1811 -55.9024 -52.7797 -49.9279 -48.5216 -48.0427 -48.5216 -49.6469 -50.8663 -51.8303 -52.3962 -52.5441 -52.7985 -53.0215 -53.5721 -54.5327 -55.3337 -55.8301 -56.1791 -56.2854 -56.3919 -56.4747 -56.5933 -56.8725 -56.9469 -56.8768 -57.0702 -56.8378 -56.7079 -56.6046 -56.2487 -55.7628 -55.5753 -55.3164 -55.0424 -55.2754 -55.6049 -56.0584 -56.1202 -56.3674 -56.4932 -56.3019 -55.9391 -55.7135 -55.2572 -54.9557 -54.759 -54.8047 -54.8088 -54.7626 -54.878 -55.1274 -55.2626 -55.4808 -55.5483 -55.5972 -55.5167 -55.6928 -55.9154 -56.101 -56.4365 -56.5288 -56.6357 -56.2097 -56.3132 -56.3488 -56.2533 -56.4398 -56.7243 -57.1343 -57.2627 -57.5496 -57.9237 -58.4985 -58.7854 -58.9994 -58.7745 -58.2636 -57.9255 -57.6623 -57.5137 -58.136 -58.8928 -59.5099 -60.164 -60.7883 -61.5077 -61.7167 -62.186 -62.5393 -62.8901 -62.7902 -62.9101 -63.0655 -63.3876 -64.2035 -65.664 -67.2986 -68.7273 -70.0635 -70.4243 -70.4597 -69.5923 -68.4213 -66.644 -64.6603 -62.9668 -60.8774 -59.2028 -57.7303 -56.5673 -55.2554 -53.9231 -52.5296 -51.3172 -50.6341 -50.3895 -50.8627 -51.7874 -53.3603 -54.7625 -55.841 -55.5085 -54.0374 -51.4301 -48.53 -45.666 -43.4331 -42.8036 -43.1314 -43.8708 -45.1276 -46.3854 -47.7234 -48.8994 -50.2646 -51.5732 -53.1766 -54.6724 -55.9026 -56.6496 -57.3193 -57.5072 -57.9166 -57.9274 -58.196 -57.8699 -57.5104 -57.3728 -56.9285 -56.4836 -56.475 -56.5724 -56.6734 -56.9517 -57.4809 -57.8442 -58.3159 -58.9679 -59.4687 -59.9898 -60.4732 -60.5663 -60.4754 -60.6208 -60.3584 -60.0119 -59.6161 -58.8517 -58.1477 -57.4058 -56.6517 -55.8584 -55.5633 -55.1816 -55.5831 -56.6028 -57.7244 -59.1319 -60.749 -62.0836 -63.0381 -63.5234 -64.2459 -64.0108 -63.5699 -62.599 -61.3386 -59.919 -58.2697 -57.0631 -56.4205 -55.9176 -55.775 -55.7775 -55.9427 -55.8801 -55.8667 -55.8938 -55.4322 -55.118 -55.0378 -54.864 -54.8354 -55.0445 -55.3701 -55.6707 -55.9309 -56.1664 -56.6194 -56.9517 -57.5531 -58.095 -58.6228 -59.1018 -59.0216 -58.7996 -58.3572 -57.8952 -57.504 -57.4157 -57.2762 -57.1523 -57.5533 -57.564 -57.9507 -58.3017 -59.1873 -59.8267 -59.9319 -59.7763 -59.0094 -57.9308 -56.2489 -55.0433 -53.9427 -53.4072 -53.1618 -53.6216 -54.4294 -55.249 -56.7857 -58.1759 -59.595 -61.2727 -62.9646 -64.4235 -65.6282 -66.4374 -66.2028 -65.4738 -64.0589 -62.0379 -60.3716 -58.8935 -58.0094 -57.5597 -57.6662 -57.989 -57.975 -58.2247 -57.9844 -57.9237 -57.4188 -57.2479 -57.0217 -56.6905 -56.329 -55.6925 -55.3973 -55.1437 -54.5606 -54.5139 -54.54 -54.5758 -54.7399 -54.9352 -55.1447 -55.1087 -54.8991 -54.6588 -54.4051 -54.6302 -54.7431 -54.7707 -54.6498 -54.8482 -54.6695 -54.8712 -54.743 -54.5144 -54.4767 -54.1721 -54.2041 -53.9223 -53.904 -54.0728 -54.5166 -54.939 -55.4183 -55.8832 -56.3712 -56.6893 -57.1 -56.9967 -56.8562 -56.7717 -56.383 -56.1487 -55.6379 -55.4887 -55.0827 -54.9245 -54.4815 -53.9962 -53.5505 -53.4864 -53.5511 -53.5754 -54.0506 -54.2811 -54.4585 -54.7531 -54.7639 -54.5391 -54.2248 -54.1175 -54.2222 -54.3803 -54.7367 -54.9731 -55.2838 -55.3251 -55.4119 -55.4408 -55.5667 -55.6922 -55.9285 -56.2053 -56.4119 -56.296 -56.3397 -56.3863 -56.2761 -56.4146 -56.1825 -55.7748 -55.4752 -55.0587 -55.0357 -55.3478 -55.7613 -56.136 -56.7382 -57.1474 -56.9805 -56.8908 -56.5791 -56.4037 -56.0829 -56.0337 -55.7395 -56.0053 -56.206 -56.5465 -56.716 -57.0055 -57.4894 -57.7596 -57.9638 -58.0873 -58.2906 -58.3994 -58.4015 -58.755 -59.1973 -59.5467 -59.871 -60.2737 -60.3051 -60.6605 -61.0898 -61.9404 -62.9028 -64.2987 -65.5579 -66.6882 -67.391 -67.721 -67.9983 -68.0067 -67.9151 -67.5927 -66.9343 -65.3644 -62.8845 -59.759 -56.6079 -53.7258 -52.4853 -52.4817 -53.5844 -55.0146 -56.1611 -56.9879 -58.3155", + "breathiness_timestep": "0.011609977324263039" + }, + { + "offset": 166.333, + "text": "SP AP 洒 落 不 计 冬 夏 SP", + "ph_seq": "SP AP s a l uo b u j i d ong x ia SP", + "ph_dur": "0.082 0.4 0.09 0.178 0.06 0.193 0.045 0.163 0.075 0.431 0.045 0.163 0.075 1.905 0.143", + "ph_num": "1 2 2 2 2 2 2 1 1", + "note_seq": "rest rest G3 E3 G3 A3 B3 B3 rest", + "note_dur": "0.172 0.4 0.238 0.238 0.238 0.476 0.238 1.905 0.143", + "note_slur": "0 0 0 0 0 0 0 0 0", + "f0_seq": "167.2 167.4 167.2 167.1 167.3 167.4 167.2 167.5 166.9 166.9 167.1 167.2 167.2 166.7 167.1 167.0 167.1 167.2 167.0 167.0 167.1 167.0 167.1 167.0 166.9 167.1 167.1 167.0 166.9 167.0 167.2 167.1 167.1 167.0 167.0 167.1 167.2 166.7 166.9 166.6 166.7 166.6 166.3 166.3 166.5 166.2 166.0 165.7 165.6 165.0 163.7 161.0 161.2 164.4 170.1 175.3 182.7 188.2 192.4 196.0 196.8 194.9 192.6 187.7 182.4 177.7 173.7 170.6 169.2 168.3 164.9 163.9 163.9 164.4 165.7 167.4 169.0 168.5 167.1 165.1 163.9 162.2 159.4 156.4 155.4 160.9 165.3 171.2 178.1 185.7 193.5 193.7 195.6 196.4 196.6 196.0 195.1 195.6 196.1 195.3 194.6 194.9 194.6 192.5 186.3 191.3 197.0 203.8 211.4 219.0 226.6 223.2 221.9 221.9 221.3 220.0 218.5 215.5 213.1 211.5 211.1 213.0 215.3 219.4 221.5 224.6 226.4 224.8 223.3 221.6 219.6 218.2 217.1 216.5 218.0 220.5 221.7 223.2 224.7 224.5 223.5 221.9 220.3 212.6 205.8 206.0 218.7 229.5 239.5 249.9 258.8 255.5 247.8 246.2 246.2 245.0 244.1 245.4 245.8 247.0 247.8 248.3 248.1 247.4 242.1 237.0 237.5 238.2 238.8 240.1 240.4 241.8 242.5 233.2 226.8 224.6 223.3 224.3 224.4 224.8 225.4 225.1 225.0 226.6 226.3 226.2 227.7 228.3 230.5 235.9 241.6 246.8 250.7 251.0 251.1 250.2 248.6 246.9 244.9 244.6 244.7 244.5 245.6 245.5 245.3 245.1 246.1 246.5 246.4 245.5 245.2 246.3 246.8 247.9 248.4 249.2 249.8 250.0 249.9 248.8 248.1 247.6 246.2 243.1 240.4 239.1 238.9 241.1 242.4 245.9 249.7 254.3 258.3 260.8 262.0 260.5 257.9 252.0 246.4 240.9 236.8 235.7 236.4 238.2 241.2 245.7 250.2 253.4 255.7 257.9 258.7 256.6 253.6 249.8 245.7 242.3 240.0 238.6 240.0 241.7 245.2 247.4 249.3 250.0 251.9 253.0 251.5 251.8 248.5 247.2 245.2 243.8 242.0 240.1 240.5 241.5 243.1 245.5 247.2 249.0 250.9 252.3 253.1 253.1 251.8 249.4 247.5 244.0 241.4 239.6 238.8 239.0 239.8 242.1 245.1 248.4 252.1 255.7 257.9 258.0 256.5 255.0 252.5 249.1 244.4 240.9 239.7 240.2 242.7 245.7 248.3 251.9 255.9 258.7 259.6 259.1 256.6 253.3 251.4 247.8 245.9 246.0 245.1 244.9 245.1 245.3 246.1 247.7 249.1 250.6 252.4 252.7 253.5 252.1 251.6 250.4 248.9 247.5 240.9 239.1 240.4 238.7 237.9 235.8 233.5 232.0 229.9 229.2 227.5", + "f0_timestep": "0.011609977324263039", + "energy": "-91.335 -89.7543 -88.383 -85.6886 -83.0304 -79.082 -75.0048 -71.7329 -68.8001 -65.786 -63.1616 -61.2834 -59.8956 -58.3297 -57.4727 -56.43 -55.552 -54.7478 -54.0625 -53.0499 -52.6828 -51.7087 -51.4832 -51.1853 -51.1393 -50.8482 -50.885 -51.1412 -51.7173 -52.2423 -53.0803 -54.1466 -55.3765 -56.6882 -58.1499 -59.6094 -60.8225 -60.829 -59.7906 -57.1166 -53.3254 -48.859 -44.5726 -41.0405 -38.619 -36.6978 -34.6424 -33.3207 -31.5333 -29.7351 -27.6725 -26.3259 -25.256 -24.9498 -24.9649 -25.2148 -25.2955 -25.3292 -25.1965 -24.7194 -24.5882 -24.2155 -24.4308 -24.2151 -24.7828 -24.8786 -25.0314 -24.7296 -24.562 -24.1277 -23.6643 -23.1635 -22.8621 -22.5952 -22.3149 -22.3453 -22.2758 -22.1049 -23.0658 -24.19 -26.0001 -29.1427 -32.8816 -37.0152 -40.1746 -41.5083 -40.8474 -38.5198 -34.7017 -30.5636 -26.629 -24.1201 -22.8961 -22.3024 -21.9669 -21.8241 -21.8871 -21.9968 -22.1775 -22.5648 -23.4474 -24.4169 -26.5535 -28.8417 -31.591 -33.8027 -35.0644 -35.3012 -34.0371 -31.6979 -29.2189 -26.7667 -24.844 -23.8242 -23.2886 -22.9991 -23.0155 -23.2514 -23.8476 -24.1528 -24.3964 -24.6009 -24.7535 -24.6398 -24.5302 -24.3527 -24.3227 -24.0788 -24.0728 -23.8876 -23.8853 -23.8572 -23.6577 -23.5224 -23.6244 -23.3975 -23.3141 -23.4556 -23.4958 -23.8155 -24.1596 -25.5846 -27.743 -31.1623 -34.7336 -38.0026 -39.5868 -39.6159 -37.945 -34.7655 -30.8552 -27.2423 -24.7529 -23.1203 -22.2898 -22.2181 -21.8666 -21.9792 -21.992 -22.1089 -22.3131 -22.5452 -23.3954 -24.8566 -26.5255 -28.5478 -30.7308 -32.4781 -33.4958 -33.385 -32.1026 -29.8598 -27.4884 -25.1241 -23.2855 -21.6907 -21.0167 -20.3801 -20.1976 -20.0347 -19.7342 -19.766 -20.0205 -20.1637 -20.4099 -20.8716 -21.1311 -21.2029 -21.0704 -20.8747 -20.6911 -20.3689 -19.7811 -19.7571 -19.775 -19.6828 -19.5635 -19.649 -19.6294 -19.5408 -19.3843 -19.1047 -19.0646 -18.7185 -18.6109 -18.4787 -18.2654 -18.3845 -18.2751 -18.4647 -18.3906 -18.3017 -18.1627 -18.0916 -18.0649 -18.0308 -18.0833 -17.9269 -17.9051 -17.8964 -18.0363 -18.1549 -18.3318 -18.3528 -18.5165 -18.5 -18.758 -18.7347 -18.891 -18.9377 -18.8184 -18.9846 -18.8544 -18.8639 -18.7145 -18.8683 -19.1378 -19.3065 -19.5206 -19.9062 -20.2405 -20.5881 -20.5745 -20.6458 -20.5735 -20.3369 -20.1182 -19.7785 -19.7094 -19.6029 -19.6439 -19.6976 -19.9684 -20.2255 -20.4278 -20.475 -20.4288 -20.4176 -20.2021 -20.0455 -19.9943 -19.7657 -19.6512 -19.2851 -19.1918 -19.1025 -19.02 -18.8851 -18.882 -18.8461 -18.8728 -18.8663 -18.8815 -18.7271 -18.5221 -18.5701 -18.7958 -18.4065 -18.4897 -18.5473 -18.6959 -18.8047 -18.7242 -18.9657 -19.0963 -19.112 -19.2226 -19.439 -19.4099 -19.6751 -19.7725 -20.1118 -20.3216 -20.5106 -20.8492 -20.7611 -20.912 -20.7575 -20.9414 -21.1273 -21.1093 -21.5748 -22.0827 -22.593 -22.9297 -23.6614 -23.9743 -24.215 -24.4748 -24.6898 -24.5828 -24.6231 -24.533 -24.5085 -24.4152 -24.432 -24.7476 -24.9891 -25.256 -25.9678 -26.4499 -27.2758 -28.0291 -28.6166 -29.3096 -29.4574 -30.1256 -30.0788 -30.0589 -29.8724 -29.6564 -29.6835 -30.0465 -30.4455 -31.2586 -32.7731 -35.0749 -38.433 -42.7027 -47.2208 -52.688 -57.1975 -61.3337 -63.726 -64.4405 -64.0196 -62.0945 -60.0283 -55.5607", + "energy_timestep": "0.011609977324263039", + "breathiness": "-91.4506 -90.1157 -88.8501 -87.4963 -85.1005 -81.7114 -77.0341 -71.9005 -67.5696 -63.9775 -61.5759 -59.9055 -58.6826 -57.9638 -56.9921 -56.3148 -55.688 -55.048 -54.2957 -53.5921 -52.9275 -52.0595 -51.4595 -50.9934 -50.4482 -50.1894 -50.1263 -50.387 -50.8454 -51.5106 -52.5931 -53.55 -54.7379 -56.0512 -57.8142 -59.5694 -61.0583 -61.309 -60.3 -57.7811 -54.2937 -49.6965 -44.9632 -41.2362 -38.7549 -37.1565 -36.3884 -36.4674 -37.4484 -39.0776 -41.309 -44.0753 -46.794 -49.2714 -51.4057 -52.8255 -53.8701 -54.5647 -55.0557 -55.2875 -55.6701 -56.0918 -56.7625 -57.435 -58.2199 -58.9139 -59.3829 -59.8602 -59.5196 -59.0599 -58.7559 -58.2717 -57.5982 -57.0313 -56.6807 -56.6577 -56.7508 -57.0468 -57.8454 -58.8863 -60.2433 -61.5505 -62.2862 -62.5521 -61.7602 -60.3191 -58.6327 -57.2705 -56.794 -57.3061 -58.3643 -59.7856 -61.1052 -62.6188 -63.6501 -64.3588 -64.7033 -64.5811 -63.7731 -62.6302 -60.8494 -58.3765 -55.3677 -52.1503 -48.3491 -45.2268 -42.6441 -41.2948 -41.5974 -43.2214 -45.5138 -48.1696 -50.6605 -52.8539 -54.5646 -55.4319 -55.9871 -56.4299 -56.9448 -57.4803 -58.0676 -58.2697 -58.4898 -58.4508 -58.6699 -58.6426 -58.7091 -58.6493 -58.5662 -58.427 -58.0434 -57.6344 -57.3217 -57.2047 -56.9445 -57.0641 -57.1678 -57.6331 -57.9999 -58.4716 -58.5309 -57.798 -56.717 -55.0553 -53.2044 -51.0144 -49.9399 -49.4156 -49.7431 -50.4906 -51.8649 -53.4825 -55.2215 -57.0463 -58.8675 -59.9455 -61.171 -61.8945 -62.2905 -62.1527 -60.7325 -58.4387 -55.0258 -51.0895 -46.982 -42.8362 -39.9017 -37.7569 -36.951 -37.4428 -38.6105 -40.3107 -43.0435 -45.8638 -48.3732 -50.4827 -51.8333 -52.7979 -52.9308 -53.5211 -54.086 -54.352 -54.4021 -54.2738 -53.9167 -53.5351 -53.0061 -52.5849 -52.38 -52.3305 -52.6245 -52.9711 -53.4946 -54.2031 -54.7181 -54.8706 -54.8118 -54.5896 -54.3829 -53.9516 -54.171 -54.1209 -54.1279 -53.7489 -53.2765 -52.697 -52.0048 -51.4054 -51.0868 -50.9399 -50.9891 -50.8442 -50.6682 -50.5554 -50.6963 -50.603 -51.1129 -51.4707 -52.0396 -52.3511 -52.7225 -52.9325 -53.2517 -53.5449 -53.9338 -54.0466 -54.1494 -54.0211 -53.7837 -53.5455 -53.6271 -53.6112 -54.1915 -54.3056 -54.5276 -54.3996 -54.3434 -54.0966 -54.0748 -54.2998 -54.7916 -55.0851 -55.6091 -55.6287 -55.7001 -55.5833 -55.5473 -55.5289 -55.6792 -55.8085 -55.88 -56.0499 -56.008 -56.1647 -56.3334 -56.7932 -57.1288 -57.3062 -57.5066 -57.681 -57.1525 -56.6616 -55.8536 -55.2161 -54.7599 -54.6594 -54.8912 -55.2172 -55.5299 -55.8076 -55.8265 -55.569 -55.4166 -55.1297 -54.5609 -54.1666 -53.8349 -53.1668 -52.7585 -52.5277 -52.4776 -52.6168 -52.933 -53.1127 -53.0476 -53.0559 -52.9545 -52.5556 -52.4327 -52.7055 -53.1331 -53.6208 -54.2086 -54.5479 -54.9458 -55.2688 -55.4071 -55.7373 -55.7135 -55.8083 -55.8324 -56.1051 -56.2392 -56.8158 -57.5633 -58.284 -58.8299 -59.6824 -59.905 -60.4559 -60.9205 -61.2763 -61.8462 -62.3827 -62.7677 -63.4652 -63.8572 -64.1901 -64.6398 -65.3576 -66.0776 -67.1031 -68.1056 -68.9111 -69.8609 -70.6216 -71.3396 -71.895 -72.4216 -72.61 -72.4874 -72.2865 -72.0855 -71.1525 -69.7042 -67.5992 -64.7788 -62.1597 -60.1182 -59.2179 -59.8052 -61.7633 -64.5258 -67.3592 -70.1343 -71.981 -72.1588 -71.8469 -70.8648", + "breathiness_timestep": "0.011609977324263039" + }, + { + "offset": 171.305, + "text": "SP AP 算 冬 夏 豪 气 未 曾 罢 SP", + "ph_seq": "SP AP s uan d ong x ia h ao q i w ei z eng b a SP", + "ph_dur": "0.095 0.4 0.105 0.178 0.06 0.163 0.075 0.416 0.06 0.163 0.075 0.163 0.075 0.387 0.09 0.431 0.045 0.476 0.333", + "ph_num": "1 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest rest B3 A3 B3 B3 A3 B3 G3 E3 rest", + "note_dur": "0.2 0.4 0.238 0.238 0.476 0.238 0.238 0.477 0.476 0.476 0.333", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "199.9 200.4 200.4 200.8 201.1 200.8 201.0 201.2 201.4 200.7 201.4 201.6 201.2 201.4 200.9 201.3 201.4 201.4 201.6 201.5 201.5 201.9 202.3 202.3 202.6 202.4 202.3 202.5 202.9 202.9 202.9 203.2 203.0 203.2 203.5 203.2 203.4 203.8 203.8 203.3 203.8 203.7 203.5 204.3 204.0 204.0 204.0 203.7 204.0 204.0 204.2 203.9 203.5 203.7 204.2 206.2 208.1 210.9 222.3 231.8 238.5 244.2 246.0 246.9 244.4 241.9 237.6 230.9 227.1 221.2 213.0 220.3 225.6 221.6 219.0 218.3 219.3 220.7 221.6 221.8 221.7 221.6 221.8 222.1 220.5 216.2 207.3 213.4 221.2 229.5 238.6 247.4 257.9 257.2 257.2 257.6 256.2 252.9 248.7 243.4 238.0 235.1 235.5 236.0 238.7 242.5 246.5 251.2 255.2 257.6 257.0 254.8 248.1 243.5 237.5 232.8 233.0 235.7 240.5 248.1 251.8 254.9 253.8 253.4 249.5 243.6 233.4 222.4 225.1 231.4 239.4 247.1 254.8 262.2 255.1 250.8 250.5 250.6 250.3 249.5 248.4 246.9 246.1 246.0 245.5 243.3 236.6 231.9 229.5 228.9 228.6 229.2 228.1 228.6 225.7 220.8 220.0 219.6 219.6 220.2 221.1 221.4 221.6 221.7 222.1 221.7 222.0 221.4 219.2 216.6 214.2 215.4 226.6 241.4 250.5 256.3 256.8 257.0 254.3 252.2 247.1 244.7 243.2 242.6 243.1 242.8 244.1 247.7 252.3 255.7 257.9 255.8 252.4 249.6 246.8 243.6 241.0 239.5 238.8 238.6 243.3 250.2 257.1 261.4 260.5 255.8 245.3 226.1 220.3 217.1 215.0 213.4 211.0 208.5 207.4 204.2 197.8 191.8 191.6 190.4 190.7 189.5 189.9 191.1 192.3 192.1 192.6 194.6 195.9 197.0 196.8 195.9 195.0 195.1 194.4 194.1 194.6 195.6 196.2 197.0 196.4 195.6 195.8 196.4 196.6 196.9 195.1 192.5 185.9 178.9 174.1 172.1 170.2 168.9 167.1 165.7 161.7 159.1 161.6 164.3 166.6 167.2 166.8 165.9 164.2 161.2 157.5 155.1 153.3 153.7 155.9 159.9 165.7 169.8 173.9 176.0 176.4 174.7 170.8 166.6 161.6 156.5 154.1 154.9 158.0 160.7 164.6 168.0 171.2 172.6 174.0 174.4 172.2 168.6 163.3 157.7 156.0 156.2 157.2 159.2 159.1 159.3 159.3 159.4 160.2 160.5 160.6 161.1 161.4 161.4 161.6 161.6 162.0 162.2 162.2 162.0 161.9 161.5 160.9 161.1 160.7 160.2 160.6 160.2 160.8 160.9 159.2", + "f0_timestep": "0.011609977324263039", + "energy": "-85.1906 -85.6317 -82.9888 -79.9285 -76.7469 -73.8136 -71.0893 -68.088 -65.654 -63.3308 -61.3078 -58.9783 -56.9385 -54.5962 -52.7045 -50.9216 -49.646 -48.3092 -47.4336 -46.6461 -46.0314 -45.6278 -45.5431 -45.4692 -45.4194 -45.6897 -45.6981 -46.0117 -46.3126 -46.5807 -46.8516 -47.6508 -48.7553 -49.9729 -51.8796 -53.7776 -55.4411 -56.5255 -56.3205 -55.116 -52.7314 -49.4349 -45.9827 -42.5203 -39.7879 -37.8649 -36.2416 -34.91 -32.8876 -30.8782 -28.7769 -26.6949 -24.7159 -23.4766 -23.0592 -23.1638 -23.3149 -23.8427 -24.2302 -24.3863 -24.4607 -24.4082 -24.245 -24.0971 -24.1211 -24.6683 -25.3246 -26.242 -26.9153 -27.1329 -27.0845 -26.481 -25.2792 -24.173 -23.3012 -22.6892 -22.625 -22.1858 -22.2609 -22.3146 -22.2885 -22.391 -22.7971 -23.1916 -24.1433 -25.8283 -27.8228 -29.732 -31.3677 -31.9263 -31.5719 -30.3463 -28.102 -25.9171 -23.8483 -22.3261 -21.68 -21.2943 -21.4494 -21.8489 -22.0846 -22.608 -23.007 -23.2338 -23.1403 -23.1837 -23.0648 -23.0259 -22.7505 -22.9081 -23.0176 -22.9893 -23.2819 -23.5091 -23.7765 -23.9134 -24.1812 -24.0989 -23.9187 -23.8336 -23.5799 -23.8151 -24.0041 -24.7038 -26.0268 -27.8831 -30.4826 -33.562 -36.0886 -37.5049 -37.5815 -35.8679 -33.3141 -30.1218 -26.816 -24.2562 -22.6257 -22.1096 -21.6274 -21.5535 -21.4793 -21.6593 -22.017 -22.9796 -24.4648 -26.4459 -28.8302 -31.2299 -33.4399 -35.1552 -35.8341 -35.214 -33.7432 -31.6713 -29.3472 -26.9537 -25.1092 -24.2187 -23.8319 -23.5331 -23.5249 -23.6516 -23.7785 -23.7963 -23.8958 -23.9159 -24.3854 -24.7009 -25.0838 -25.3484 -25.4251 -25.1872 -24.463 -23.6795 -23.0651 -22.2067 -21.7442 -21.613 -21.4387 -21.729 -21.6316 -21.9893 -22.3791 -22.5701 -22.6584 -22.8774 -22.7518 -22.8251 -22.6917 -22.4455 -22.355 -22.5476 -22.6129 -22.7377 -23.0973 -23.0616 -23.1796 -23.0553 -22.9499 -23.0691 -22.8649 -22.8406 -23.0655 -23.3493 -24.0728 -25.3382 -27.4959 -30.0381 -32.6679 -35.0179 -36.5082 -36.527 -35.3126 -33.328 -30.5993 -28.5699 -26.7168 -25.505 -24.7267 -24.3631 -23.9437 -24.0692 -23.9255 -24.1175 -24.1467 -24.4522 -24.6397 -24.8738 -24.8675 -25.0203 -25.1611 -25.4667 -25.4381 -25.5856 -25.5736 -25.5434 -25.4977 -25.2478 -25.1182 -25.2998 -25.3286 -25.1945 -25.4953 -25.6153 -25.8425 -26.9023 -28.2999 -30.7219 -34.2091 -38.2032 -41.5198 -43.1593 -42.7515 -40.5914 -37.1568 -32.9113 -29.5851 -27.2548 -26.0113 -25.3583 -25.1034 -25.3862 -25.5728 -25.76 -26.1986 -26.726 -27.1656 -27.7919 -28.299 -28.5319 -28.7398 -28.9064 -29.0147 -29.0387 -29.2369 -29.2617 -29.4134 -29.7861 -30.3193 -30.9963 -31.7453 -32.4319 -33.2718 -34.2449 -34.7511 -35.1009 -35.5035 -35.8031 -35.85 -35.7635 -36.2705 -36.4652 -36.7235 -37.122 -37.4521 -38.2079 -39.05 -40.5626 -43.0648 -45.9249 -50.1502 -54.257 -58.3027 -61.8517 -65.0837 -67.1987 -68.6946 -69.6178 -70.6507 -71.5864 -72.5023 -73.5392 -74.6852 -74.4268 -73.9682 -73.1884 -71.9524 -71.2119 -71.1089 -71.2447 -72.1851 -73.3176 -74.7946 -75.6588 -76.7723 -78.8739 -85.6579", + "energy_timestep": "0.011609977324263039", + "breathiness": "-92.9279 -96.0 -94.5353 -90.5159 -84.7393 -78.7702 -73.511 -68.9892 -65.4334 -62.6755 -60.1789 -58.1462 -56.1338 -54.1671 -52.2832 -50.7421 -49.3583 -48.4691 -47.639 -46.8312 -46.014 -45.6843 -45.6123 -45.3278 -45.3346 -45.2948 -45.4379 -45.7025 -45.9093 -46.1885 -46.9005 -47.6146 -48.7151 -50.3644 -52.4826 -54.6585 -56.7936 -58.0911 -58.1277 -56.61 -54.0495 -50.4322 -46.4512 -42.6178 -39.5294 -37.4142 -36.4485 -36.1741 -37.03 -38.9346 -41.3845 -44.2864 -46.9251 -49.2328 -51.015 -52.0694 -53.3781 -54.5355 -56.5028 -58.7868 -61.1578 -63.2914 -64.6592 -65.6658 -66.1447 -65.6448 -64.7229 -63.551 -62.1196 -60.6125 -59.6015 -58.7128 -58.4363 -58.7086 -59.2789 -60.0849 -60.7834 -61.4494 -61.7286 -61.9814 -62.0615 -61.4651 -59.4901 -56.3487 -52.4737 -48.4101 -44.3275 -40.7692 -38.0882 -37.0374 -36.9896 -38.3433 -40.3514 -43.1283 -46.1735 -49.0062 -51.2868 -53.0777 -53.9255 -54.1793 -54.3366 -54.7198 -54.9795 -54.9812 -54.8648 -54.797 -54.701 -54.7048 -54.9065 -55.1702 -55.4077 -55.8285 -56.0273 -56.4662 -56.6698 -57.055 -57.3444 -57.7293 -58.1646 -58.5001 -58.7691 -58.9279 -59.0834 -58.9803 -57.731 -56.1291 -53.7918 -51.5238 -49.0399 -47.2649 -46.4053 -47.0134 -48.3966 -49.9776 -51.9001 -53.6729 -55.0935 -56.1015 -56.8957 -57.5107 -58.2387 -58.8915 -58.7855 -57.7386 -55.3747 -52.0507 -48.0898 -44.2447 -41.1681 -38.7247 -38.2562 -38.4407 -39.7642 -41.7899 -44.7061 -47.5376 -50.4365 -53.1811 -55.1433 -56.4813 -56.8934 -57.2318 -57.457 -57.916 -58.6871 -59.7205 -61.049 -62.4169 -63.7158 -64.6119 -64.9328 -64.4442 -63.2894 -61.6551 -59.8818 -58.2565 -57.0501 -56.5719 -56.1706 -55.9769 -56.0503 -55.9982 -56.0739 -55.8165 -55.7607 -55.5452 -55.0249 -54.8858 -54.7558 -54.9169 -55.1937 -55.4759 -55.8114 -56.2676 -56.8397 -57.2494 -57.4259 -57.8285 -58.3504 -58.5143 -58.8161 -59.3579 -59.8038 -59.434 -58.4598 -56.4038 -53.63 -50.279 -46.8859 -43.9026 -41.6866 -40.6132 -40.7727 -42.0243 -44.4489 -47.1577 -50.1772 -52.8892 -54.9828 -56.3278 -56.9938 -57.5264 -58.0551 -58.6705 -59.3954 -60.0704 -60.7383 -61.5133 -62.1663 -62.9735 -63.8926 -64.6639 -65.3472 -65.663 -65.8545 -66.2001 -66.461 -66.6914 -67.1156 -67.7193 -68.36 -69.0208 -69.5589 -69.9258 -70.4466 -70.0625 -69.197 -66.5167 -63.9414 -61.243 -58.5694 -56.3471 -55.1136 -54.5463 -54.1495 -54.3555 -54.6568 -55.0118 -55.6231 -56.3884 -56.5988 -56.7512 -57.2014 -57.5172 -57.8299 -58.428 -58.9368 -59.482 -59.8539 -59.7665 -59.5831 -59.2461 -58.9696 -59.1909 -59.3876 -59.7677 -60.3903 -60.965 -61.794 -62.1755 -62.5919 -62.8763 -63.1571 -63.7132 -64.2127 -64.9055 -65.9878 -66.9097 -67.9212 -68.5394 -69.2739 -69.5486 -69.4984 -69.9651 -70.136 -69.934 -69.1344 -67.9339 -66.159 -64.7766 -64.3462 -65.1982 -67.2393 -69.8583 -72.3681 -74.1677 -75.0337 -74.9738 -74.5411 -74.3141 -75.0042 -76.5418 -78.054 -79.5664 -80.399 -80.6381 -80.3189 -79.9258 -79.5699 -79.515 -79.6878 -79.5307 -78.9624 -77.8953 -76.569 -74.8216 -74.2901", + "breathiness_timestep": "0.011609977324263039" + }, + { + "offset": 174.858, + "text": "AP 再 砥 砺 剑 锋 出 京 华 SP", + "ph_seq": "AP z ai d i l i j ian f eng ch u j ing h ua SP", + "ph_dur": "0.305 0.075 0.193 0.045 0.178 0.06 0.178 0.06 0.178 0.06 0.164 0.075 0.163 0.075 0.371 0.105 0.952 0.095", + "ph_num": "2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest E3 E3 F#3 G3 F#3 E3 D3 E3 rest", + "note_dur": "0.38 0.238 0.238 0.238 0.238 0.239 0.238 0.476 0.952 0.095", + "note_slur": "0 0 0 0 0 0 0 0 0 0", + "f0_seq": "123.7 124.0 123.8 123.5 123.8 123.8 123.7 123.5 123.5 123.4 123.5 123.3 123.4 123.2 123.3 123.2 123.2 123.0 123.1 123.2 123.3 123.2 123.2 123.2 123.2 123.2 123.4 123.5 123.3 123.6 123.2 123.6 123.7 124.1 123.7 127.3 130.9 136.0 143.8 150.8 154.8 158.3 161.2 163.7 164.9 166.3 165.4 163.9 162.4 162.2 159.1 156.0 157.9 157.2 162.1 161.3 162.6 163.0 164.3 164.6 164.9 164.7 164.8 165.1 165.5 165.5 165.0 165.1 163.8 164.5 165.1 168.0 176.0 180.1 182.5 183.7 185.0 185.1 185.2 184.8 184.8 185.0 184.9 184.5 184.8 184.6 183.8 181.4 174.4 166.6 174.4 182.5 191.5 201.4 210.7 204.1 201.0 199.6 197.5 197.1 196.4 195.7 195.2 195.5 196.7 196.7 195.4 191.9 185.0 179.3 183.7 186.7 191.4 196.6 200.3 192.7 187.8 186.0 185.2 185.0 183.6 182.9 183.9 184.3 185.5 186.5 185.5 181.7 175.7 173.8 174.5 174.8 175.8 175.3 177.0 175.1 170.0 165.6 166.0 165.2 165.4 165.5 165.7 165.7 165.4 164.5 163.3 161.0 156.4 151.2 150.7 149.1 148.4 148.3 147.8 150.1 146.5 144.6 145.1 145.5 146.0 145.7 145.7 145.7 146.2 146.6 147.0 147.5 147.1 146.7 147.3 147.3 147.7 148.0 148.6 148.6 148.5 148.1 147.8 147.6 147.6 148.1 148.2 148.1 146.7 144.4 138.9 136.8 140.0 143.0 146.2 150.1 154.2 158.0 162.4 166.1 169.8 168.3 167.5 166.2 165.6 164.3 162.7 160.7 159.4 157.8 157.1 156.1 157.0 158.2 160.3 162.6 166.0 168.2 170.1 171.1 170.6 169.5 167.6 165.2 163.6 162.2 161.0 161.1 161.2 162.7 164.7 167.4 170.0 172.3 173.3 172.7 170.7 167.1 163.3 159.3 156.2 154.8 155.7 158.4 161.7 165.4 168.7 172.0 174.9 175.5 174.3 170.8 164.6 159.1 155.6 153.4 153.0 155.6 158.2 162.1 166.0 168.6 171.0 172.9 172.7 170.6 165.8 161.2 156.6 154.3 154.0 154.5 156.4 156.9 156.7 161.2 167.4 172.6 174.8 174.9 173.8 170.0 165.6 160.4 158.3 156.7 157.5 157.0 157.1 156.0 155.4", + "f0_timestep": "0.011609977324263039", + "energy": "-65.3696 -60.4417 -58.081 -56.0796 -54.2833 -53.1243 -51.9912 -50.9192 -50.0225 -48.7493 -47.699 -46.7565 -46.3044 -45.9734 -46.1649 -46.5033 -47.246 -48.5306 -49.8078 -51.2256 -52.7499 -54.5727 -55.7045 -56.1027 -55.6121 -54.331 -51.9249 -48.9045 -45.2837 -41.7533 -38.0742 -34.8365 -32.2163 -29.8955 -28.2061 -27.0054 -26.3076 -26.0197 -25.7624 -25.5255 -24.993 -24.8438 -24.4179 -24.2005 -24.276 -24.2679 -24.7294 -25.5039 -26.6528 -27.5673 -28.7515 -28.9156 -28.8245 -28.1784 -27.1132 -26.0805 -25.2743 -24.8833 -24.6933 -24.6615 -24.8671 -24.9219 -24.8813 -24.844 -24.7153 -24.9961 -25.1874 -25.6161 -25.7562 -25.8505 -25.8921 -25.5156 -25.4403 -25.048 -24.7298 -24.6702 -24.7833 -24.7322 -24.8378 -25.0216 -24.8145 -24.594 -24.938 -25.0661 -25.502 -26.5285 -28.0245 -29.8775 -32.2952 -34.3134 -35.4214 -35.4246 -34.0379 -31.8441 -29.1871 -26.7086 -25.2116 -24.7051 -24.2977 -24.6462 -24.8316 -24.8775 -25.5158 -25.5405 -26.0867 -27.0291 -28.3454 -30.4942 -33.137 -35.3243 -36.6124 -36.3977 -35.098 -32.8427 -29.9882 -27.4304 -25.78 -25.0504 -24.9732 -25.1429 -25.4891 -25.7606 -25.9467 -26.2133 -26.7003 -27.3653 -28.7263 -30.3233 -32.5251 -34.7201 -36.5257 -37.2024 -36.9323 -35.4538 -33.4634 -31.0603 -28.8619 -26.7983 -25.7655 -25.3922 -25.178 -24.988 -25.0 -25.3043 -25.8613 -26.8325 -28.3433 -30.553 -32.8965 -35.5263 -37.4811 -38.277 -37.826 -36.2024 -34.1403 -31.8052 -29.6522 -27.9104 -26.9968 -26.5928 -26.3621 -26.6575 -26.5111 -26.745 -26.994 -26.9114 -27.3487 -27.1398 -27.135 -27.1222 -27.3078 -27.0696 -26.8704 -26.9133 -26.8198 -26.7668 -26.6993 -26.7677 -26.9896 -26.906 -27.1056 -27.5359 -27.9338 -29.0499 -30.3771 -32.6627 -35.2761 -38.1146 -40.9012 -43.707 -45.6351 -46.5182 -45.8682 -43.662 -40.7127 -37.1377 -33.3124 -29.5077 -27.1522 -25.7014 -25.1477 -24.8428 -24.8119 -24.843 -25.1969 -25.5358 -25.8128 -26.1141 -26.365 -26.5525 -26.5591 -26.3811 -25.8423 -25.7196 -25.4845 -25.2341 -25.4033 -25.4589 -25.7382 -25.7215 -25.9175 -26.132 -26.397 -26.4317 -26.8506 -26.9685 -26.9303 -27.1206 -27.3438 -27.5683 -27.5631 -27.7726 -27.7398 -27.9218 -28.345 -28.4865 -28.7753 -29.1239 -29.5762 -29.5947 -29.9761 -30.0578 -30.1552 -30.1516 -29.9787 -30.0127 -30.0318 -30.1367 -30.5582 -31.1093 -31.6348 -32.1441 -32.9015 -33.276 -33.5283 -33.8706 -34.0622 -34.1937 -34.2432 -34.1303 -34.2577 -34.2249 -34.1449 -34.2285 -34.4346 -34.7283 -35.2903 -35.9572 -36.9875 -37.8271 -38.3466 -38.7485 -38.7742 -39.0935 -39.2486 -39.439 -40.2162 -41.3944 -43.5349 -46.4891 -50.8323 -55.9014 -60.7214 -65.0072 -67.5447 -70.0406 -67.4427", + "energy_timestep": "0.011609977324263039", + "breathiness": "-71.7401 -65.6534 -61.8305 -58.6497 -56.3412 -54.482 -53.1664 -51.7437 -50.1797 -48.7255 -47.4327 -46.5417 -46.1668 -45.8958 -45.7783 -45.7907 -46.191 -47.1965 -48.3996 -50.331 -52.749 -55.1291 -57.4461 -58.8591 -58.9702 -57.5584 -54.852 -51.6978 -48.0569 -45.1951 -43.883 -43.6924 -44.2059 -45.7938 -47.472 -49.4316 -50.8994 -52.4163 -52.8074 -53.0902 -53.3528 -53.599 -53.7829 -54.0995 -54.3778 -55.0274 -55.7719 -56.7786 -57.5112 -58.1407 -58.5411 -58.6507 -58.4241 -57.8816 -57.4889 -56.858 -56.8024 -56.7638 -56.6012 -56.5151 -56.3802 -56.1239 -56.022 -55.746 -55.6744 -55.2947 -54.9368 -54.6375 -54.3437 -54.2601 -54.3093 -54.5226 -54.9368 -55.4579 -55.8484 -56.2054 -56.7447 -57.2002 -57.5278 -57.7514 -58.0546 -58.2911 -58.3462 -58.4393 -58.3074 -57.4997 -56.1156 -53.919 -51.0268 -48.0597 -45.7084 -44.3891 -44.1234 -45.5328 -47.5814 -50.0446 -52.5336 -54.5439 -56.4511 -57.9119 -59.4496 -60.8362 -62.2605 -64.0357 -65.5853 -66.1745 -65.5146 -63.4918 -60.9293 -57.9753 -54.9748 -52.9442 -52.2491 -53.3015 -54.8638 -56.9851 -59.0176 -61.0855 -62.6689 -63.625 -64.8506 -65.9171 -66.9872 -67.4859 -66.5291 -63.8349 -59.9592 -55.3693 -50.5484 -46.3131 -43.3736 -42.4946 -43.632 -46.2536 -49.5229 -53.1476 -56.5098 -59.6496 -61.9039 -63.3676 -63.6988 -63.7284 -63.6185 -63.0476 -61.7861 -59.858 -57.3858 -54.3169 -51.1769 -48.0438 -45.457 -43.7127 -43.2891 -43.9811 -45.7076 -48.2101 -50.8372 -53.5214 -55.8727 -57.9296 -59.083 -60.112 -61.1435 -62.3431 -63.5251 -64.7729 -66.3391 -67.636 -68.9865 -69.9875 -70.4726 -71.0221 -70.8981 -70.8087 -70.7722 -70.716 -70.565 -70.5452 -70.3337 -70.0315 -69.8648 -69.4223 -68.557 -66.6756 -64.1788 -60.726 -56.8203 -53.2265 -50.0045 -48.0818 -47.7965 -48.2547 -49.3248 -50.7037 -52.5236 -54.4954 -56.2413 -57.7054 -58.5991 -59.2946 -59.2617 -59.2511 -58.9291 -58.6962 -58.3463 -57.9751 -57.6021 -57.0873 -56.6077 -56.0102 -55.754 -55.5663 -55.4858 -55.5234 -55.8042 -55.7922 -55.793 -55.7825 -55.7807 -55.9427 -55.876 -56.1273 -56.3658 -56.7958 -57.2729 -57.7253 -57.9981 -58.4489 -58.7652 -58.5676 -58.4751 -58.3022 -58.0108 -57.9343 -58.0253 -58.4828 -58.8518 -59.4961 -60.113 -60.3827 -60.587 -60.8426 -60.9907 -60.9679 -60.685 -60.8002 -60.8083 -60.7844 -61.254 -61.8946 -62.95 -64.4322 -65.7897 -66.9582 -68.1739 -68.7166 -68.9226 -68.7015 -68.2914 -67.4931 -66.7914 -66.2666 -65.9021 -65.9485 -66.034 -66.7465 -67.7548 -68.5372 -69.5835 -70.4122 -71.082 -71.7645 -72.0596 -72.6835 -73.1541 -73.0867 -72.4507 -70.7924 -68.3689 -65.9618 -64.3982 -64.4468 -66.543 -70.0909 -74.0018 -76.8143 -76.405", + "breathiness_timestep": "0.011609977324263039" + }, + { + "offset": 178.924, + "text": "SP AP 问 来 人 胸 襟 谁 似 我 将 日 月 山 海 一 并 笑 纳 SP", + "ph_seq": "SP AP w en l ai r en x iong j in sh ui s i0 w o j iang r ir y ve sh an h ai y i b ing x iao n a SP", + "ph_dur": "0.095 0.4 0.105 0.178 0.06 0.163 0.075 0.386 0.09 0.193 0.045 0.163 0.075 0.372 0.105 0.401 0.075 0.639 0.075 0.163 0.075 0.163 0.075 0.163 0.075 0.178 0.06 0.179 0.06 0.193 0.045 0.163 0.075 0.178 0.06 1.19 0.285", + "ph_num": "1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest rest B3 A3 B3 B3 A3 B3 D4 B3 B3 B3 A3 G3 G3 E3 G3 A3 G3 B3 rest", + "note_dur": "0.2 0.4 0.238 0.238 0.476 0.238 0.238 0.477 0.238 0.238 0.714 0.238 0.238 0.238 0.238 0.239 0.238 0.238 0.238 1.19 0.285", + "note_slur": "0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "184.9 186.0 186.0 185.9 186.0 185.8 186.2 186.5 186.4 186.7 186.1 187.0 186.5 186.9 186.8 186.5 186.5 186.5 186.6 186.6 186.4 186.8 186.8 186.8 186.6 186.9 186.7 187.0 187.1 187.0 187.5 187.5 187.3 187.4 187.5 187.1 187.2 187.3 187.6 187.4 187.4 187.3 187.1 187.1 187.2 187.0 186.9 187.3 186.9 187.6 188.9 190.3 191.9 195.3 199.8 203.9 210.1 215.2 227.3 235.3 241.6 245.8 247.8 248.2 248.6 247.6 244.6 241.2 237.2 233.8 230.4 228.0 226.1 221.4 218.7 218.5 220.0 220.7 221.4 221.9 221.7 220.9 219.5 218.9 219.0 218.6 218.2 217.9 217.8 218.9 218.8 218.9 220.6 220.8 221.8 221.8 221.9 220.7 219.2 217.5 217.0 216.6 217.4 219.7 224.2 232.1 239.2 244.6 249.1 249.7 249.6 249.2 247.7 246.8 245.6 245.3 247.5 248.5 248.7 248.0 249.1 249.1 248.2 245.0 240.9 233.9 234.1 240.5 245.9 252.4 258.8 266.7 274.5 285.0 272.1 267.2 265.5 262.5 256.2 252.3 249.5 248.0 246.8 247.8 249.6 250.8 251.0 249.2 245.0 238.1 226.6 216.8 214.4 215.5 218.9 218.7 218.5 218.9 220.0 221.1 221.4 222.1 222.1 222.0 222.3 222.2 221.1 217.9 213.3 213.0 223.6 234.4 246.0 257.6 271.7 266.3 259.7 257.3 254.3 251.5 248.7 245.3 242.2 237.2 234.2 233.0 236.4 241.6 247.3 251.6 255.0 256.4 255.8 254.3 251.6 248.3 247.6 246.7 248.5 248.6 249.0 249.6 250.4 250.8 249.5 246.2 250.3 254.2 261.3 267.8 274.8 282.0 290.2 300.6 310.7 325.2 325.8 316.7 312.5 310.6 306.1 301.8 296.6 293.1 290.3 289.8 290.2 291.6 292.1 293.0 292.5 292.9 288.3 283.8 275.4 263.7 255.1 248.7 243.8 241.8 242.2 243.6 245.4 248.9 249.9 250.6 250.0 248.9 248.0 247.9 248.2 247.2 245.2 245.6 247.2 247.7 248.3 249.6 250.2 249.4 249.5 249.7 248.9 246.8 244.2 243.2 243.4 243.5 244.1 246.0 246.9 249.5 250.5 252.0 253.1 253.6 253.1 251.3 247.4 243.8 240.4 237.2 236.3 237.4 240.3 243.8 246.3 249.7 254.5 258.6 261.8 263.3 261.2 256.6 251.8 244.3 242.7 240.6 239.8 243.3 244.9 246.9 251.6 255.1 257.7 260.1 261.7 259.5 255.1 249.0 238.9 241.1 242.9 247.0 251.7 256.5 260.8 264.9 268.2 264.2 256.5 253.6 251.3 247.9 245.6 244.4 243.6 244.3 245.0 245.8 247.7 249.4 249.1 245.3 239.1 233.6 227.9 223.2 219.8 219.2 219.5 220.0 220.7 220.1 220.6 219.7 219.1 219.1 218.3 216.8 216.7 218.0 215.7 213.2 208.1 203.2 196.3 192.8 189.9 190.1 192.2 193.9 195.6 196.1 196.3 196.7 196.5 195.3 193.1 194.2 194.9 192.0 184.0 186.3 190.8 194.4 198.6 202.4 207.0 209.3 211.0 203.8 199.3 197.6 196.0 195.8 195.1 194.9 195.6 197.5 198.6 196.9 194.0 189.4 183.8 178.4 174.5 172.2 170.5 170.4 168.6 164.3 162.8 162.7 164.2 164.8 164.9 165.2 165.5 165.4 165.8 165.8 164.5 165.1 165.8 165.8 167.9 170.2 173.2 177.8 183.8 190.6 193.5 196.3 197.8 197.7 197.2 195.8 194.8 195.5 196.4 196.3 195.1 193.8 188.6 190.0 189.2 195.6 206.0 215.6 224.9 231.9 226.1 224.7 223.6 221.7 220.8 220.2 218.8 219.0 219.7 219.5 218.7 214.5 210.1 203.8 203.0 202.3 202.4 202.4 201.7 203.6 195.1 193.8 191.5 191.2 191.8 193.3 195.1 195.8 196.2 197.3 198.5 199.3 200.7 201.5 200.1 198.8 198.2 199.9 201.7 204.7 210.1 214.1 217.7 219.6 220.9 221.0 220.7 220.6 220.4 220.1 220.8 221.3 221.8 222.1 222.6 222.5 221.8 222.9 226.4 234.5 244.6 252.4 257.5 258.2 257.4 254.5 250.0 245.5 242.2 239.7 240.0 242.6 246.9 251.8 255.5 257.5 258.9 257.8 254.5 250.3 245.3 241.1 236.9 236.0 236.1 239.9 244.5 248.5 250.0 251.9 253.3 253.9 254.1 252.6 250.6 248.2 244.7 241.3 238.6 237.2 239.1 240.9 242.9 245.5 248.4 252.3 255.8 257.0 256.9 255.0 252.2 248.0 243.8 239.8 237.2 235.6 236.8 239.7 244.4 248.7 253.1 256.4 258.7 259.0 256.7 253.9 249.6 245.4 240.8 237.4 235.8 238.7 242.2 245.4 248.9 255.9 260.5 260.2 257.4 251.0 248.7 247.8 245.8 240.2 234.1 232.8 232.9 232.8 233.4 233.6 234.3 235.0 235.4 235.2 234.5 234.0 233.6 233.4 233.2 233.2 234.2 234.0 234.2 233.9 234.2 232.9 233.6 234.4", + "f0_timestep": "0.011609977324263039", + "energy": "-76.4803 -74.1881 -71.9449 -69.7725 -68.0731 -65.8974 -64.108 -61.7049 -59.3436 -56.7672 -54.0908 -51.9865 -50.2804 -48.9903 -48.3801 -47.8988 -47.5232 -47.3454 -47.281 -47.1253 -47.0304 -46.9543 -47.1495 -47.1563 -47.1126 -47.3549 -47.4221 -47.6069 -48.1689 -48.3781 -49.0648 -49.5202 -50.1657 -50.883 -51.6702 -52.0739 -53.0044 -53.8405 -54.6326 -55.3228 -56.1229 -56.3964 -56.3624 -54.6938 -51.7983 -47.6572 -42.7577 -37.4548 -32.9558 -28.8818 -25.9969 -24.983 -24.7743 -24.4005 -24.6627 -24.8791 -24.9547 -24.9938 -25.0233 -24.979 -24.6522 -24.7093 -24.1299 -23.8499 -23.3681 -22.9971 -22.6691 -22.5467 -22.1732 -21.8149 -21.5914 -21.2087 -20.7313 -20.3434 -20.0235 -19.6846 -19.531 -19.6412 -19.7507 -19.7601 -19.8783 -19.6979 -20.0207 -20.0873 -20.4403 -20.7209 -20.8992 -21.545 -21.716 -21.9278 -21.7292 -21.1271 -20.5626 -20.2719 -19.7563 -19.5211 -19.5135 -19.72 -20.3437 -20.8593 -21.7062 -22.4718 -23.2958 -23.9644 -24.5355 -24.4708 -24.5362 -23.9118 -23.487 -22.865 -22.7874 -22.4138 -22.3944 -22.4643 -22.3717 -22.1103 -21.8761 -22.1798 -21.735 -21.7306 -21.5833 -21.8729 -22.5187 -23.6383 -25.4967 -27.4617 -29.9148 -32.1059 -33.4689 -33.7025 -32.6601 -30.4412 -27.8534 -25.0664 -22.8213 -20.9854 -20.4302 -20.2074 -20.2051 -20.4312 -20.4113 -20.8379 -20.7877 -21.1019 -21.2269 -21.4679 -21.6728 -22.575 -23.3292 -24.6015 -25.8857 -26.8433 -27.1245 -27.169 -26.2395 -24.945 -23.5481 -22.2126 -21.5969 -21.0673 -20.9705 -20.8153 -20.9743 -21.1327 -21.5478 -22.1359 -23.3113 -24.9239 -27.0372 -29.1008 -30.7629 -31.2494 -30.8672 -28.9856 -26.6138 -24.0412 -22.04 -20.5559 -20.0317 -19.809 -19.9851 -20.3103 -20.576 -21.3791 -21.4818 -21.9677 -21.8857 -21.6033 -21.5382 -21.2198 -20.841 -20.7643 -20.3861 -20.2474 -20.1821 -20.1847 -20.2871 -20.2149 -20.2928 -20.4522 -20.8652 -21.3222 -22.0802 -23.3418 -24.9267 -26.8709 -28.5725 -30.4175 -31.8761 -33.1745 -33.8073 -33.6453 -32.2171 -30.6885 -28.3136 -25.7754 -23.3279 -21.081 -19.7529 -19.0396 -18.6202 -18.4822 -18.6392 -18.6834 -18.6603 -18.7964 -18.6739 -18.6724 -18.4645 -18.4301 -18.4638 -18.4982 -18.537 -18.4764 -18.4334 -18.3356 -18.2803 -18.1033 -18.1371 -17.9306 -17.8419 -17.8384 -17.8646 -17.9726 -17.915 -17.9138 -17.8775 -18.1386 -18.3985 -18.6352 -18.9428 -19.1726 -19.324 -19.5563 -19.4053 -19.3697 -18.8496 -18.617 -18.4033 -18.3703 -18.224 -18.3203 -18.4476 -18.7866 -18.8123 -18.8551 -18.9144 -18.7922 -18.7558 -18.8131 -18.7339 -18.6672 -18.6933 -18.528 -18.3945 -18.4258 -18.5426 -18.5772 -18.7546 -18.7901 -18.8186 -18.743 -18.7993 -18.9322 -18.917 -19.15 -18.9699 -19.1364 -19.0904 -18.7602 -18.5996 -18.7627 -18.7542 -18.7103 -19.0671 -19.0397 -19.1341 -19.2884 -19.4387 -19.547 -19.5723 -19.3804 -19.5543 -19.376 -19.3259 -19.5443 -19.973 -20.9044 -22.9178 -25.3868 -28.0636 -30.6888 -33.2259 -34.799 -34.647 -33.2665 -31.2328 -28.391 -25.5966 -23.5244 -21.8741 -20.9703 -20.8434 -21.2805 -21.9999 -22.4968 -23.1702 -23.3677 -23.8069 -23.7784 -23.7074 -23.4813 -23.5779 -23.5823 -23.6 -23.64 -23.737 -23.5533 -23.3895 -23.1692 -22.8545 -22.5987 -22.5429 -22.413 -22.2649 -22.4692 -22.3146 -22.1592 -22.062 -21.828 -21.9074 -21.8632 -22.117 -22.3493 -22.4544 -22.6188 -22.5779 -22.7035 -22.474 -22.3258 -22.1479 -22.0248 -21.9836 -21.726 -21.7228 -21.7994 -21.9933 -22.1707 -22.4221 -23.1519 -24.2328 -25.5323 -27.353 -29.3506 -31.2187 -32.2485 -32.1045 -31.3439 -29.6054 -27.4999 -25.6585 -23.7323 -22.6122 -22.1936 -22.1089 -22.3038 -22.455 -22.7959 -22.8677 -23.1914 -23.2225 -23.4443 -23.989 -24.8338 -26.4939 -28.1768 -29.6186 -30.4915 -30.1597 -29.3202 -27.8018 -25.885 -24.2312 -23.2074 -22.7059 -22.504 -22.5099 -22.4315 -22.4254 -22.4485 -22.4724 -22.7112 -22.792 -23.2939 -24.066 -24.6864 -25.2935 -25.6684 -25.588 -25.4886 -24.835 -24.4397 -24.1222 -23.6871 -23.4449 -23.3253 -23.3235 -23.0137 -22.9362 -23.0877 -23.4737 -24.0838 -25.4205 -27.8104 -30.2956 -32.9319 -34.1077 -34.1491 -32.6644 -30.3222 -26.932 -23.8386 -21.4279 -20.391 -19.7264 -19.9794 -20.0024 -20.2095 -20.4789 -20.6681 -20.9308 -21.1992 -21.625 -22.8026 -24.318 -26.3903 -28.5432 -30.2543 -30.7451 -30.2035 -28.6108 -26.4219 -24.2484 -22.2834 -21.0527 -20.536 -20.1404 -20.2941 -20.2676 -20.5593 -20.4646 -20.7533 -20.8644 -20.9387 -21.2692 -21.2075 -21.4959 -21.681 -21.9025 -21.8045 -21.7371 -21.551 -21.2036 -21.0698 -20.4847 -20.0346 -19.7845 -19.413 -19.1818 -19.0903 -18.8467 -18.8162 -19.0698 -19.1493 -19.6378 -19.9812 -20.9246 -21.8466 -23.0456 -23.699 -24.0048 -23.9894 -23.5209 -22.8548 -22.0444 -21.5965 -21.2899 -20.9737 -21.1697 -21.2792 -21.5315 -21.5084 -21.5421 -21.548 -21.3871 -20.9863 -20.883 -20.5553 -20.0815 -20.0597 -19.8196 -19.9315 -19.7401 -19.707 -19.4731 -19.5972 -19.4945 -19.4614 -19.4544 -19.5272 -19.3945 -19.3224 -19.2491 -18.9904 -19.0423 -19.1042 -19.3749 -19.4669 -19.6225 -19.971 -20.1303 -20.6502 -20.5865 -20.8774 -20.787 -20.8709 -20.5058 -20.4452 -20.1147 -20.029 -19.9594 -20.1875 -20.4082 -20.7499 -21.563 -22.1715 -23.0446 -23.6267 -24.1906 -24.5263 -24.6301 -24.4916 -24.3864 -24.2168 -24.3422 -24.4351 -24.7656 -25.2126 -25.8666 -26.415 -26.8021 -27.4191 -28.1313 -28.8364 -29.4004 -29.9155 -30.7535 -31.2915 -31.6659 -31.8283 -31.6425 -31.6587 -31.7789 -32.4339 -33.7483 -35.7378 -39.2081 -43.0256 -47.3689 -51.6667 -55.6772 -58.8853 -61.1114 -62.5067 -63.1716 -63.6207 -63.6917 -64.0444 -63.6742 -63.8713 -64.1035 -64.3445 -64.8273 -65.3167 -65.8874 -66.4361 -66.626 -65.5164 -64.2005 -60.0927", + "energy_timestep": "0.011609977324263039", + "breathiness": "-78.1818 -78.1244 -75.4093 -72.5085 -69.0397 -65.8042 -63.0818 -60.3167 -57.5902 -54.5568 -52.4682 -50.9081 -50.1102 -49.2192 -48.4593 -48.1081 -47.5306 -47.0774 -46.8129 -46.7442 -46.7947 -47.1323 -47.1343 -47.2998 -47.066 -47.3803 -47.4118 -47.5881 -47.8316 -48.2337 -48.7844 -49.2833 -49.9001 -50.5878 -51.3516 -51.9518 -52.8143 -53.6101 -54.5934 -55.7136 -57.3505 -58.7766 -60.3951 -61.8727 -62.8819 -63.6134 -63.7036 -63.4792 -62.7811 -62.1588 -61.1369 -59.9944 -58.6298 -57.0638 -55.7214 -54.652 -54.2268 -54.1925 -54.826 -55.9429 -56.8744 -57.6281 -58.737 -59.4037 -59.8977 -60.4118 -60.5846 -60.2415 -59.9048 -58.8133 -57.5131 -55.979 -54.3428 -52.7892 -51.7913 -51.2893 -51.0899 -51.1313 -51.4614 -51.9319 -52.6013 -53.3461 -53.9916 -54.4299 -54.8203 -55.0317 -54.8979 -54.6638 -54.4507 -54.1877 -53.9638 -53.4469 -52.7679 -52.2215 -51.4791 -51.0295 -50.5569 -50.6573 -50.7535 -51.5615 -52.3081 -53.2052 -54.0347 -55.0982 -56.0723 -57.1725 -58.3067 -59.479 -60.5737 -61.5878 -62.398 -63.1659 -63.501 -63.6509 -63.505 -63.4217 -63.0202 -62.9463 -62.0377 -61.4273 -59.9722 -57.8671 -54.6039 -50.9267 -47.0615 -43.1992 -40.0237 -37.8205 -36.5904 -36.3394 -36.6371 -37.7803 -40.1009 -42.9083 -46.4688 -49.5826 -52.9272 -55.6476 -57.8655 -59.0042 -60.1083 -60.9384 -61.4136 -61.7124 -61.7259 -61.781 -61.5384 -59.9651 -57.4946 -54.4557 -50.9946 -47.3438 -44.6495 -43.6011 -44.2951 -46.2098 -48.6924 -51.5899 -54.5625 -56.8615 -58.6604 -59.8133 -60.522 -60.1803 -58.4805 -55.1758 -51.1387 -47.1977 -43.1682 -39.7849 -37.5887 -36.7485 -37.4808 -39.3047 -42.1586 -45.0448 -48.0409 -50.2921 -51.9821 -52.9456 -53.2873 -53.3517 -53.5213 -53.6344 -53.5928 -53.5681 -53.2527 -52.9454 -52.653 -52.6728 -52.7685 -53.1468 -53.3652 -53.5451 -53.8029 -54.0117 -54.2409 -54.6656 -54.7678 -54.7834 -53.9478 -51.8168 -48.8845 -45.2466 -41.3029 -37.6629 -35.0832 -33.5735 -33.3595 -33.5156 -33.9733 -35.0622 -35.8469 -37.7611 -40.35 -43.5329 -46.7873 -49.8078 -52.4208 -53.9703 -54.8843 -55.4116 -55.7419 -56.2163 -56.7118 -57.2601 -57.4189 -57.3785 -57.2483 -56.7607 -56.1263 -55.2687 -54.4859 -53.698 -53.0093 -52.6241 -52.2814 -52.2204 -52.9374 -53.521 -54.4388 -55.2512 -56.2003 -56.619 -57.2082 -57.5226 -57.9361 -58.3285 -58.534 -58.6804 -59.0904 -59.3678 -59.7535 -59.7398 -59.8308 -59.7591 -59.5242 -59.2385 -58.9119 -58.5273 -58.2365 -57.93 -57.9679 -57.7441 -57.6519 -57.4569 -57.0665 -56.2646 -55.4334 -54.8767 -54.3481 -54.1223 -54.1506 -54.453 -54.6246 -54.983 -55.0484 -55.1493 -54.9581 -54.6567 -54.4278 -54.1654 -53.8354 -53.9953 -54.365 -54.6342 -55.1707 -55.5209 -55.8852 -55.9933 -55.8404 -55.5439 -55.2827 -54.7358 -54.4333 -54.278 -54.3119 -54.2198 -54.3296 -54.3828 -54.4953 -54.3304 -54.2934 -54.3854 -54.4226 -54.1667 -53.6314 -52.2703 -50.5667 -48.2789 -45.5048 -42.8504 -40.347 -38.3914 -37.5867 -37.4267 -38.5421 -40.4455 -42.8235 -45.5658 -47.9663 -50.221 -51.7675 -52.9157 -54.0889 -55.317 -56.5062 -57.8564 -58.8975 -59.6164 -60.2486 -60.4546 -60.4762 -60.2135 -59.8211 -59.1954 -58.6816 -58.4619 -58.2976 -58.6103 -58.6466 -59.0158 -58.9512 -58.9854 -58.8711 -58.793 -58.8333 -58.8602 -58.9497 -59.0468 -59.0111 -58.6143 -58.0828 -57.3806 -56.5504 -55.9994 -55.5908 -55.4114 -55.2307 -55.3207 -55.3542 -55.312 -55.2368 -55.2264 -55.343 -55.4957 -55.7079 -55.6795 -55.3894 -54.1099 -51.8845 -48.979 -45.591 -42.2227 -39.4463 -37.784 -37.4725 -38.8769 -41.0073 -44.0997 -47.2428 -50.3296 -52.9358 -55.0165 -56.4888 -57.5336 -58.7864 -60.1476 -61.3791 -62.4195 -63.4402 -64.3188 -64.2399 -63.1793 -61.3914 -58.4833 -55.0799 -51.4123 -48.332 -46.6452 -46.2451 -46.8542 -48.1223 -49.4364 -50.513 -51.2638 -51.547 -51.8177 -52.1546 -52.0686 -52.5938 -53.0469 -53.7074 -54.0246 -54.5147 -54.6298 -54.4007 -54.0237 -53.1499 -53.0448 -53.0129 -52.981 -53.4219 -53.6396 -54.2015 -54.5671 -54.8821 -55.1782 -55.5116 -56.1803 -56.5694 -57.3373 -57.7849 -57.8148 -57.5688 -56.8799 -55.9119 -54.7768 -53.7355 -53.2159 -53.2719 -53.9308 -54.7914 -55.8802 -56.972 -57.8392 -58.5484 -59.183 -59.7883 -59.8595 -59.0887 -57.5693 -54.9024 -51.3949 -47.5745 -43.8534 -40.7366 -38.6519 -38.2834 -38.8065 -40.2914 -42.4788 -44.6989 -46.7535 -48.6703 -50.1569 -50.9455 -51.7563 -52.5524 -53.3445 -54.768 -55.8896 -56.8651 -58.0633 -58.9601 -60.2228 -61.0722 -61.6551 -61.7667 -60.907 -59.7314 -58.5135 -56.9594 -55.5614 -54.9111 -54.4441 -54.2624 -54.2123 -54.4566 -54.4133 -54.5771 -54.667 -54.6572 -54.6197 -54.6601 -54.252 -54.1764 -54.0497 -54.005 -53.9306 -53.8554 -53.9037 -53.8599 -53.6291 -53.585 -53.2215 -53.2866 -53.3434 -53.5176 -53.6834 -53.8862 -54.181 -54.2164 -54.0892 -54.1336 -54.4411 -54.1842 -54.038 -53.7786 -53.2559 -52.6713 -52.166 -51.8058 -51.4477 -51.1772 -50.978 -50.9342 -51.1218 -51.6607 -52.0859 -52.7485 -53.3102 -53.8472 -54.0995 -54.2121 -54.1918 -53.7853 -53.7913 -53.6537 -53.5543 -53.8632 -54.2226 -54.8595 -55.309 -55.6157 -55.9752 -56.2484 -56.1797 -55.9016 -55.9121 -55.3761 -55.0827 -54.9089 -54.8527 -54.8489 -55.5055 -56.327 -57.3791 -58.3389 -59.1443 -59.4799 -59.6425 -59.6033 -59.7216 -59.8723 -60.1654 -60.5613 -61.007 -61.7655 -62.4402 -63.2275 -64.028 -64.9135 -65.5403 -66.5316 -67.3212 -68.0684 -68.7509 -69.5067 -70.1903 -70.7113 -70.6252 -69.4864 -66.8983 -63.8664 -60.1268 -57.1636 -54.9689 -54.6308 -56.0423 -58.6322 -61.4639 -64.0186 -66.312 -67.9369 -68.6946 -69.6934 -70.4881 -71.4238 -72.0245 -72.6338 -73.2851 -74.023 -74.7375 -75.202 -75.5827 -75.705 -75.2892 -74.4175 -71.7642", + "breathiness_timestep": "0.011609977324263039" + }, + { + "offset": 185.81, + "text": "AP 只 姓 名 SP", + "ph_seq": "AP zh ir x ing m ing SP", + "ph_dur": "0.305 0.075 0.164 0.075 0.178 0.06 0.952 0.095", + "ph_num": "2 2 2 1 1", + "note_seq": "rest B3 D4 E4 rest", + "note_dur": "0.38 0.239 0.238 0.952 0.095", + "note_slur": "0 0 0 0 0", + "f0_seq": "295.2 295.9 295.9 295.6 295.8 295.9 295.7 295.3 294.9 295.7 295.4 295.6 295.1 295.7 295.8 295.9 295.3 295.7 295.4 295.6 295.0 294.3 294.5 293.9 292.9 291.9 289.9 288.5 286.4 284.5 282.2 278.7 274.8 262.1 253.3 249.1 246.8 245.4 246.3 247.1 248.6 249.4 249.7 249.5 247.1 242.4 232.7 240.3 248.4 258.2 267.4 277.8 287.8 296.5 297.0 293.4 294.6 295.5 296.5 295.0 294.3 293.1 293.0 293.1 292.0 293.0 293.0 292.3 291.1 291.3 292.5 293.6 296.3 297.2 296.7 296.6 297.9 300.2 299.7 300.0 299.9 299.1 298.1 297.6 297.2 296.7 299.9 303.7 310.4 320.5 331.9 339.3 342.8 342.4 340.0 335.8 330.9 327.0 324.7 323.7 324.2 326.6 327.9 331.1 334.1 336.0 337.1 336.4 334.7 329.3 325.1 321.4 318.3 318.8 322.6 328.2 332.1 336.5 338.5 338.9 339.4 336.3 333.0 329.3 326.7 324.6 322.7 323.6 325.7 328.8 330.7 332.7 334.6 334.9 332.2 328.5 326.5 326.6 327.8 329.0 328.7 326.3 326.7 328.2 330.2 335.0 339.9 338.9 336.6 332.9 330.1 328.9 326.5 324.9 316.2 306.2 298.4 295.0 292.3 290.7 290.5 290.5 288.5 294.5", + "f0_timestep": "0.011609977324263039", + "energy": "-65.6936 -64.1165 -61.8608 -59.1117 -56.2734 -53.7117 -51.7337 -50.1927 -49.1277 -48.5202 -48.0763 -47.8974 -47.9735 -47.6198 -47.8233 -48.0748 -48.615 -49.4552 -50.4729 -51.9191 -53.0641 -54.1557 -54.7004 -54.8213 -53.7267 -51.9302 -49.4445 -46.2532 -43.064 -39.074 -35.2739 -31.6305 -28.0661 -25.2404 -22.8907 -21.1795 -20.3331 -19.9744 -19.6711 -19.5708 -19.9292 -20.4001 -20.9468 -21.9161 -23.2659 -24.9649 -27.2879 -29.2312 -30.9996 -31.4933 -31.1093 -29.3397 -27.6426 -25.1181 -23.0249 -21.4669 -20.6255 -20.2145 -20.2651 -20.1956 -20.1555 -20.1137 -20.1254 -19.8942 -19.8132 -19.8069 -19.6163 -19.702 -19.6669 -19.4871 -19.2518 -19.4362 -18.8438 -18.4695 -18.2431 -18.0827 -17.8583 -17.863 -17.6752 -17.6793 -17.7732 -18.2192 -18.4294 -18.8381 -19.4614 -19.94 -20.3568 -20.5205 -20.9277 -20.9542 -20.8452 -20.7463 -20.6057 -20.3279 -20.2072 -20.1497 -19.9121 -19.8915 -19.9019 -19.8162 -19.841 -19.8356 -19.8754 -19.6348 -19.3879 -19.1903 -18.9705 -18.6884 -18.6024 -18.4858 -18.7381 -18.8664 -19.1068 -19.3255 -19.3572 -19.5448 -19.4845 -19.4225 -19.2277 -18.982 -18.5051 -18.6845 -18.3903 -18.6543 -18.5381 -18.5956 -19.0494 -19.0499 -19.132 -19.2484 -19.2577 -19.3348 -19.2345 -19.1962 -19.2903 -19.4134 -19.7511 -19.9864 -20.0692 -20.4069 -20.5011 -20.7654 -21.112 -21.2013 -21.3546 -21.6452 -21.9111 -22.0996 -22.207 -22.4381 -22.7393 -23.4445 -23.994 -25.287 -27.2293 -30.0918 -33.539 -37.51 -41.5952 -44.4387 -46.7366 -47.416 -47.6757 -46.8313", + "energy_timestep": "0.011609977324263039", + "breathiness": "-66.941 -65.2751 -61.8759 -58.5357 -55.1205 -52.4144 -50.0784 -48.238 -47.3525 -46.8891 -46.7175 -46.9523 -46.8454 -46.9053 -47.2264 -47.5457 -48.1535 -48.6014 -49.8067 -51.2123 -53.0606 -55.1153 -57.0827 -58.1457 -57.9052 -56.4726 -53.5506 -49.9815 -46.2065 -42.812 -40.9738 -40.5656 -41.7063 -44.1327 -46.7942 -49.633 -51.9183 -53.6398 -54.3422 -54.149 -53.6252 -52.478 -50.8283 -48.6732 -45.9712 -42.9305 -39.9088 -37.5222 -35.6419 -34.4987 -34.5527 -35.2493 -37.4419 -40.3072 -43.707 -47.1299 -50.5397 -53.0372 -55.0333 -56.5265 -57.9093 -59.2774 -60.3205 -61.4582 -62.2752 -62.9347 -63.2716 -63.2675 -62.9472 -62.1196 -60.8909 -59.5713 -58.2057 -56.7617 -55.5844 -54.9686 -54.4375 -54.5457 -54.6067 -54.9652 -55.3219 -55.7358 -56.2353 -56.8656 -57.0774 -57.2644 -57.4077 -57.2591 -57.202 -56.9606 -56.7067 -56.2036 -56.2817 -55.964 -55.8317 -55.6485 -56.0069 -56.2409 -56.4861 -56.8487 -56.9072 -57.1159 -57.1744 -57.2575 -57.0432 -56.8923 -56.7725 -56.4194 -56.3117 -56.3343 -56.4219 -56.6564 -56.8924 -57.0033 -57.1003 -57.2658 -57.2106 -57.225 -57.2246 -57.2284 -57.1066 -56.8937 -56.6225 -56.3409 -55.5657 -55.2508 -54.6788 -54.4223 -54.5767 -54.9153 -55.8798 -56.655 -57.2554 -57.7618 -57.9494 -57.7169 -57.7653 -57.4731 -57.2437 -57.6417 -58.0449 -58.6862 -59.359 -60.0536 -60.6791 -61.3507 -61.9044 -62.3039 -62.5017 -62.4754 -62.3056 -61.4436 -59.8915 -57.6885 -55.1941 -52.7484 -51.0631 -50.0122 -50.2367 -52.1136 -54.7472 -57.1693 -59.6786 -62.2043", + "breathiness_timestep": "0.011609977324263039" + }, + { + "offset": 187.715, + "text": "AP 不 作 答 AP 转 身 向 云 外 寄 生 涯 SP", + "ph_seq": "AP b u z uo d a AP zh uan sh en x iang y vn w ai j i sh eng y a SP", + "ph_dur": "0.335 0.045 0.178 0.06 0.178 0.06 0.953 0.163 0.075 0.163 0.075 0.163 0.075 0.163 0.075 0.579 0.135 0.164 0.075 0.371 0.105 0.163 0.075 0.952 0.095", + "ph_num": "2 2 2 1 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest D4 E4 A3 rest B3 A3 B3 D4 B3 A3 B3 G3 rest", + "note_dur": "0.38 0.238 0.238 0.953 0.238 0.238 0.238 0.238 0.714 0.239 0.476 0.238 0.952 0.095", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "207.9 208.6 208.4 208.6 208.9 209.4 208.9 208.9 208.9 208.3 208.4 208.4 208.5 208.2 208.2 208.3 208.2 207.9 207.9 208.2 208.1 208.3 208.0 208.1 208.5 207.8 207.7 207.4 207.3 207.0 206.9 206.5 207.5 212.3 227.4 242.8 256.7 268.8 282.9 290.8 296.1 298.9 299.0 296.0 294.2 292.3 287.4 276.6 269.8 279.5 290.4 300.4 312.7 325.3 327.5 330.0 330.5 332.6 334.0 335.4 335.2 332.0 326.4 321.5 316.1 304.1 279.2 268.5 259.6 249.8 240.1 230.6 222.4 213.1 208.8 209.9 213.5 218.6 222.0 223.4 221.7 218.6 214.1 209.8 206.1 204.2 202.3 203.9 210.1 217.6 224.0 228.4 229.3 228.8 226.4 220.7 214.1 208.4 205.3 205.2 208.4 213.3 217.7 222.1 227.3 230.3 231.0 230.4 227.0 222.2 216.3 211.4 208.9 208.0 209.9 213.9 218.9 225.3 229.8 232.5 233.6 232.4 226.8 218.4 210.6 204.4 202.3 202.0 206.5 211.8 218.0 225.8 231.7 234.6 235.4 234.4 231.1 222.3 212.0 202.0 198.5 199.5 204.7 213.3 223.6 234.6 242.9 246.2 245.6 238.7 225.6 211.1 192.8 190.6 188.8 187.6 186.7 186.4 186.0 186.1 186.0 185.8 185.6 185.0 183.2 182.2 180.8 180.4 180.8 179.8 179.3 177.9 177.1 176.6 175.2 174.2 173.6 174.8 181.1 189.8 197.7 204.0 215.2 226.6 237.6 246.5 250.1 248.9 246.0 241.3 232.1 222.6 225.5 226.1 228.2 231.9 234.5 230.7 225.0 222.1 217.8 216.9 216.6 218.2 218.7 219.1 219.4 218.7 217.1 214.0 208.8 214.9 221.3 227.9 233.5 240.0 247.3 256.0 255.6 248.0 247.0 246.3 245.4 245.5 245.4 244.2 245.1 245.8 247.4 248.5 249.8 248.3 245.6 241.7 244.5 248.9 256.4 258.4 259.3 260.2 261.1 261.9 261.8 261.9 261.6 261.4 261.1 261.4 260.6 261.0 262.1 266.1 271.3 280.4 288.7 297.4 302.8 304.9 304.1 302.3 299.1 295.2 290.8 288.6 286.0 284.5 285.1 287.4 291.4 296.0 300.1 302.0 300.5 300.2 299.4 296.9 293.7 290.5 286.4 284.6 284.3 284.9 287.0 288.5 290.6 294.7 298.8 301.0 298.0 292.3 288.6 282.5 275.1 268.2 261.3 257.0 252.0 250.5 247.6 246.6 248.6 247.0 247.0 247.9 247.9 247.6 246.3 246.6 246.7 245.3 242.1 239.2 232.5 225.0 217.3 214.2 213.0 211.8 211.0 210.3 210.9 213.6 216.9 218.3 218.4 218.4 217.4 217.2 218.1 217.9 219.2 217.2 218.4 217.7 218.5 218.2 217.9 218.8 219.3 221.1 220.7 220.6 220.6 220.4 219.6 220.0 220.0 220.3 220.7 219.9 214.3 206.6 212.7 218.9 226.2 233.3 240.4 247.9 254.7 262.9 270.8 259.5 253.4 249.0 246.9 246.0 245.9 246.2 247.3 247.1 247.4 247.3 246.0 243.3 237.8 229.5 216.7 203.2 192.1 184.3 181.7 184.3 188.3 191.0 194.5 195.5 197.2 198.0 197.6 196.2 194.3 193.2 191.9 191.1 192.4 194.3 196.8 199.5 202.6 204.3 206.2 206.0 202.8 196.5 190.6 186.4 184.8 184.6 187.1 190.5 195.0 199.2 203.2 206.1 207.0 206.6 204.1 199.1 192.9 186.4 182.1 181.8 182.9 187.8 193.7 199.7 203.9 206.7 207.7 207.4 205.1 200.6 194.7 187.9 182.2 179.9 180.5 182.7 187.0 192.5 197.2 200.5 202.2 203.6 203.4 201.1 197.0 191.6 184.6 181.7 180.7 182.8 187.9 193.1 197.2 199.3 200.1 201.9 202.4 202.0 198.6 195.3 194.0 193.8 193.3 191.5 189.3 188.4 187.6 186.7 186.1 186.8", + "f0_timestep": "0.011609977324263039", + "energy": "-53.2531 -51.7005 -50.9627 -49.4958 -48.3281 -46.9597 -45.6972 -44.7957 -43.7735 -42.7082 -41.9532 -41.6578 -41.74 -41.9425 -42.288 -42.9107 -43.3441 -44.2659 -45.0433 -46.2902 -47.493 -48.8676 -50.4702 -52.0036 -53.5796 -54.2219 -53.6242 -51.4436 -47.2846 -42.3364 -36.3207 -31.0863 -27.1264 -24.2873 -23.0286 -22.6905 -22.4303 -22.6605 -22.6883 -22.4928 -22.3443 -22.4572 -22.571 -23.285 -23.9599 -25.7305 -27.9518 -30.3282 -32.4733 -33.5374 -33.5337 -32.3455 -30.2113 -27.3543 -25.2548 -23.1857 -21.8475 -21.2035 -21.0344 -20.775 -20.5328 -20.846 -21.244 -22.0946 -24.1311 -26.9603 -30.1132 -33.0613 -34.9887 -35.8851 -35.1443 -33.1307 -30.4902 -27.9821 -25.6756 -24.0984 -23.2916 -22.8452 -22.5797 -22.2801 -22.3595 -22.1006 -22.2113 -22.4578 -22.3534 -22.3263 -22.6584 -22.9528 -23.1395 -23.2383 -23.3537 -23.2187 -23.137 -22.9389 -22.8733 -22.7663 -23.0703 -23.3043 -23.7083 -24.0824 -24.3308 -24.4478 -24.377 -24.2574 -24.1532 -23.9034 -23.6876 -23.3763 -23.5147 -23.6365 -23.6636 -24.1647 -24.4176 -24.7202 -25.2188 -25.3488 -25.5496 -25.6988 -25.6392 -25.5913 -25.5893 -25.6484 -25.587 -25.8875 -25.9042 -26.3822 -26.6602 -27.3202 -27.7769 -28.0512 -28.4278 -28.4435 -28.5144 -28.6623 -28.8671 -28.9659 -29.1791 -29.3889 -29.8301 -30.3564 -31.45 -32.4748 -33.26 -33.9357 -34.4186 -34.3378 -34.302 -34.0281 -33.8299 -34.0588 -35.0 -36.8249 -39.4404 -42.4 -45.401 -48.0202 -50.0989 -50.9317 -51.0334 -50.4128 -50.0946 -49.7277 -49.6984 -49.8847 -50.5658 -51.1958 -51.9043 -52.3163 -52.3612 -51.1489 -49.2903 -46.0646 -42.1852 -37.6012 -33.2023 -29.22 -26.0095 -23.8854 -22.3848 -22.042 -22.0461 -22.672 -22.6595 -22.901 -22.7995 -22.984 -22.7497 -23.059 -23.5542 -24.6643 -26.3363 -28.2963 -29.144 -29.9235 -29.3403 -28.1455 -26.0944 -24.0912 -22.2784 -21.2803 -20.8752 -20.71 -20.9059 -21.1803 -21.443 -21.75 -21.9547 -22.8673 -24.0339 -25.6022 -27.676 -29.7843 -31.6956 -32.2197 -31.8912 -30.2311 -27.8206 -25.3725 -23.4234 -21.7768 -20.8043 -20.69 -20.882 -21.1406 -21.4488 -21.7694 -21.5582 -21.6188 -21.5683 -21.207 -21.0736 -21.1705 -21.0445 -21.0452 -20.907 -20.7957 -20.8317 -20.4482 -20.1837 -19.5481 -19.2371 -19.2612 -18.9914 -18.8002 -18.8213 -18.8429 -19.1807 -19.6198 -19.9572 -20.4247 -20.7216 -21.0033 -21.2709 -21.3287 -21.3442 -21.2059 -21.1626 -21.1161 -20.8837 -20.9457 -20.8526 -20.9878 -20.8808 -20.7259 -20.7788 -20.8633 -21.0522 -20.8944 -20.7658 -20.8173 -20.6253 -20.6524 -20.602 -20.624 -20.5796 -20.3093 -20.2532 -20.1464 -20.3114 -20.4681 -20.6588 -20.4327 -20.4711 -20.5082 -20.6072 -20.4651 -20.5988 -20.5216 -20.6479 -20.6796 -20.7062 -20.8622 -20.988 -21.0896 -21.0766 -21.0377 -20.8462 -20.6325 -20.014 -19.4548 -19.0479 -18.8585 -18.6776 -18.413 -18.377 -18.4541 -18.742 -19.2993 -19.798 -20.8205 -22.7516 -25.0437 -27.7998 -30.5314 -32.9871 -34.4653 -34.4415 -33.0681 -31.0758 -28.5519 -26.3383 -24.2699 -22.9724 -22.439 -21.9903 -22.0899 -22.0051 -21.8712 -21.8549 -21.817 -21.9508 -21.8753 -21.9513 -22.0723 -22.251 -22.2948 -22.2055 -22.1533 -21.9798 -21.8589 -21.6736 -21.7623 -21.8745 -21.6461 -21.9865 -22.0579 -22.1349 -22.7425 -23.4987 -25.1209 -27.0625 -29.2438 -31.3224 -32.9592 -34.4076 -35.1818 -34.983 -33.7809 -32.011 -29.9225 -27.4698 -25.2786 -23.0991 -21.9321 -21.7472 -21.5756 -21.8136 -22.0374 -22.2332 -22.4827 -22.4811 -22.2971 -22.578 -22.6622 -22.6412 -23.2378 -23.6025 -24.1391 -24.3672 -24.664 -24.5917 -24.3735 -23.954 -23.3398 -23.0754 -22.6529 -22.3086 -22.2512 -22.2829 -22.2037 -22.4859 -22.4218 -22.8359 -23.3253 -23.1817 -23.3423 -23.0582 -22.6882 -22.5484 -22.4293 -22.2528 -22.2595 -22.7676 -23.118 -23.8744 -24.3954 -24.9713 -25.491 -25.6589 -25.7879 -25.8837 -25.9602 -26.1018 -26.2209 -26.2911 -26.3118 -26.6312 -27.0709 -27.8223 -28.3033 -29.0898 -29.6611 -30.0603 -30.0274 -29.8573 -29.4411 -28.9783 -28.4975 -28.1264 -27.6265 -27.8881 -28.006 -28.3639 -29.3771 -30.2002 -31.4685 -32.2021 -33.0257 -33.1538 -33.0439 -32.5915 -31.8272 -31.3732 -31.0081 -30.9567 -31.3641 -31.842 -32.479 -33.7706 -34.5099 -35.3665 -36.1208 -36.3039 -36.4919 -35.9869 -35.4123 -35.1792 -35.0927 -35.4674 -35.9269 -37.3095 -39.2025 -42.2626 -45.7612 -49.8105 -53.6007 -56.5649 -58.4971 -59.3497 -58.9398 -57.8872 -60.2942", + "energy_timestep": "0.011609977324263039", + "breathiness": "-61.6993 -57.6138 -53.4912 -50.4491 -47.7499 -46.0626 -44.8186 -44.1287 -42.9609 -42.2632 -41.5003 -41.0983 -41.28 -41.3935 -42.0289 -42.5569 -43.0494 -44.2839 -45.518 -47.3405 -49.3468 -51.7682 -54.0883 -56.6545 -59.0958 -61.0811 -62.7142 -63.2585 -63.4078 -62.2528 -60.7579 -59.3096 -58.054 -57.2494 -56.8036 -57.0756 -57.6654 -58.5901 -59.7111 -60.7693 -61.5077 -61.4622 -61.059 -60.0098 -58.6016 -56.469 -53.7145 -50.313 -46.9529 -43.854 -41.3397 -40.2557 -40.5659 -42.7638 -46.0955 -49.7687 -53.2495 -56.2999 -58.5037 -59.6354 -60.3457 -60.5142 -60.063 -59.3915 -58.0899 -56.2016 -54.307 -52.1458 -50.4867 -49.4707 -49.4329 -50.0417 -50.4499 -51.1583 -51.524 -51.9525 -52.0064 -51.8577 -51.8987 -52.2237 -52.5203 -52.9006 -53.4009 -53.7365 -53.9653 -54.1209 -54.2169 -53.8938 -54.0028 -54.3097 -54.8624 -55.5188 -56.2104 -56.9903 -57.3317 -57.5965 -57.4136 -57.2862 -56.9219 -56.9627 -56.9284 -57.2474 -57.6429 -57.7612 -58.1106 -58.2284 -58.3952 -58.4342 -58.4578 -58.5074 -58.4233 -58.4179 -58.3601 -58.3054 -58.2617 -58.2035 -58.4323 -59.0446 -59.4659 -59.9725 -60.4134 -60.48 -60.3049 -59.7419 -59.2644 -59.0334 -58.932 -59.2821 -59.9064 -60.7132 -61.6459 -62.2765 -63.1641 -63.7033 -64.0532 -64.0966 -64.1064 -63.8024 -63.8801 -63.9902 -64.6936 -65.8886 -66.9637 -68.0194 -68.6864 -69.06 -69.0891 -68.9651 -67.8018 -66.1825 -63.9764 -61.6687 -59.1982 -57.025 -55.6241 -55.0083 -54.4055 -54.1518 -53.3535 -52.5281 -51.5578 -51.0876 -51.1214 -51.3368 -52.5518 -54.3728 -56.3432 -57.6181 -57.8448 -56.1681 -53.762 -50.1003 -46.4486 -43.415 -42.2687 -42.4275 -43.764 -45.6613 -47.7015 -49.7344 -51.518 -53.082 -54.6063 -56.1289 -57.7051 -58.1182 -57.3256 -54.7831 -51.2256 -46.8217 -42.4909 -38.6893 -35.757 -34.9392 -35.4866 -37.5949 -40.5569 -43.6248 -46.9323 -50.0221 -52.4627 -54.4269 -55.7019 -56.6943 -57.1152 -56.7592 -55.1847 -52.6136 -49.3716 -45.4667 -41.8116 -38.9073 -36.8231 -36.0842 -36.2679 -37.4878 -39.168 -41.4484 -44.1894 -46.916 -49.6848 -51.7856 -53.3643 -54.6914 -55.9028 -57.1392 -58.5037 -59.6268 -60.4825 -60.9595 -61.036 -60.2755 -59.3277 -58.3323 -57.2546 -56.3193 -55.1539 -54.4459 -53.9414 -53.5809 -53.4464 -53.2166 -53.2627 -53.0104 -53.0073 -52.9209 -53.2298 -53.667 -54.1375 -54.7734 -55.2849 -55.648 -55.9971 -55.8864 -56.0033 -56.3259 -56.5879 -56.6799 -57.0181 -57.1649 -57.3381 -57.551 -57.7076 -58.2492 -58.5614 -58.9515 -59.3081 -59.5013 -59.321 -59.1418 -58.8613 -58.8252 -58.5807 -58.3812 -58.5254 -58.7248 -59.3043 -60.0668 -60.9684 -61.7397 -62.2281 -62.2746 -62.2959 -61.796 -61.3598 -61.0425 -60.6671 -60.4864 -60.5491 -60.6282 -61.0558 -61.2689 -61.617 -61.7717 -61.5237 -60.9139 -59.9772 -58.8663 -57.5576 -56.1879 -55.1137 -54.3433 -53.7187 -53.5791 -53.3999 -53.3271 -53.5595 -53.613 -53.7142 -53.1949 -52.134 -50.6041 -48.3775 -45.8625 -43.5826 -41.4744 -40.2218 -40.2081 -41.5674 -43.6653 -46.25 -49.1155 -51.6476 -53.614 -54.8075 -55.7606 -56.0867 -56.5239 -56.8365 -57.234 -57.3439 -57.4522 -57.7756 -57.8648 -57.6838 -57.5244 -57.3348 -57.0198 -56.8466 -56.6082 -56.4102 -57.1378 -57.6563 -57.8732 -57.807 -57.5638 -56.555 -54.6287 -51.9186 -48.7075 -45.3153 -42.1227 -39.4391 -37.6202 -36.7963 -36.5454 -36.9724 -38.1791 -40.3512 -43.0395 -46.3375 -49.9615 -53.5438 -56.7403 -59.3618 -61.0338 -62.4204 -63.4831 -64.4802 -65.4912 -66.2429 -66.7031 -66.4691 -65.7102 -64.6707 -63.3744 -61.9351 -60.7038 -59.2614 -58.2077 -57.1269 -56.192 -55.1247 -54.3838 -54.0793 -53.6528 -53.5224 -53.9217 -54.2702 -54.6045 -55.1189 -55.4215 -55.8226 -55.9605 -56.0004 -55.913 -55.8205 -55.3809 -54.9829 -54.5689 -54.3094 -54.1628 -54.0116 -54.0159 -54.1864 -54.5184 -54.764 -54.984 -55.1219 -55.2669 -55.3917 -55.8528 -56.4033 -57.1363 -57.4744 -57.7932 -58.1717 -58.3678 -58.7756 -59.0818 -59.2876 -59.5591 -59.7276 -59.9178 -60.1194 -60.2238 -60.6126 -60.8181 -61.1226 -60.7472 -60.5737 -60.226 -60.2936 -60.6624 -61.4119 -62.4126 -63.6836 -64.8658 -65.7883 -66.0409 -65.8256 -65.3467 -64.8831 -64.5988 -64.6053 -65.1334 -65.9761 -67.0616 -68.368 -69.7293 -71.12 -72.0895 -73.0886 -73.5464 -73.5535 -73.249 -72.7175 -71.6152 -70.2557 -68.3272 -66.0995 -64.1624 -62.4876 -61.2467 -60.5695 -60.7934 -62.1246 -62.9785 -64.3971 -65.6355 -66.3991 -68.0023", + "breathiness_timestep": "0.011609977324263039" + }, + { + "offset": 193.191, + "text": "AP 不 必 英 雄 名 讳 AP 记 两 个 旧 事 抵 酒 价 SP", + "ph_seq": "AP b u b i y ing x iong m ing h ui AP j i l iang g e j iu sh ir d i j iu j ia SP", + "ph_dur": "0.335 0.045 0.194 0.045 0.178 0.06 0.163 0.075 0.371 0.105 0.163 0.075 0.238 0.148 0.09 0.178 0.06 0.193 0.045 0.163 0.075 0.357 0.12 0.193 0.045 0.579 0.135 0.386 0.09 1.429 0.095", + "ph_num": "2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest G3 E3 G3 A3 B3 A3 rest G3 E3 G3 A3 B3 D4 D3 E3 rest", + "note_dur": "0.38 0.239 0.238 0.238 0.476 0.238 0.238 0.238 0.238 0.238 0.238 0.477 0.238 0.714 0.476 1.429 0.095", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "143.9 144.1 144.1 144.2 143.9 144.0 143.9 144.0 144.3 144.1 144.1 143.8 143.8 143.9 143.7 143.5 143.5 143.6 143.6 143.5 143.4 143.4 143.3 143.4 143.5 143.2 143.4 143.3 142.8 142.5 142.5 142.5 142.2 142.2 145.9 151.2 156.1 167.0 177.6 188.4 192.3 194.6 196.1 195.5 192.5 188.4 183.5 175.7 174.7 175.2 174.1 173.6 173.8 169.0 165.1 162.9 162.7 163.3 163.9 164.3 164.4 164.5 164.9 165.0 164.8 165.4 166.2 165.9 166.9 168.7 170.3 172.4 181.1 187.0 192.5 194.0 196.6 196.7 196.2 196.7 196.1 196.3 197.3 197.5 197.4 197.2 193.5 186.7 190.4 195.7 201.8 208.3 216.0 224.2 230.8 230.6 227.2 226.9 223.3 220.5 217.2 212.3 208.2 208.2 208.9 211.2 216.2 222.5 226.0 230.2 229.6 225.6 218.1 210.3 203.8 201.8 202.3 203.4 207.5 212.3 218.2 222.7 225.1 225.4 223.6 220.9 217.1 215.9 221.3 224.2 227.5 231.3 233.2 237.1 241.6 244.9 245.9 247.5 247.7 246.8 246.8 247.0 247.0 248.5 247.5 246.1 243.3 236.6 226.7 215.8 215.8 217.5 219.9 222.0 224.7 226.4 223.7 225.6 226.8 226.9 225.1 222.0 216.3 209.1 201.9 197.2 197.0 199.4 206.0 215.0 222.2 228.5 232.0 230.9 224.9 217.7 212.4 206.0 203.5 200.2 198.1 195.8 194.2 192.9 191.0 189.3 187.7 185.8 184.9 183.1 181.8 179.6 178.2 176.8 175.0 173.2 171.8 170.1 169.9 170.6 170.6 169.9 171.2 175.6 184.2 191.7 197.3 199.9 199.5 197.9 194.8 189.0 183.5 177.1 171.9 167.8 166.5 166.3 164.1 162.8 162.8 163.0 164.5 166.3 166.4 166.6 166.8 166.9 166.8 165.4 163.6 159.5 156.1 158.0 164.9 177.1 189.4 198.0 195.5 196.4 196.7 195.4 195.0 195.2 195.1 195.2 195.3 194.4 193.9 192.1 188.0 181.0 184.8 188.1 192.0 195.3 198.3 200.7 202.2 200.9 197.5 197.6 197.6 198.3 198.5 197.2 195.9 195.4 194.8 194.3 195.5 199.6 207.7 214.7 218.4 220.3 220.2 219.2 216.7 215.3 214.5 212.8 213.3 214.3 216.6 219.1 222.2 222.9 222.9 218.4 212.8 217.7 223.1 228.5 234.5 240.2 245.9 251.1 257.7 264.9 252.9 249.1 249.0 249.0 247.7 246.6 245.8 245.7 246.2 247.1 247.2 247.1 246.4 231.8 228.2 232.1 242.7 254.3 268.4 264.8 261.8 262.3 263.0 262.5 262.0 261.8 261.8 262.4 262.9 261.5 262.2 263.7 265.0 267.1 267.9 274.7 283.2 291.6 297.2 298.3 297.6 296.3 293.4 289.7 288.1 287.3 286.7 288.8 290.6 293.3 294.6 295.4 295.3 294.4 293.5 290.3 286.9 283.9 282.9 283.9 285.5 287.6 290.7 293.6 296.8 296.2 292.8 286.0 279.4 266.2 254.1 244.8 234.6 224.8 214.8 205.6 196.9 189.6 181.7 174.7 167.6 156.3 148.2 143.8 143.2 143.7 143.5 143.4 143.4 143.6 142.7 140.9 140.1 139.8 141.9 143.3 144.4 145.4 146.6 147.5 148.0 148.1 147.8 148.6 148.0 147.0 146.8 146.9 147.3 148.7 148.3 147.7 145.6 141.3 140.9 142.0 143.4 144.9 146.3 147.9 149.7 151.6 151.1 150.7 146.2 145.6 146.0 146.4 147.6 147.7 148.3 147.9 146.7 145.9 145.6 145.8 145.8 146.1 146.1 146.8 147.5 148.4 150.5 153.4 159.4 164.9 169.5 171.3 171.2 170.2 168.5 164.8 161.0 157.6 155.2 155.4 157.6 162.0 166.8 170.6 172.8 174.6 175.5 174.6 171.8 169.0 164.9 160.2 157.6 156.7 156.5 157.9 160.9 164.6 168.1 171.5 173.9 175.0 174.5 173.1 170.7 167.1 162.9 159.4 158.3 158.2 158.2 159.6 162.7 165.9 168.9 171.6 174.0 174.7 174.9 173.9 170.9 166.5 161.4 158.4 157.5 156.9 157.3 159.8 163.4 167.3 171.0 175.3 177.6 177.7 177.0 174.2 169.6 162.6 156.7 152.0 150.3 151.2 153.4 157.6 163.6 169.7 175.0 179.0 180.3 178.6 174.3 169.2 163.1 155.0 151.3 150.4 148.9 148.7 151.5 155.1 160.3 164.0 166.8 169.3 171.2 171.6 170.5 168.8 165.6 163.4 164.1 163.5 162.1 161.0 161.2 160.4 160.4 160.5", + "f0_timestep": "0.011609977324263039", + "energy": "-61.528 -62.1956 -59.1671 -56.0726 -52.5839 -49.8909 -47.8208 -46.3701 -45.6179 -45.0578 -44.7181 -44.6719 -44.8285 -45.2803 -45.7067 -46.197 -47.3006 -48.2628 -49.0515 -49.8638 -50.1991 -50.3273 -50.913 -51.7131 -52.7151 -53.1552 -52.762 -50.5314 -47.2736 -42.6132 -37.5605 -32.7106 -28.8646 -25.9616 -24.1731 -23.5451 -23.1641 -22.8966 -22.68 -22.7327 -22.8001 -22.5444 -23.2155 -24.1392 -25.8628 -28.9567 -32.5157 -35.6566 -37.5212 -37.7766 -36.3751 -33.4244 -29.6943 -26.3574 -23.8492 -23.2782 -23.1964 -22.9226 -22.894 -23.0411 -22.8938 -22.8585 -22.8079 -22.7339 -22.9599 -22.8785 -22.9408 -23.4829 -23.7451 -23.9639 -23.9951 -24.0434 -23.6671 -23.4068 -22.8397 -22.6461 -22.179 -22.0798 -22.0659 -22.1582 -22.1729 -22.2276 -22.5943 -23.0972 -23.9608 -24.7227 -26.2742 -27.6173 -29.059 -30.1639 -30.6851 -30.2767 -28.929 -27.2743 -25.2885 -23.5434 -22.187 -21.5062 -21.4954 -21.7719 -21.9642 -22.2674 -22.4397 -22.9481 -23.0475 -23.1717 -23.4412 -23.6411 -23.7771 -23.8606 -23.9893 -23.997 -24.2986 -24.2798 -24.5434 -24.7717 -24.8937 -24.8599 -24.9511 -24.9894 -24.7674 -24.9293 -24.5279 -24.6658 -24.6631 -24.4548 -23.9931 -23.7009 -23.2761 -22.9064 -22.5903 -22.2707 -21.9089 -21.7779 -21.3877 -21.4996 -21.6829 -21.5703 -21.9622 -21.9824 -22.1431 -22.3049 -22.6494 -22.8802 -23.3145 -23.7052 -25.199 -27.146 -29.7837 -32.8067 -35.2146 -36.1869 -36.1145 -34.5077 -31.353 -28.192 -25.0861 -23.0051 -22.2621 -21.9695 -22.311 -22.6456 -23.1903 -23.6858 -24.6821 -25.2366 -25.8366 -26.0989 -26.0515 -26.1216 -26.2466 -26.111 -26.6584 -27.2543 -28.3673 -30.2791 -32.9896 -35.8262 -38.6388 -41.2891 -43.6606 -45.4258 -46.6549 -47.83 -48.8865 -50.2014 -51.4314 -52.5779 -52.3929 -51.6725 -49.6935 -47.2142 -43.8549 -40.0916 -36.3741 -33.0088 -29.7405 -27.271 -25.3648 -24.7158 -24.4622 -24.7184 -25.0425 -25.1594 -25.4883 -25.2316 -24.9315 -24.4298 -24.1551 -24.0688 -23.8847 -24.2406 -24.4872 -24.8811 -25.0492 -24.9512 -24.8912 -24.6577 -24.3429 -23.9757 -24.0466 -24.0161 -24.2082 -24.5998 -24.4762 -25.0097 -25.2243 -25.922 -26.6736 -28.15 -30.1964 -32.5827 -34.2804 -34.9409 -34.4122 -32.5206 -30.0202 -26.9774 -24.3092 -22.7512 -21.7571 -21.7033 -21.6795 -21.6422 -22.1374 -22.5256 -23.2767 -24.7071 -26.3959 -28.9294 -31.6297 -34.3024 -36.2357 -37.6648 -37.3335 -35.9694 -33.6059 -30.7582 -27.8226 -25.6184 -23.6042 -22.5277 -22.2563 -21.8692 -22.0998 -22.2887 -22.8454 -23.1496 -23.9931 -24.2798 -24.7471 -24.7482 -24.7418 -24.5192 -24.2998 -23.9409 -23.7849 -23.3632 -23.3002 -23.3039 -23.1791 -23.1492 -23.2519 -23.2482 -23.2659 -23.6999 -24.4005 -25.5035 -26.999 -29.02 -31.1808 -33.1549 -34.5627 -35.6023 -36.0729 -35.7265 -34.8585 -33.2861 -31.3998 -29.0969 -26.8073 -24.7977 -23.422 -22.4165 -22.0813 -21.7611 -21.59 -21.4226 -21.7168 -21.9417 -22.6389 -24.2585 -26.719 -29.3999 -31.0743 -32.102 -31.6982 -30.5864 -27.9826 -25.46 -22.9834 -21.4473 -20.6181 -20.3127 -20.1394 -20.1142 -20.0737 -20.2506 -20.4807 -20.6972 -20.8715 -21.232 -21.7877 -22.1903 -22.0736 -22.2679 -22.232 -22.0562 -21.7287 -21.4153 -21.4006 -21.0485 -21.2712 -21.2308 -21.3389 -21.2618 -21.3611 -21.4773 -21.3852 -21.2859 -20.996 -20.9142 -20.8529 -20.7723 -20.7976 -21.0131 -21.1184 -21.277 -21.3728 -21.5684 -21.5194 -21.9178 -21.9936 -22.1608 -22.5168 -23.0115 -24.13 -25.9289 -28.6091 -31.4271 -34.4794 -36.7297 -38.1007 -38.9546 -39.0331 -38.5855 -37.9391 -36.3454 -34.6293 -32.3139 -29.7664 -27.4112 -25.2685 -23.7505 -23.3783 -23.1075 -23.2325 -23.4205 -23.6119 -23.5616 -23.8519 -23.8185 -24.0605 -24.0243 -24.0397 -23.857 -23.8689 -23.8081 -23.828 -23.4563 -23.5051 -23.3843 -23.3423 -23.1908 -23.2546 -23.1828 -23.3222 -23.5681 -24.0804 -24.7705 -25.9414 -27.6041 -29.7526 -32.3222 -34.9922 -37.3843 -39.427 -40.4867 -39.9822 -38.1451 -35.7601 -32.6397 -29.8429 -27.2182 -25.4212 -24.5 -24.1055 -23.8195 -23.6965 -23.6897 -23.7806 -23.6716 -23.7397 -23.9629 -23.779 -23.9015 -23.9633 -24.1687 -24.0803 -24.7173 -25.0019 -25.2573 -25.25 -25.6769 -25.7093 -25.6104 -25.1937 -24.6077 -24.0144 -23.6313 -23.5625 -23.6975 -24.0004 -24.3988 -24.7269 -24.9847 -25.1744 -25.1026 -24.9226 -24.5888 -24.2096 -23.5054 -23.6139 -23.3615 -23.5154 -23.6533 -23.8901 -24.3542 -24.9377 -25.2903 -25.5352 -25.6547 -25.6549 -25.2232 -25.0431 -24.4229 -24.0293 -23.5577 -23.5418 -23.4185 -23.8147 -24.1255 -24.5935 -24.9787 -25.3027 -25.5104 -25.3799 -25.3023 -25.184 -24.9529 -24.7462 -24.8318 -24.6311 -24.9626 -25.025 -25.2259 -25.4857 -25.75 -26.0614 -26.3103 -26.8721 -27.3594 -27.5926 -27.6683 -27.8912 -27.8467 -27.9617 -27.7783 -27.774 -27.9073 -27.9476 -28.3131 -28.2481 -28.8394 -29.3459 -29.9269 -30.567 -31.3426 -31.9269 -32.1161 -32.7624 -32.7241 -32.8574 -32.8281 -32.6431 -32.4864 -32.3137 -32.4345 -32.3636 -32.7999 -33.1066 -33.5745 -34.3888 -35.2592 -36.1527 -36.5502 -37.2515 -37.3143 -37.1892 -37.1565 -37.2768 -37.3308 -37.4485 -37.9652 -39.1558 -41.0114 -44.2926 -48.0 -51.8646 -55.2316 -57.3405 -57.4209 -56.5637 -54.6807", + "energy_timestep": "0.011609977324263039", + "breathiness": "-67.2713 -65.75 -62.3392 -58.5487 -54.7104 -51.3906 -49.0952 -47.2136 -46.0197 -45.1415 -44.6324 -44.3676 -44.3932 -44.6661 -45.1991 -46.172 -47.6055 -49.6016 -51.8389 -54.4184 -56.7243 -58.7259 -60.235 -61.7255 -62.2899 -62.375 -61.8482 -60.8492 -59.8107 -58.8984 -58.0253 -58.055 -58.4706 -59.3569 -60.3381 -61.6405 -62.6512 -63.5478 -63.8887 -64.1201 -64.0648 -63.8984 -63.4754 -62.8537 -62.044 -60.9855 -60.0105 -59.2555 -57.8992 -56.7064 -55.4319 -54.3424 -53.37 -52.5443 -52.4284 -52.7522 -53.0927 -54.0596 -54.7313 -54.8649 -55.0331 -55.3573 -55.6936 -55.8929 -56.0158 -55.6473 -54.8568 -54.5847 -54.1252 -53.8008 -53.8966 -54.2103 -54.7316 -55.3356 -55.9688 -56.5525 -57.098 -57.6649 -58.3576 -59.1171 -59.9297 -60.2592 -59.6705 -57.9101 -54.8752 -51.2772 -46.9147 -42.4682 -38.4505 -35.3431 -33.8678 -33.9751 -34.6649 -36.7815 -39.8819 -43.0981 -46.4767 -49.5862 -51.8028 -53.6795 -55.0727 -56.1579 -57.0693 -58.2005 -59.032 -59.8534 -60.6203 -61.2824 -61.812 -62.2301 -62.8533 -63.3861 -63.8453 -64.4334 -65.0774 -65.6244 -66.4114 -67.0667 -67.7552 -68.4195 -68.7057 -68.6934 -68.7135 -68.5898 -68.4096 -68.1135 -67.885 -67.6023 -67.115 -66.7687 -65.9259 -64.9046 -63.3929 -62.2701 -61.0216 -59.9736 -59.3244 -59.1518 -59.6459 -60.6653 -61.7285 -62.992 -64.0736 -64.84 -65.1088 -63.8139 -61.3311 -57.969 -53.9041 -50.0419 -46.8471 -45.1211 -45.1362 -46.4625 -48.9289 -51.6571 -54.0566 -56.2207 -57.1948 -57.6189 -56.9517 -56.3734 -55.8737 -55.8358 -56.1135 -56.8113 -57.2686 -58.1764 -58.4606 -58.9138 -59.219 -59.2004 -59.1722 -58.6631 -58.3675 -57.6081 -56.1745 -54.4586 -52.8055 -50.9204 -49.1358 -48.1925 -48.0118 -48.3644 -49.6162 -51.4586 -53.5518 -54.9863 -55.6455 -54.7581 -52.6844 -49.5223 -46.456 -43.6548 -41.8583 -41.8645 -42.833 -44.5362 -46.7948 -48.7474 -50.6552 -51.8966 -52.8477 -53.3844 -54.0217 -54.2 -54.4204 -54.7034 -54.9202 -54.9693 -55.1589 -55.5166 -55.6785 -56.124 -56.4117 -56.2958 -56.1147 -55.6417 -55.6763 -55.6748 -56.0429 -56.8252 -57.9609 -59.4033 -60.7394 -61.9553 -63.0958 -64.1218 -64.6542 -63.5179 -61.1395 -57.7551 -53.9184 -50.5021 -48.0092 -47.4367 -48.7884 -51.038 -53.2644 -55.3428 -56.7068 -57.6621 -57.6442 -57.564 -57.3256 -57.2403 -57.0428 -56.3946 -55.4038 -53.7477 -51.5408 -48.9064 -45.8243 -43.2534 -41.1935 -40.451 -40.9117 -42.6339 -45.0926 -47.7917 -50.6982 -52.9703 -55.0933 -56.6086 -57.4213 -58.3417 -59.0632 -59.6315 -60.1506 -60.3635 -60.5036 -60.496 -60.6156 -60.8802 -61.2813 -61.8447 -62.3781 -62.7632 -62.9098 -63.1218 -63.3108 -63.2573 -63.2387 -63.1698 -62.5494 -61.0781 -58.9316 -55.7141 -51.8511 -47.8374 -44.0458 -40.7849 -38.6265 -37.2718 -36.6166 -36.4466 -36.8334 -38.0545 -39.8652 -42.3714 -44.9385 -47.8168 -50.5121 -52.8905 -55.0268 -56.4389 -57.7032 -58.7169 -59.3584 -59.4429 -58.9306 -57.6713 -55.8375 -53.1598 -50.6142 -47.9653 -46.5688 -46.1508 -46.6893 -48.1529 -50.1004 -51.9611 -53.4778 -54.4429 -55.0768 -55.0583 -55.1448 -54.9153 -54.7904 -54.7314 -54.6238 -54.5868 -54.4608 -54.458 -54.6542 -54.6363 -54.74 -54.973 -55.2899 -55.7195 -56.1597 -56.6428 -57.1541 -57.5241 -57.6783 -58.3051 -58.1623 -57.7896 -57.4835 -57.1491 -56.331 -55.7663 -55.4938 -55.4212 -55.7861 -56.2176 -56.8768 -57.2957 -57.4109 -57.4433 -57.2882 -57.2352 -56.9288 -56.9451 -56.5735 -55.7374 -54.3134 -52.6081 -50.3896 -47.8688 -45.5561 -43.5171 -41.8297 -40.8338 -39.6595 -39.3437 -39.3648 -40.0511 -41.4003 -43.2227 -45.4811 -48.2493 -50.7403 -53.0107 -55.1757 -56.5773 -57.8908 -58.6067 -59.1375 -59.6293 -60.3371 -60.9668 -61.637 -62.1864 -62.6911 -63.1467 -63.4783 -63.4005 -63.6171 -63.5054 -63.4131 -63.5498 -63.7299 -63.8779 -64.1619 -64.1632 -64.4265 -64.3462 -63.9125 -62.9336 -60.8847 -58.1076 -54.4025 -50.9442 -47.5892 -44.7331 -43.1114 -42.4313 -43.112 -44.2971 -45.915 -48.1652 -50.1703 -51.868 -53.1549 -54.1363 -54.5216 -54.8479 -54.9999 -55.3955 -55.6371 -56.0745 -56.6463 -56.8898 -57.1012 -57.0939 -56.5827 -55.8128 -55.0454 -54.1235 -53.4943 -53.0044 -53.1327 -53.1641 -53.4519 -54.1275 -54.6716 -54.7617 -54.9459 -54.6768 -54.2973 -54.1556 -54.1826 -54.4528 -54.8129 -55.059 -55.1956 -55.1627 -55.2716 -55.3176 -55.3927 -55.7963 -55.8316 -56.1449 -55.9216 -55.568 -55.3849 -55.1526 -54.9668 -55.1128 -55.4436 -55.1014 -55.0532 -54.752 -54.6987 -54.7871 -54.7049 -55.2217 -55.5077 -55.7748 -56.2792 -56.376 -56.8219 -57.0896 -57.4481 -57.1948 -56.8892 -56.3283 -55.5502 -54.9244 -54.6395 -54.3835 -54.6198 -54.6538 -54.8407 -55.214 -55.3497 -55.9364 -56.232 -56.7763 -57.0948 -57.3268 -57.5986 -57.8479 -57.8807 -58.1797 -58.5971 -58.8527 -59.259 -59.4573 -59.6482 -59.9148 -60.141 -60.4687 -61.1619 -62.0118 -62.9356 -63.9691 -64.8359 -65.8628 -66.5611 -66.9979 -67.1023 -67.2335 -66.8873 -66.8722 -66.7262 -66.806 -67.0625 -67.5946 -68.4237 -69.3581 -70.7703 -72.0591 -73.2581 -74.2412 -74.8009 -75.0818 -74.8964 -74.5784 -73.8807 -73.346 -72.3443 -71.0356 -69.2112 -66.9194 -65.1206 -63.8509 -63.5329 -64.0585 -64.7191 -65.8872 -65.8523 -66.0447", + "breathiness_timestep": "0.011609977324263039" + }, + { + "offset": 200.114, + "text": "SP AP 向 江 南 折 过 花 AP 对 春 风 与 红 蜡 AP 多 情 总 似 我 风 流 爱 天 下 AP 人 世 肯 相 逢 AP 知 己 幸 有 七 八 AP 邀 我 拍 坛 去 醉 眼 万 斗 烟 霞 AP 向 江 北 饮 过 马 AP 对 西 风 与 黄 沙 AP 无 情 也 似 我 迎 剑 锋 斩 桃 花 AP 人 世 能 相 逢 AP 谢 青 山 催 白 发 AP 慷 慨 唯 霜 雪 相 赠 眉 间 一 道 疤 AP 当 此 世 赢 输 都 算 闲 话 来 换 杯 陈 酒 天 纵 我 潇 洒 AP 风 流 不 曾 老 AP 弹 铗 唱 作 年 华 AP 凭 我 纵 马 去 过 剑 底 杯 中 觅 生 涯 SP", + "ph_seq": "SP AP x iang j iang n an zh e g uo h ua AP d ui ch un f eng y v h ong l a AP d uo q ing z ong s i0 w o f eng l iu ai t ian x ia AP r en sh ir k en x iang f eng AP zh ir j i x ing y ou q i b a AP y ao w o p ai t an q v z ui y En w an d ou y En x ia AP x iang j iang b ei y in g uo m a AP d ui x i f eng y v h uang sh a AP w u q ing y E s i0 w o y ing j ian f eng zh an t ao h ua AP r en sh ir n eng x iang f eng AP x ie q ing sh an c ui b ai f a AP k ang k ai w ei sh uang x ve x iang z eng m ei j ian y i d ao b a AP d ang c i0 sh ir y ing sh u d ou s uan x ian h ua l ai h uan b ei ch en j iu t ian z ong w o x iao s a AP f eng l iu b u c eng l ao AP t an j ia ch ang z uo n ian h ua AP p ing w o z ong m a q v g uo j ian d i b ei zh ong m i sh eng y a SP", + "ph_dur": "0.08 0.4 0.12 0.193 0.045 0.193 0.045 0.179 0.06 0.193 0.045 0.163 0.075 0.476 0.193 0.045 0.163 0.075 0.193 0.045 0.193 0.045 0.178 0.06 0.194 0.045 0.476 0.193 0.045 0.163 0.075 0.193 0.045 0.163 0.075 0.163 0.075 0.163 0.075 0.386 0.09 0.417 0.461 0.075 0.356 0.12 0.476 0.163 0.075 0.163 0.075 0.179 0.06 0.163 0.075 0.401 0.075 0.476 0.148 0.09 0.178 0.06 0.163 0.075 0.163 0.075 0.163 0.075 0.194 0.045 0.476 0.148 0.09 0.178 0.06 0.178 0.06 0.178 0.06 0.163 0.075 0.178 0.06 0.417 0.06 0.163 0.075 0.193 0.045 0.326 0.15 0.356 0.12 0.476 0.133 0.105 0.193 0.045 0.194 0.045 0.193 0.045 0.193 0.045 0.178 0.06 0.476 0.193 0.045 0.163 0.075 0.178 0.06 0.178 0.06 0.164 0.075 0.163 0.075 0.476 0.178 0.06 0.163 0.075 0.178 0.06 0.163 0.075 0.178 0.06 0.163 0.075 0.417 0.06 0.193 0.045 0.178 0.06 0.416 0.06 0.401 0.075 0.476 0.148 0.09 0.164 0.075 0.178 0.06 0.163 0.075 0.401 0.075 0.476 0.133 0.105 0.163 0.075 0.163 0.075 0.178 0.06 0.194 0.045 0.178 0.06 0.476 0.163 0.075 0.193 0.045 0.178 0.06 0.163 0.075 0.163 0.075 0.163 0.075 0.432 0.045 0.193 0.045 0.178 0.06 0.193 0.045 0.193 0.045 0.416 0.06 0.714 0.194 0.045 0.386 0.09 0.356 0.12 0.519 0.195 0.163 0.075 0.193 0.045 0.164 0.075 0.163 0.075 0.178 0.06 0.654 0.06 0.178 0.06 0.193 0.045 0.178 0.06 0.193 0.045 0.178 0.06 0.417 0.06 0.416 0.06 0.356 0.12 0.371 0.105 0.476 0.164 0.075 0.178 0.06 0.193 0.045 0.163 0.075 0.416 0.06 0.476 0.178 0.06 0.193 0.045 0.163 0.075 0.194 0.045 0.163 0.075 0.163 0.075 0.476 0.178 0.06 0.163 0.075 0.178 0.06 0.178 0.06 0.163 0.075 0.179 0.06 0.401 0.075 0.193 0.045 0.193 0.045 0.178 0.06 0.163 0.075 0.163 0.075 0.163 0.075 0.476 0.238", + "ph_num": "1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest rest B3 B3 A3 G3 A3 B3 rest B3 B3 A3 B3 E4 D4 rest D4 D4 B3 D4 E4 G4 E4 D4 B3 A3 B3 rest B3 B3 A3 G3 A3 rest A3 A3 G3 A3 B3 E3 rest E3 E3 D3 E3 G3 A3 A3 G3 A3 D4 B3 rest B3 B3 A3 G3 A3 B3 rest B3 B3 A3 B3 E4 D4 rest D4 D4 B3 D4 E4 G4 E4 D4 B3 A3 B3 rest B3 B3 A3 G3 A3 rest G3 A3 B3 A3 B3 D4 rest D4 D4 B3 A3 B3 E4 D4 E4 F#4 E4 D4 E4 rest C4 D#4 F4 F4 F4 C4 C4 F4 D#4 D#4 D#4 C4 D#4 F4 G#4 F4 D#4 C4 A#3 C4 rest C4 C4 A#3 G#3 A#3 rest A#3 A#3 G#3 A#3 C4 F3 rest F3 F3 D#3 F3 G#3 A#3 A#3 G#3 A#3 C4 F4 D#4 C4 rest", + "note_dur": "0.2 0.4 0.238 0.238 0.239 0.238 0.238 0.476 0.238 0.238 0.238 0.238 0.238 0.239 0.476 0.238 0.238 0.238 0.238 0.238 0.238 0.476 0.239 0.238 0.476 0.476 0.476 0.238 0.238 0.239 0.238 0.476 0.476 0.238 0.238 0.238 0.238 0.238 0.239 0.476 0.238 0.238 0.238 0.238 0.238 0.238 0.477 0.238 0.238 0.476 0.476 0.476 0.238 0.238 0.239 0.238 0.238 0.238 0.476 0.238 0.238 0.238 0.238 0.239 0.238 0.476 0.238 0.238 0.238 0.238 0.238 0.238 0.477 0.238 0.238 0.476 0.476 0.476 0.238 0.239 0.238 0.238 0.476 0.476 0.238 0.238 0.238 0.238 0.239 0.238 0.476 0.238 0.238 0.238 0.238 0.238 0.238 0.477 0.238 0.238 0.238 0.238 0.476 0.714 0.239 0.476 0.476 0.714 0.238 0.238 0.239 0.238 0.238 0.714 0.238 0.238 0.238 0.238 0.238 0.477 0.238 0.238 0.476 0.476 0.476 0.239 0.238 0.238 0.238 0.476 0.476 0.238 0.238 0.238 0.239 0.238 0.238 0.476 0.238 0.238 0.238 0.238 0.238 0.239 0.476 0.238 0.238 0.238 0.238 0.238 0.238 0.476 0.238", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "146.0 146.3 145.9 146.1 146.0 145.6 146.3 146.1 145.9 146.0 146.2 146.3 146.4 146.2 146.3 146.3 146.4 146.4 146.2 146.4 146.5 146.4 146.2 146.4 146.3 146.5 146.4 146.3 146.7 146.2 146.4 146.4 146.5 146.7 146.4 146.3 146.5 146.6 146.7 146.7 146.6 146.2 146.3 146.4 146.3 145.9 145.8 146.1 146.1 146.3 146.2 146.7 146.9 147.3 152.3 160.7 177.4 189.5 207.6 223.1 236.1 249.3 252.0 249.8 246.3 240.7 233.4 221.7 213.0 222.4 232.4 244.1 254.2 255.2 252.8 252.7 251.2 247.8 244.7 242.9 241.8 243.6 244.7 245.4 252.3 257.3 258.2 256.3 253.9 248.8 242.2 235.6 227.6 219.8 217.7 216.3 216.6 218.9 221.3 221.8 221.7 222.3 221.3 218.7 216.7 213.7 210.0 203.2 195.3 194.9 195.0 195.1 194.7 196.4 192.5 193.0 192.9 193.8 196.0 197.1 197.9 197.6 197.2 195.9 194.5 193.1 188.9 186.0 180.4 187.3 194.7 203.3 213.1 221.9 221.9 222.2 222.2 221.4 221.2 220.6 219.8 219.6 218.9 218.1 218.1 216.3 211.7 203.6 207.2 212.2 218.0 224.3 230.5 238.1 247.6 250.8 253.4 256.1 257.6 256.5 253.0 248.8 243.3 238.7 235.8 233.9 234.6 239.3 243.9 248.9 253.9 257.4 259.3 258.8 256.3 252.1 244.6 235.2 228.0 223.2 222.2 223.8 228.4 238.0 249.6 259.2 263.8 265.5 262.6 255.7 246.5 235.5 230.8 225.9 222.8 218.8 214.9 211.1 208.0 204.6 200.9 197.2 194.1 190.5 187.1 183.9 180.2 177.1 173.8 170.6 167.6 164.2 161.3 158.3 155.9 153.2 151.8 158.9 174.0 188.6 206.7 222.5 238.8 249.6 253.8 256.2 253.5 247.4 240.6 224.9 225.6 231.1 236.0 242.2 247.7 253.6 258.3 255.6 251.2 250.6 248.3 247.5 246.4 246.6 246.5 246.5 247.5 245.5 238.4 230.1 210.6 204.1 210.2 214.4 218.2 222.4 222.9 218.7 219.9 220.1 220.1 218.6 219.0 220.2 220.4 220.1 220.3 221.4 221.4 221.7 222.9 223.1 224.4 224.0 225.3 229.7 238.2 243.9 245.2 245.4 246.1 245.8 246.1 247.0 247.5 248.4 250.1 250.5 249.9 249.5 245.3 238.6 231.3 230.3 229.1 226.4 223.5 221.5 220.2 223.5 240.4 255.4 277.3 298.8 313.2 322.8 329.6 332.3 332.5 332.6 330.6 329.7 329.3 327.5 325.1 320.0 313.6 311.2 307.5 301.4 294.0 290.6 291.3 291.6 293.2 294.0 293.9 292.9 290.0 288.3 287.6 287.0 287.9 289.1 291.1 294.4 298.2 303.4 306.0 305.1 302.3 297.6 291.0 286.6 282.8 281.7 284.4 288.1 292.8 299.4 303.6 308.1 309.4 310.7 308.8 304.9 299.7 294.4 289.9 288.4 277.7 268.6 262.2 256.1 250.1 244.8 239.3 234.6 229.7 224.6 219.3 214.8 209.8 205.1 200.6 196.2 191.8 187.5 182.6 180.0 180.3 199.8 221.5 247.9 273.9 291.9 303.2 308.9 307.8 303.5 297.9 291.7 284.8 277.3 271.3 277.6 282.8 287.9 292.4 297.9 298.3 294.5 294.5 294.2 294.3 294.3 295.7 296.0 294.7 293.8 293.2 293.0 290.0 286.2 277.4 268.2 265.3 274.8 287.1 297.0 311.5 306.9 304.2 301.9 294.9 284.3 273.4 265.2 260.2 255.6 253.0 250.5 248.2 241.9 249.5 257.6 266.3 274.1 283.1 291.4 300.0 306.7 297.8 291.8 291.6 292.1 293.3 294.2 295.2 294.7 295.4 294.7 294.8 293.6 293.9 292.2 288.6 286.2 293.2 302.0 314.7 323.4 330.6 332.8 333.2 332.8 331.6 330.0 328.6 328.8 329.5 330.4 330.5 329.5 327.1 319.8 301.8 314.6 328.3 344.6 361.8 379.9 394.6 392.8 395.5 395.1 393.0 387.0 381.8 374.9 369.5 364.8 366.7 371.0 380.5 387.2 394.1 396.5 395.6 394.7 391.2 390.2 391.2 391.7 390.4 388.1 386.7 387.1 386.6 386.8 389.0 389.6 389.7 391.6 392.9 393.9 392.6 391.1 387.5 385.0 380.8 376.2 368.8 364.3 359.4 354.1 349.1 344.8 341.5 337.3 335.6 334.7 332.9 331.3 330.5 328.1 328.3 328.2 329.9 331.4 329.7 327.0 317.5 306.4 299.0 292.3 291.6 291.3 291.0 293.2 294.9 294.9 293.8 291.4 287.5 283.4 278.8 275.6 271.5 267.2 262.1 257.0 252.0 248.2 247.0 246.8 246.8 247.1 246.1 245.3 243.3 243.5 244.5 246.1 247.5 249.1 248.3 248.9 248.6 248.8 247.6 245.6 245.0 245.4 245.2 245.8 247.2 248.7 250.8 250.1 249.0 248.2 247.9 247.3 246.1 240.1 230.4 222.6 221.8 220.2 220.0 219.3 218.9 218.4 218.6 217.1 217.6 218.7 219.3 219.4 219.2 218.2 218.1 218.5 218.4 218.4 218.2 218.1 218.7 218.9 219.9 220.1 220.5 220.2 219.2 219.1 219.4 220.4 220.5 221.0 221.2 222.8 222.8 223.6 222.8 221.6 218.2 213.2 206.2 210.6 217.1 222.4 228.2 234.5 239.9 246.9 253.3 258.4 258.1 258.6 258.3 254.8 251.8 247.8 242.5 240.4 239.6 238.2 239.4 242.1 246.6 251.0 256.2 258.7 260.5 259.6 257.3 253.6 245.3 234.8 227.7 224.8 225.6 230.4 237.8 246.5 254.8 260.8 265.2 267.7 266.7 260.4 250.6 238.5 226.9 218.2 210.4 203.8 198.8 194.0 189.6 185.5 181.7 178.4 174.5 171.0 167.9 165.3 161.6 158.6 156.1 153.0 150.5 148.4 145.8 145.6 150.5 157.4 165.9 173.6 185.8 199.7 219.1 235.6 250.6 257.3 256.0 249.8 239.9 232.4 229.5 228.5 232.8 236.0 239.6 243.9 248.6 253.3 258.9 262.0 259.9 260.2 258.9 255.9 252.8 250.6 249.0 248.0 248.7 249.2 249.9 247.9 241.3 221.5 222.2 224.0 225.4 228.0 230.7 230.8 222.7 219.2 219.0 220.8 220.9 221.5 221.0 220.4 218.1 217.1 215.5 213.2 206.7 194.7 192.3 190.6 188.6 186.5 184.1 182.8 181.4 183.3 184.5 187.5 189.5 192.1 194.2 195.4 196.6 195.9 194.5 194.0 193.8 193.4 192.8 194.1 194.8 194.6 194.1 194.8 195.4 195.0 194.7 195.4 195.9 197.6 198.7 199.4 199.0 197.0 195.5 193.9 188.7 180.9 168.7 165.9 179.0 191.5 204.4 218.0 231.5 232.1 233.9 232.1 230.1 225.2 220.5 215.8 213.6 212.1 213.1 215.9 220.4 225.8 231.2 235.0 237.8 237.3 234.2 229.2 222.6 214.8 209.4 206.2 205.1 205.2 208.7 214.9 220.8 227.2 233.0 237.4 240.7 242.1 240.0 234.6 223.4 209.5 198.1 194.0 191.6 188.7 186.5 184.4 182.1 180.2 178.0 176.1 173.9 172.2 169.5 167.9 166.1 164.5 162.3 160.6 159.0 157.3 155.8 153.6 152.1 150.0 148.5 146.8 152.5 166.0 175.3 190.6 201.8 214.0 222.1 226.3 226.3 223.8 219.6 215.2 208.3 198.8 201.7 205.0 209.5 213.4 216.8 220.5 220.8 220.9 222.1 222.5 222.4 221.5 220.7 219.9 220.5 220.6 218.4 210.5 201.6 200.9 201.7 201.5 200.8 200.1 200.0 198.7 194.3 194.6 195.3 196.1 197.3 198.5 197.8 197.6 197.5 196.8 195.5 195.1 195.7 196.4 196.8 198.2 200.0 204.9 212.8 217.5 221.1 220.7 222.3 222.8 222.5 221.5 220.4 220.1 219.9 220.2 219.8 218.2 212.7 206.4 213.4 221.1 229.7 238.2 246.7 255.4 265.6 258.0 249.6 247.5 247.6 247.3 247.8 248.9 249.8 249.8 248.2 245.1 235.7 215.3 209.5 203.9 192.6 182.4 172.5 164.9 156.7 156.5 159.3 164.5 166.7 168.9 170.0 168.7 162.9 156.4 151.2 148.1 147.5 149.3 153.0 159.8 168.2 175.8 181.5 183.5 182.1 175.7 166.7 158.3 150.8 147.0 146.2 148.4 152.7 157.9 166.5 173.6 178.4 181.0 180.4 176.0 167.0 157.4 147.7 145.4 144.1 143.6 143.2 143.4 143.1 143.4 143.1 143.0 143.0 142.9 142.9 142.8 143.0 143.0 143.2 144.0 143.9 144.2 144.3 143.6 144.1 143.7 137.8 139.8 141.6 143.9 145.5 146.0 148.2 152.0 157.7 162.0 164.9 165.9 165.9 164.9 163.8 161.7 161.3 160.0 159.8 161.5 164.3 165.2 165.5 165.6 166.3 165.8 164.9 164.6 164.4 163.5 162.0 157.9 153.7 195.2 249.2 307.1 311.9 313.7 315.9 320.0 272.7 168.5 151.0 148.3 147.5 148.0 148.0 148.0 148.2 148.3 147.4 147.1 146.2 144.6 145.9 147.8 149.3 151.4 153.1 154.3 154.2 155.9 163.3 164.4 164.7 163.8 163.6 163.3 164.1 163.9 163.4 163.1 163.6 164.1 163.1 161.5 157.4 163.6 169.6 176.0 182.6 189.1 195.6 198.7 197.7 197.3 197.1 195.9 195.5 195.2 196.4 196.7 197.1 196.6 195.5 191.0 180.3 179.4 186.9 194.7 203.1 211.1 221.8 224.1 223.4 224.1 223.9 221.4 216.3 212.3 208.1 204.0 201.4 200.6 202.0 204.9 210.9 217.6 225.0 229.6 231.2 230.3 225.2 218.5 211.2 207.4 205.6 205.4 208.1 212.4 215.9 219.5 223.1 225.5 228.1 229.7 227.5 225.2 220.9 219.6 218.1 219.4 220.3 223.2 222.0 221.4 223.4 222.3 222.1 222.0 220.1 219.1 218.9 219.2 219.4 220.3 220.4 217.9 214.2 209.1 202.2 197.2 193.7 192.4 193.0 194.0 194.2 195.4 196.3 197.1 196.5 196.7 196.6 196.7 195.2 194.9 195.0 196.5 195.6 194.9 195.3 195.0 208.9 222.2 226.1 226.3 225.2 225.8 225.7 224.7 222.7 220.2 219.8 219.4 218.6 217.9 217.6 218.3 218.0 217.9 218.6 218.5 219.1 220.1 220.4 221.1 220.6 220.0 220.4 220.5 222.2 222.0 221.2 220.8 221.0 221.0 221.3 220.6 217.9 216.4 215.0 212.4 213.7 223.0 233.9 242.8 249.2 254.9 257.2 258.1 258.9 259.4 257.6 255.1 255.0 255.1 255.7 256.4 259.2 262.9 265.9 276.9 285.5 293.7 296.6 299.7 298.8 297.3 294.9 293.1 292.3 293.3 294.3 294.4 291.8 285.6 275.8 269.9 267.7 265.1 263.0 260.7 258.2 255.7 252.8 251.0 247.2 243.1 243.3 248.9 252.8 255.3 254.7 252.3 247.7 240.9 235.3 232.6 232.9 236.2 242.7 249.6 256.4 261.2 265.0 265.5 264.2 259.5 252.1 240.5 229.9 224.3 224.4 226.4 230.9 239.2 249.2 258.8 266.1 269.8 270.0 265.8 257.8 246.8 237.3 227.5 216.8 213.8 210.7 207.8 204.7 202.5 199.9 197.8 195.2 192.8 190.6 188.0 185.7 183.3 181.0 179.0 176.7 174.3 172.3 169.6 166.5 163.9 161.3 159.2 160.6 169.0 181.0 190.6 203.9 216.3 233.9 244.7 250.6 250.7 248.1 244.2 238.3 230.0 223.4 222.1 230.8 240.2 250.5 253.3 249.8 249.0 248.2 246.9 245.9 244.8 244.7 244.2 245.8 246.5 247.7 249.7 247.2 244.2 235.3 229.2 228.3 230.0 241.9 233.0 226.8 222.1 220.8 219.8 219.0 218.8 219.7 220.4 220.3 219.6 219.3 219.7 219.4 216.5 212.1 206.2 200.9 196.4 191.0 190.3 189.7 190.6 191.2 193.9 196.3 197.1 197.5 197.0 196.8 196.0 196.1 196.5 195.8 194.0 188.8 185.5 195.5 205.0 215.5 225.6 225.4 222.8 220.9 220.4 220.4 220.6 221.2 221.5 221.3 221.4 221.6 220.9 220.4 220.0 219.2 219.3 221.2 222.2 223.7 225.4 225.5 227.1 227.3 229.8 230.3 231.4 230.0 230.1 228.7 228.0 227.9 228.0 228.6 230.9 236.9 243.0 249.6 254.7 257.6 258.3 258.2 257.3 255.4 250.5 242.7 236.4 231.9 230.6 232.0 238.3 246.3 254.5 261.5 265.5 267.1 266.0 258.4 248.5 234.8 229.8 225.5 220.7 216.9 212.1 208.0 204.1 200.9 197.2 193.8 190.7 187.6 184.7 181.3 178.4 175.6 172.0 169.2 165.9 163.1 160.3 157.1 154.3 151.0 151.3 160.2 176.8 190.9 208.5 225.2 240.8 251.3 254.4 255.0 251.3 246.1 238.3 225.3 228.5 233.2 238.3 243.7 248.1 253.6 251.2 248.6 249.9 249.0 248.1 247.0 246.0 247.3 246.8 246.8 245.5 243.5 239.0 230.1 215.6 211.0 213.9 217.5 220.1 222.0 219.4 218.1 219.6 219.7 220.2 220.1 221.1 221.6 220.5 219.7 219.5 220.6 220.5 221.4 221.8 223.3 224.2 224.3 227.4 236.8 244.1 247.8 248.1 248.5 247.9 247.1 246.3 246.7 247.7 248.7 249.1 249.3 247.9 243.1 232.7 224.4 229.7 234.2 238.5 242.5 250.9 253.9 261.4 275.3 294.5 310.5 319.3 329.8 331.6 330.0 330.6 329.6 327.0 320.4 309.4 299.5 301.2 303.5 305.7 308.8 310.1 308.1 300.8 297.1 297.6 297.8 300.1 300.5 298.7 295.3 291.4 286.9 281.2 277.7 277.1 279.9 283.9 289.1 296.4 301.1 307.3 310.4 311.4 308.5 301.8 290.8 282.3 276.5 274.1 277.0 282.8 290.9 296.9 303.1 309.6 314.0 315.1 309.4 295.9 282.6 278.0 271.9 266.4 259.3 251.1 244.6 240.1 235.2 230.6 225.7 221.7 217.1 212.3 208.7 205.1 201.3 198.5 195.0 192.2 189.0 185.6 182.5 183.0 193.8 204.1 217.0 232.5 253.9 273.6 291.6 299.0 302.4 299.7 293.5 288.5 281.7 273.5 270.3 275.8 282.2 288.1 294.0 300.9 305.2 300.8 297.1 297.0 295.9 294.8 293.9 294.4 293.7 293.0 293.8 294.3 292.8 292.2 289.4 287.1 283.5 276.6 272.6 269.7 276.0 278.5 279.6 278.8 278.1 273.4 268.1 263.4 261.2 257.7 254.9 252.8 249.8 244.5 238.3 246.2 255.6 265.9 275.0 285.4 295.2 304.0 298.2 293.9 292.3 291.7 291.8 292.8 293.2 294.0 294.6 295.4 294.8 294.5 293.5 293.2 291.4 289.5 288.6 292.8 299.4 309.8 317.9 323.2 326.9 329.1 329.8 329.9 329.0 329.5 329.0 329.0 329.5 330.0 330.6 331.4 325.9 320.5 317.9 318.5 326.9 336.3 341.9 345.1 348.3 351.9 353.8 353.5 353.6 352.3 352.0 351.0 349.3 350.6 356.8 367.0 376.0 386.8 394.1 398.3 398.4 396.6 392.5 389.6 387.3 386.5 387.7 388.7 389.8 389.7 390.4 391.3 391.9 392.1 391.8 387.6 376.7 347.9 336.5 340.2 345.7 351.2 360.8 366.9 363.1 359.9 354.6 352.0 347.7 341.5 338.0 331.5 328.6 326.8 328.0 329.9 329.2 324.5 315.1 301.3 289.4 280.9 287.0 289.7 294.6 293.7 294.1 292.5 290.4 292.6 294.1 295.7 296.7 296.8 296.7 295.0 290.6 283.8 272.5 257.0 234.6 238.5 238.7 241.2 241.8 242.4 243.6 245.0 248.3 248.7 249.2 249.2 248.9 247.3 243.0 242.3 240.1 239.4 237.4 237.9 237.3 240.0 241.9 245.0 246.9 247.3 247.5 248.2 249.8 250.0 249.0 248.7 248.6 248.8 247.0 244.3 238.4 230.8 225.0 221.4 217.4 215.2 212.0 208.9 205.2 204.2 208.7 213.9 218.6 222.9 225.1 223.9 222.6 220.4 218.1 217.3 217.6 218.2 219.3 220.1 221.3 221.6 223.1 223.0 223.0 222.0 220.3 218.8 218.3 217.9 217.7 218.8 219.6 220.9 222.6 221.5 221.2 219.7 215.7 209.3 199.5 189.9 197.8 205.2 213.6 222.6 231.7 239.8 248.5 254.1 257.3 258.4 256.5 251.7 247.9 243.6 238.1 235.1 234.9 237.6 242.8 249.0 254.4 260.3 262.8 264.0 262.7 258.9 254.5 247.2 237.2 230.5 228.5 227.1 230.0 239.3 249.8 257.7 264.3 267.3 267.7 265.3 255.9 245.8 238.9 230.2 223.7 215.7 209.8 204.5 199.8 196.0 192.8 189.2 186.2 183.1 179.7 176.7 173.8 171.0 168.5 165.5 162.3 159.4 155.7 151.8 150.2 151.7 156.9 163.7 168.8 177.3 190.5 204.1 220.1 234.4 247.7 254.0 254.0 249.4 242.7 234.1 228.1 231.9 236.6 240.1 244.5 249.0 254.1 259.5 254.9 251.8 251.6 251.2 250.0 249.0 248.1 247.4 247.2 248.7 249.0 249.0 246.6 241.5 234.4 228.2 222.9 222.0 221.0 222.1 218.6 216.9 216.2 216.6 217.5 219.6 220.5 218.8 216.3 215.9 215.4 213.7 207.3 198.9 196.5 195.6 195.0 194.0 193.4 191.6 190.9 191.1 189.5 189.0 189.8 190.9 192.9 194.2 195.5 195.6 195.2 195.1 194.2 193.8 193.8 194.0 194.4 195.0 195.1 195.0 195.4 196.1 195.4 194.7 195.6 196.6 197.5 198.4 199.0 198.0 196.4 195.3 192.7 185.3 172.1 166.7 176.6 187.1 197.3 209.3 221.7 234.9 234.6 233.8 231.7 228.3 223.6 218.9 214.1 212.2 211.4 212.6 215.8 220.4 226.8 231.9 236.0 238.0 237.2 233.0 225.5 217.7 209.7 206.1 204.4 205.0 207.8 214.0 221.5 227.2 232.3 236.2 236.2 232.9 228.7 221.5 221.1 219.9 219.2 217.1 212.1 208.1 204.6 201.0 198.2 194.8 192.2 188.9 186.7 183.8 181.6 179.5 175.0 170.9 166.3 163.7 161.6 159.5 157.8 155.8 153.8 150.9 148.9 146.1 147.3 153.2 159.6 166.0 173.5 180.7 188.6 195.7 198.7 199.4 197.8 196.0 192.0 184.1 184.1 191.0 196.4 202.5 208.5 215.6 218.0 219.4 220.4 220.4 220.1 219.0 219.2 219.0 219.7 220.7 220.5 219.3 218.2 214.5 208.8 219.3 228.4 238.3 248.4 260.6 253.5 250.5 249.6 247.8 247.4 246.5 246.7 245.1 245.7 247.2 247.5 245.7 242.9 238.4 229.0 229.7 230.2 230.8 231.3 229.7 224.4 219.0 218.6 218.0 220.2 220.9 221.3 221.8 221.8 221.8 221.0 218.0 214.9 207.8 211.6 219.8 229.1 237.3 247.0 256.3 251.4 249.6 250.9 250.1 249.4 248.7 246.7 245.5 246.0 247.5 248.7 249.2 248.3 243.4 237.7 227.4 236.1 245.8 257.1 268.2 280.4 294.1 301.1 300.5 302.6 305.6 307.3 305.5 302.1 296.3 291.9 288.9 286.4 284.9 287.4 291.6 297.1 301.7 305.5 306.0 304.7 301.0 297.4 292.8 285.9 279.5 274.7 274.6 276.7 283.4 288.7 296.6 301.5 303.5 303.9 303.3 302.8 299.0 294.4 290.1 285.7 279.5 273.7 265.6 257.6 252.3 246.0 241.2 235.9 231.6 226.7 222.8 218.9 214.4 210.8 207.7 204.3 201.9 198.0 194.4 191.2 188.3 185.0 188.0 198.8 215.9 234.6 255.1 277.9 291.9 300.0 301.8 297.1 293.0 291.1 291.7 291.0 288.8 283.1 278.3 282.0 285.8 289.8 293.8 294.0 293.6 293.9 293.6 294.2 293.1 293.9 294.5 293.4 290.5 289.0 285.6 285.5 278.3 272.4 257.6 249.2 247.1 246.7 246.5 247.2 247.5 246.3 246.1 246.5 248.7 249.9 249.8 247.9 245.6 243.9 241.4 238.5 233.1 230.4 229.7 228.5 228.3 227.3 225.8 225.6 223.2 220.6 218.8 217.4 217.5 218.6 219.7 221.5 221.8 221.9 221.1 220.6 218.5 212.7 217.9 223.3 230.0 237.0 245.9 251.5 250.1 247.8 248.4 248.4 247.7 247.5 248.3 248.2 249.5 250.3 250.9 250.8 245.0 232.5 243.2 254.2 266.5 280.2 295.0 311.5 327.8 338.6 334.4 335.1 334.5 334.6 332.8 330.7 327.5 324.0 323.9 322.3 323.4 326.7 328.7 331.6 336.3 337.3 336.4 334.6 334.2 332.5 329.9 326.6 324.3 322.5 325.3 328.1 329.6 331.5 329.6 329.3 328.6 327.8 322.7 313.2 290.3 279.9 283.0 285.1 287.4 288.2 287.9 287.8 289.5 290.8 291.8 293.3 294.3 295.3 295.0 293.7 293.7 295.1 295.5 294.7 293.4 294.7 295.3 302.6 310.4 320.8 327.6 332.6 331.8 332.5 332.8 330.6 328.2 327.6 326.4 328.2 329.4 329.3 327.0 324.6 320.2 311.3 317.1 337.1 353.1 370.7 388.6 379.2 372.3 371.6 371.3 369.8 367.3 365.0 365.7 366.4 366.7 366.5 366.9 363.9 361.4 357.4 351.4 345.7 344.1 340.1 338.6 334.7 331.0 329.4 329.3 329.2 330.6 332.2 333.5 335.0 333.3 330.5 327.8 321.9 302.8 284.0 267.9 268.0 271.5 276.2 281.8 285.4 285.4 288.2 291.4 298.6 301.2 303.1 300.9 298.1 293.9 291.0 289.7 289.4 289.7 291.2 291.9 292.7 292.3 292.0 291.6 292.5 294.1 294.4 293.0 293.2 293.8 294.9 295.3 296.4 295.8 294.9 293.3 288.4 281.3 269.9 274.0 283.2 290.5 299.7 311.0 323.4 334.7 331.7 334.6 337.9 339.3 337.1 333.3 328.7 328.2 325.8 324.3 324.0 323.5 323.5 323.3 324.0 323.3 323.5 323.9 323.7 326.0 327.4 329.9 333.2 335.7 338.7 340.3 339.1 338.5 334.7 329.0 324.2 319.3 317.6 318.9 322.4 326.0 331.3 335.4 339.9 342.4 343.4 342.3 339.3 333.4 326.4 319.5 314.5 314.5 317.9 323.3 328.4 336.6 345.7 352.3 352.3 347.4 338.0 325.6 308.5 289.7 272.7 268.1 263.8 258.4 253.6 248.6 243.1 237.7 232.8 228.1 223.8 220.1 216.0 211.4 206.8 202.8 198.7 195.0 191.4 188.6 184.7 179.9 182.9 190.7 197.8 206.1 213.8 218.7 223.2 226.9 229.8 230.3 231.4 233.9 240.6 245.2 251.5 256.5 261.3 263.6 263.6 263.1 261.3 260.7 259.6 260.6 261.8 261.3 261.4 262.4 262.7 262.9 260.9 258.2 248.3 250.2 258.9 266.2 274.7 284.1 294.7 304.5 317.4 326.5 320.4 319.7 319.5 318.9 317.3 314.9 311.5 308.8 305.5 302.7 301.4 301.7 302.8 307.1 311.3 316.1 317.5 317.6 315.6 315.0 314.7 315.0 316.6 316.9 318.1 318.2 315.5 312.0 303.6 293.9 297.6 302.8 307.4 313.4 318.4 322.7 327.1 331.7 338.3 337.7 324.6 315.7 315.1 315.4 315.8 314.4 312.7 312.1 312.4 312.6 310.8 310.2 310.1 308.5 308.7 309.4 312.3 317.0 324.2 337.8 345.6 352.8 356.7 355.7 354.0 351.8 350.0 347.3 345.3 344.8 344.8 346.9 348.8 350.4 352.5 353.1 352.6 353.2 353.8 354.2 352.0 351.6 349.4 348.2 348.2 347.3 349.5 350.5 351.6 351.7 352.7 352.7 352.3 350.7 349.1 347.9 347.4 347.3 348.5 347.9 345.2 345.4 346.9 349.0 350.7 352.5 352.4 352.6 352.1 352.1 351.5 351.5 353.0 349.9 344.8 331.9 332.6 340.4 345.4 350.0 352.4 353.9 354.8 350.8 350.7 351.0 351.5 350.3 349.5 347.5 347.4 348.2 347.0 344.3 336.9 323.7 307.4 286.2 275.4 274.6 276.1 274.9 271.6 270.5 274.8 276.3 275.7 274.6 272.3 269.2 265.3 262.8 262.5 260.9 258.6 253.5 244.8 249.1 254.2 258.2 261.6 265.3 267.2 266.0 262.3 261.7 262.2 262.7 263.2 264.5 263.8 263.1 264.6 264.6 263.0 259.9 253.6 251.7 273.1 291.2 311.9 331.6 351.3 353.8 353.3 353.3 352.2 350.9 349.0 347.9 348.6 349.0 349.0 346.9 345.1 340.2 329.1 317.1 300.7 309.5 316.4 324.2 328.8 333.5 318.5 312.9 313.5 314.9 316.6 313.4 311.9 307.8 304.4 302.3 301.1 301.1 301.5 303.7 307.2 310.4 313.7 315.1 316.7 317.5 317.1 315.3 312.9 308.6 305.7 305.2 307.2 307.8 307.3 307.1 309.4 311.7 314.3 316.5 317.8 319.7 320.8 319.8 318.1 315.5 312.5 309.1 306.3 303.6 301.4 301.6 303.1 306.6 312.5 318.0 320.4 322.1 322.4 320.7 317.5 309.8 302.3 298.4 297.0 299.2 301.6 304.9 308.0 309.3 310.2 311.7 312.3 313.8 314.4 313.2 310.4 310.4 312.4 310.4 307.0 294.7 285.4 292.4 304.0 315.5 324.1 331.7 320.2 313.8 312.0 310.8 311.0 311.3 310.8 310.8 311.0 311.1 310.3 307.7 303.2 295.9 288.7 266.4 261.0 261.5 275.4 270.1 264.5 261.3 261.2 259.7 259.0 259.7 260.9 261.2 261.4 262.2 262.6 263.2 263.1 262.6 260.4 259.3 257.8 268.9 281.4 293.9 307.5 309.0 309.3 311.2 309.5 309.3 309.2 308.9 309.1 308.6 308.5 308.6 308.5 308.9 307.5 299.6 290.5 305.1 320.4 335.9 348.7 352.1 350.0 351.0 351.3 349.5 349.0 347.6 348.6 347.7 348.2 347.6 347.4 341.3 332.0 324.6 322.9 323.9 326.3 332.5 340.2 347.7 360.2 370.3 376.5 380.4 382.2 382.6 381.2 380.6 378.4 377.3 375.8 376.1 379.6 388.6 399.2 407.1 413.2 415.7 416.4 418.4 419.5 418.2 416.9 413.9 413.2 412.6 414.7 414.3 414.4 412.8 410.0 406.6 397.7 375.9 356.8 361.1 364.2 369.6 374.4 380.9 385.4 377.9 371.9 367.6 365.9 361.9 359.9 357.0 353.7 351.1 349.2 347.1 346.2 346.6 348.8 350.0 349.4 346.7 340.1 331.8 326.5 323.1 318.4 315.4 312.9 311.3 312.8 313.4 314.2 314.8 315.2 311.7 308.5 302.5 296.4 287.8 279.7 270.4 264.3 260.3 257.7 259.5 261.9 263.2 264.3 264.4 265.5 265.0 264.3 261.6 261.2 259.5 259.5 261.4 262.4 263.5 265.2 266.3 263.9 265.2 265.1 264.6 263.1 261.9 260.3 259.7 260.9 261.4 264.7 266.4 264.5 262.0 255.0 248.4 253.0 255.1 257.7 260.0 262.0 263.5 265.8 268.2 268.1 257.6 250.1 244.3 243.0 242.1 240.0 239.8 237.7 236.2 235.9 235.6 234.4 234.3 234.3 234.6 234.8 233.6 233.7 232.7 232.7 235.5 237.3 237.7 236.9 235.3 234.4 234.3 234.1 234.6 234.4 232.6 226.4 227.7 232.1 237.8 243.1 249.3 255.7 261.9 269.7 276.5 268.9 268.2 269.7 270.7 270.3 267.0 263.1 259.8 258.9 257.2 255.8 255.1 255.1 257.0 261.1 263.8 268.7 270.6 270.4 267.2 266.2 262.1 257.7 254.7 250.9 248.0 247.2 248.1 251.6 256.7 261.0 266.1 270.0 274.8 277.0 276.6 272.9 263.9 255.1 249.1 245.4 242.1 235.8 229.8 227.9 225.0 222.8 221.2 219.2 218.2 217.3 215.6 214.5 212.2 212.0 210.7 209.8 209.4 208.6 207.3 205.4 204.5 204.3 205.8 209.0 213.9 221.4 231.4 246.1 253.4 260.1 262.6 264.7 265.4 265.3 263.6 261.6 259.4 258.3 257.2 257.8 259.8 258.6 258.5 260.7 260.5 260.4 259.7 259.0 258.6 259.4 261.4 261.7 261.1 257.4 247.2 238.6 230.1 233.7 233.9 241.5 239.1 237.2 234.2 232.0 232.9 232.8 234.0 234.6 234.6 233.8 232.7 231.6 229.6 222.9 215.2 203.3 203.3 203.7 204.0 204.3 204.2 204.7 202.8 205.8 208.0 209.9 209.3 209.6 207.3 203.6 201.3 200.0 198.8 199.8 201.8 204.3 205.6 206.6 208.1 208.3 207.8 207.6 207.2 207.6 207.5 207.4 207.6 207.2 207.3 207.5 207.7 207.4 207.3 207.4 207.2 207.4 208.1 207.2 207.2 207.9 208.6 214.5 227.4 235.5 238.6 242.9 244.7 242.8 240.6 235.8 230.6 227.4 226.2 225.8 227.5 231.0 235.5 241.2 245.0 246.6 247.1 244.5 241.8 237.3 230.8 223.8 219.4 216.9 218.0 220.3 224.7 230.9 238.5 245.2 250.4 252.4 251.9 248.8 241.1 234.8 227.9 225.1 221.6 218.6 211.1 199.4 196.4 193.7 190.7 188.4 185.4 182.5 179.5 177.0 174.0 171.6 168.7 165.8 162.9 160.3 157.8 155.1 152.4 149.5 151.1 154.4 162.7 173.7 185.9 198.0 213.4 225.4 234.5 235.7 235.6 233.2 232.0 230.2 228.9 228.1 226.0 225.0 226.2 229.4 233.4 234.6 232.1 231.7 232.3 232.9 233.3 233.9 233.7 233.3 232.1 229.4 224.3 219.7 212.5 207.0 208.6 208.7 209.7 209.9 210.7 206.5 207.0 206.8 206.5 206.7 207.1 207.0 207.2 207.4 207.9 209.5 210.0 210.3 209.2 204.8 202.5 204.4 210.3 218.4 225.6 232.7 233.2 233.4 234.4 234.6 235.0 235.3 235.0 233.9 233.0 232.7 233.9 233.9 231.7 229.3 222.5 221.4 224.0 233.0 244.1 256.4 261.6 265.1 264.2 263.7 261.5 261.2 262.3 262.5 263.7 263.2 262.6 258.5 250.8 238.0 223.5 216.7 208.9 200.4 192.5 184.9 178.4 173.9 172.4 174.5 177.7 180.6 181.4 181.6 179.8 173.2 167.9 163.4 161.4 160.9 163.1 168.6 175.6 182.3 187.8 191.8 193.0 191.2 186.0 177.3 167.0 160.3 157.5 157.2 159.1 162.4 171.4 179.0 185.2 190.3 191.8 191.1 187.0 180.7 171.5 171.0 170.2 169.2 168.0 167.3 165.9 164.7 163.9 163.3 162.6 162.0 161.3 160.7 159.7 157.7 156.4 155.0 153.9 152.8 152.4 151.6 151.6 150.6 150.0 148.9 147.4 147.3 148.7 150.4 152.8 157.7 164.1 169.2 172.7 175.3 176.8 178.1 176.9 175.4 174.7 174.1 174.4 175.3 175.2 175.7 175.6 175.8 175.0 175.6 176.7 175.7 174.8 174.1 174.3 174.8 174.6 171.8 163.8 155.5 156.0 157.4 157.9 158.6 158.9 158.5 157.4 156.7 154.8 154.2 155.2 155.9 156.9 157.1 157.4 157.7 157.6 156.6 155.9 154.8 153.9 154.5 155.6 157.1 160.9 165.7 169.7 173.2 175.4 176.1 175.5 175.6 175.3 174.9 174.2 174.0 174.1 173.6 172.5 167.7 169.1 177.0 183.3 190.7 197.5 204.2 214.1 209.4 208.6 207.8 206.5 206.1 206.5 206.2 205.9 205.9 207.4 207.5 207.0 202.8 190.9 188.6 191.4 196.3 199.2 206.1 200.3 202.3 202.0 204.4 205.4 206.2 207.4 207.6 207.3 205.6 204.0 203.0 202.9 205.9 212.0 221.3 230.2 236.1 237.2 236.7 234.3 232.1 229.8 229.3 229.6 230.7 231.3 233.1 233.8 233.4 233.5 233.1 231.6 228.6 227.0 221.6 218.2 224.6 231.2 238.4 243.4 248.3 237.8 236.0 235.2 234.7 233.0 232.0 232.0 230.2 230.8 231.9 233.0 233.4 233.1 231.5 227.1 219.7 209.1 200.1 202.1 205.2 209.5 206.0 206.8 206.6 207.6 207.4 207.6 208.6 209.0 209.1 208.7 208.8 207.2 204.1 193.7 192.7 203.0 213.0 223.6 235.0 233.7 233.3 232.9 232.6 233.8 234.3 233.9 232.9 232.7 232.9 233.3 233.4 233.3 229.5 225.1 217.4 221.2 233.0 242.9 253.9 264.4 271.2 267.1 261.9 261.8 261.8 262.2 262.3 262.6 262.3 261.8 262.2 262.7 263.8 264.6 263.5 263.2 269.1 276.6 293.0 314.3 332.0 347.3 355.0 354.7 351.9 349.5 348.5 347.2 346.9 347.4 348.4 348.1 345.9 338.4 324.4 329.9 333.6 337.8 342.9 346.6 352.9 348.5 334.5 323.8 317.5 312.8 312.2 312.4 313.5 314.7 313.9 312.9 310.9 308.3 303.4 294.6 284.0 271.9 259.6 250.2 247.9 248.1 251.1 254.0 258.1 261.8 262.5 263.5 264.1 263.2 261.0 259.8 257.5 255.3 255.3 257.3 259.3 262.2 266.0 271.1 274.6 277.9 278.3 275.3 270.2 264.6 256.4 248.8 245.0 244.7 246.6 250.4 256.2 261.7 267.8 272.6 276.3 275.6 270.4 264.2 257.1 251.4 247.6 243.9 236.2 234.9 235.1 234.8 234.6 234.3 234.3 234.5 234.6 234.3 234.6 234.4 234.5 234.8 234.6 234.8 234.6 235.5 235.4 238.0", + "f0_timestep": "0.011609977324263039", + "energy": "-74.2206 -71.0224 -68.4589 -66.2722 -64.9809 -64.2851 -63.7253 -62.4551 -61.3279 -59.7553 -58.7354 -57.3656 -56.4995 -55.2416 -54.4269 -53.2257 -52.2402 -51.4073 -50.2108 -49.7776 -49.042 -48.8501 -48.8406 -48.9131 -49.0304 -49.2074 -49.4136 -49.6386 -49.9166 -50.1808 -50.7379 -50.8993 -51.6198 -52.4751 -53.6283 -55.3858 -56.9495 -58.2487 -58.6172 -57.4522 -55.0175 -51.6719 -47.9491 -44.6147 -41.8682 -40.7055 -39.537 -38.2951 -36.7145 -34.9701 -32.9534 -31.0802 -29.1639 -27.399 -26.5553 -25.6153 -25.1022 -24.5266 -24.0971 -23.9256 -23.6075 -23.3799 -23.3706 -23.5236 -24.2367 -25.6559 -27.7623 -29.8598 -31.3011 -31.6734 -31.1082 -29.8474 -27.72 -25.1 -23.237 -21.9099 -21.3315 -21.4543 -21.6826 -22.1624 -22.4462 -22.8811 -22.9807 -23.1876 -23.146 -23.4293 -22.9874 -22.8893 -22.8989 -22.5563 -22.5085 -22.5248 -22.3715 -22.4259 -22.5676 -22.8144 -22.8617 -23.1382 -23.024 -22.8515 -22.9502 -22.9721 -23.0082 -22.7943 -23.1336 -23.6263 -25.0475 -26.6222 -28.5175 -29.8087 -30.1343 -29.813 -28.3668 -26.3037 -24.1352 -22.4482 -21.493 -21.2747 -21.0606 -21.2474 -21.3003 -21.895 -22.6236 -23.6046 -25.2215 -27.2328 -30.3243 -33.5473 -35.8034 -36.9307 -36.4451 -34.2649 -31.3232 -27.6877 -24.3919 -22.4809 -21.1762 -20.9023 -20.5477 -20.2399 -20.2948 -20.0923 -20.7803 -21.5777 -23.2607 -25.6499 -27.9869 -31.1674 -33.7629 -35.4897 -36.0821 -35.1215 -32.6975 -29.697 -26.4193 -23.3955 -20.967 -19.6448 -19.292 -19.2111 -19.4017 -19.8228 -20.5795 -21.146 -21.6981 -22.1436 -22.3063 -22.5179 -22.36 -22.2452 -22.1105 -22.1807 -22.0718 -22.2232 -22.7001 -23.1438 -23.7893 -24.5009 -24.7988 -25.5128 -26.3679 -27.1331 -27.5141 -28.1093 -28.3467 -28.2941 -28.4755 -28.5741 -28.9917 -29.6696 -30.7769 -32.8606 -35.8398 -38.7703 -41.6263 -44.1522 -46.282 -47.297 -47.9733 -47.9471 -47.6825 -47.5408 -47.5465 -47.839 -48.0932 -49.0751 -49.9778 -50.8759 -51.9207 -52.0876 -50.6752 -47.804 -43.3024 -38.1545 -33.0047 -28.5087 -25.0356 -23.2043 -22.5502 -22.3126 -22.0074 -22.0279 -22.2299 -21.9573 -22.1159 -22.2112 -23.0081 -24.693 -26.7794 -28.755 -30.8732 -32.1367 -32.5823 -31.871 -29.9987 -27.7429 -25.4157 -23.8714 -22.407 -21.7381 -21.5051 -21.633 -21.6289 -21.828 -22.0438 -22.1878 -22.7342 -23.5123 -25.0741 -27.6845 -30.7719 -33.057 -34.3193 -34.2033 -32.6946 -30.3951 -27.3442 -24.5469 -22.7546 -22.4515 -21.9385 -22.0188 -22.025 -22.2062 -22.1978 -22.3888 -22.3291 -22.3362 -22.252 -22.2067 -22.1885 -22.6653 -23.0535 -23.3872 -23.5953 -23.2902 -23.2094 -22.8828 -22.4682 -21.8859 -21.5506 -21.4876 -21.2417 -21.3624 -21.2578 -21.0669 -21.0886 -21.1853 -21.6643 -22.2887 -23.4819 -25.2428 -27.1553 -28.7389 -29.686 -29.4084 -28.4121 -26.7746 -24.7531 -23.1755 -21.9601 -21.5026 -21.1973 -21.4377 -21.4233 -21.5077 -21.6741 -21.7132 -21.5157 -21.4862 -21.3434 -21.1846 -21.0712 -21.1376 -20.9068 -20.9372 -20.4825 -20.341 -19.913 -19.6552 -19.3478 -19.2383 -18.964 -18.9863 -19.0845 -19.0373 -19.1148 -19.432 -19.4804 -19.9108 -20.1022 -20.1881 -20.4743 -20.462 -20.5142 -20.3125 -20.1675 -20.3739 -20.2778 -20.3932 -20.463 -20.928 -21.4316 -21.8108 -22.4934 -22.7957 -23.132 -23.3729 -23.3888 -23.4662 -23.4907 -23.7646 -24.1518 -24.9435 -26.2572 -28.2556 -31.2318 -34.8436 -38.6767 -41.8664 -44.5801 -46.2148 -46.8065 -46.4681 -46.2001 -46.1686 -46.4399 -47.1651 -49.0503 -51.083 -53.6693 -56.3417 -58.1089 -58.1922 -55.6639 -51.4024 -45.0306 -37.9533 -31.466 -26.0829 -22.4503 -20.6385 -19.8901 -19.9184 -20.0599 -19.8368 -20.0285 -19.9428 -20.0024 -20.2064 -20.8759 -22.1798 -24.6293 -27.4974 -30.1485 -31.9098 -32.3567 -31.652 -29.2946 -26.2233 -23.3811 -21.0877 -20.1497 -19.512 -19.3612 -19.3273 -19.4075 -19.3221 -19.4412 -19.5947 -19.7418 -20.1575 -20.7541 -21.8502 -23.6019 -25.5402 -27.2366 -27.9517 -27.7351 -27.0064 -25.1216 -23.6196 -22.2264 -21.1254 -21.2089 -21.3359 -21.3812 -21.6848 -21.9208 -22.0177 -22.4558 -23.1222 -23.8326 -24.8658 -25.8217 -26.9615 -27.147 -27.4434 -27.1138 -26.5146 -25.1762 -23.9983 -22.6977 -21.4417 -20.5839 -20.0822 -19.975 -19.7648 -19.5554 -19.8358 -19.7525 -19.9443 -19.9688 -19.9232 -20.195 -20.1295 -20.262 -20.4441 -20.4095 -20.084 -19.7787 -19.4961 -19.1506 -18.7373 -18.4231 -18.3846 -18.337 -18.1864 -18.2689 -18.6023 -18.6601 -19.0459 -19.6656 -21.3252 -23.3637 -26.6846 -30.2468 -33.224 -34.8127 -34.6241 -32.4549 -28.9187 -24.8904 -21.6959 -19.6443 -18.6739 -18.6243 -18.4747 -18.6673 -18.9802 -19.1148 -19.1982 -19.6744 -19.9484 -20.4128 -20.6935 -20.8352 -20.8833 -21.0337 -21.0989 -21.0265 -20.841 -20.7132 -20.6288 -20.4317 -20.3363 -20.0926 -20.128 -19.8818 -19.4821 -19.3102 -19.202 -19.2845 -19.2782 -19.5371 -19.6853 -19.7868 -19.6893 -19.7532 -19.8981 -19.8691 -19.7091 -19.5994 -19.2751 -19.1834 -19.1992 -19.1809 -18.963 -19.013 -18.7268 -18.7991 -18.7449 -18.5433 -18.9126 -19.0186 -19.261 -19.5014 -19.6235 -19.5584 -19.5991 -19.6243 -19.7914 -19.8448 -20.2209 -19.9774 -20.2206 -19.9738 -19.9535 -19.6423 -19.6718 -19.6275 -19.6696 -19.6417 -19.5612 -19.6504 -19.5496 -19.3866 -19.6689 -19.6952 -19.7135 -19.7935 -20.0273 -19.8793 -19.7374 -19.7264 -19.8867 -19.8268 -19.516 -19.5534 -19.4724 -19.3803 -19.2221 -18.9296 -18.9016 -18.6837 -18.4439 -18.4496 -18.3458 -18.533 -18.5063 -18.9731 -19.3451 -19.5202 -19.3447 -19.3875 -19.4652 -19.269 -19.2432 -19.0268 -19.037 -18.9922 -19.3255 -19.8208 -20.8148 -22.4845 -24.8016 -27.8128 -30.7476 -33.4222 -35.485 -36.2209 -35.4442 -33.2698 -30.3717 -27.5499 -24.7302 -22.8069 -21.3856 -20.7135 -20.193 -20.0101 -19.9561 -19.6777 -19.7028 -19.6577 -19.6971 -19.7025 -19.6955 -19.8717 -19.5256 -19.5452 -19.5658 -19.5086 -19.2687 -19.3009 -19.3641 -19.5387 -19.4669 -19.5201 -19.3435 -19.5016 -19.437 -19.1131 -19.7199 -20.2466 -21.4128 -23.0851 -24.5845 -26.3444 -27.7945 -28.8103 -29.3682 -29.077 -28.2515 -26.7871 -25.184 -23.2927 -21.765 -20.5137 -19.8159 -19.5642 -19.5604 -19.7266 -19.9452 -20.3362 -20.7311 -21.17 -21.4279 -21.5786 -21.7766 -21.7046 -21.5287 -21.6229 -21.5347 -21.7526 -21.8691 -22.1529 -22.4755 -22.7914 -23.2449 -23.7326 -23.9936 -24.4704 -24.8905 -24.8703 -24.7438 -24.8841 -24.7698 -24.9088 -25.1698 -25.7576 -26.2298 -27.1733 -28.6745 -30.9977 -33.6948 -36.8287 -39.8163 -42.2246 -44.0287 -44.5346 -44.6656 -44.033 -43.4765 -43.2793 -43.5216 -44.2621 -45.0188 -45.6584 -45.5654 -43.9758 -41.0564 -37.1821 -33.077 -28.8948 -25.5259 -23.3646 -22.2178 -21.7243 -21.6822 -22.1248 -22.5413 -22.6598 -22.6295 -22.6208 -22.6969 -22.5399 -22.8372 -23.1291 -23.7865 -24.6314 -24.8022 -25.0717 -25.0254 -25.0687 -25.0871 -25.0711 -24.7569 -24.2101 -23.1859 -22.5049 -21.4996 -20.895 -20.3668 -19.9053 -19.9573 -20.0651 -19.8444 -20.3563 -21.0406 -22.1344 -23.8455 -26.1111 -28.2674 -30.3276 -31.5132 -31.5888 -30.3896 -28.664 -26.1914 -24.3722 -23.0604 -22.4618 -22.3754 -22.3095 -22.2751 -22.5548 -22.8005 -22.6092 -22.5945 -22.7615 -23.583 -24.9063 -26.5349 -28.1245 -29.0503 -29.6664 -28.8502 -27.5732 -25.6432 -23.7982 -22.0971 -21.0597 -20.4537 -19.9858 -19.7806 -19.9103 -19.8889 -20.0917 -20.1661 -20.3168 -20.3383 -20.4049 -20.5811 -20.6856 -20.8215 -20.9474 -20.9518 -20.8466 -21.0436 -21.118 -21.1015 -21.1668 -21.28 -21.32 -21.551 -21.3956 -21.4096 -21.5895 -21.8728 -22.3245 -23.7903 -25.8607 -28.9534 -32.204 -35.3816 -36.6693 -36.6917 -34.9861 -31.8304 -28.212 -24.8361 -22.1053 -20.9327 -20.3314 -20.1128 -20.2185 -20.44 -20.713 -20.8403 -21.285 -21.4309 -21.7384 -21.7292 -21.8783 -21.8859 -21.7483 -21.8916 -22.1027 -22.3758 -22.6087 -22.8961 -23.0514 -23.4533 -23.4067 -23.5822 -23.9733 -24.2359 -24.2986 -24.3606 -24.1843 -24.1856 -24.2476 -24.3905 -25.0061 -26.0553 -27.546 -29.8803 -33.0528 -36.43 -40.1578 -42.8977 -45.6406 -47.1275 -48.2351 -48.6046 -48.7893 -49.1778 -49.851 -51.0541 -52.8178 -54.7757 -56.6213 -57.1955 -56.4098 -54.1285 -50.8364 -46.8677 -42.8423 -38.4821 -34.356 -30.7785 -28.0252 -25.3608 -23.5357 -22.2808 -21.9043 -22.0219 -21.8224 -22.0402 -21.7965 -21.9312 -22.1184 -22.5008 -23.4805 -25.1912 -27.0593 -29.1179 -30.069 -30.5308 -30.3339 -28.6722 -26.8509 -24.5958 -22.8568 -21.7534 -20.9903 -20.9418 -20.7409 -20.9282 -21.2796 -21.5875 -22.4374 -23.3118 -24.8758 -26.5376 -28.5122 -30.2908 -31.7517 -32.2411 -31.5542 -29.9405 -27.8888 -25.8688 -23.9479 -22.5217 -22.0009 -21.4956 -21.7271 -21.6832 -21.8502 -22.1254 -22.3166 -22.2216 -22.1694 -22.2971 -22.2915 -22.3879 -22.4159 -22.077 -22.073 -21.5143 -21.3345 -21.0393 -21.1258 -21.0952 -21.0114 -21.0985 -21.1197 -21.0423 -21.2437 -21.6145 -21.9795 -22.7338 -23.9725 -25.5303 -27.4682 -29.4785 -31.4738 -32.7615 -33.2796 -32.2817 -30.5399 -28.6579 -26.5852 -24.6131 -22.8336 -21.8422 -21.4501 -21.318 -21.2423 -21.5616 -21.8017 -22.3106 -23.4853 -25.8596 -29.1878 -33.2945 -37.0092 -39.1415 -39.4815 -37.6114 -34.686 -30.5624 -26.8732 -24.5688 -23.4578 -22.8471 -22.336 -22.5074 -22.5606 -22.6775 -23.2206 -23.6606 -24.319 -24.5791 -25.0829 -25.3954 -25.5825 -25.5443 -25.6072 -25.5607 -25.396 -25.4128 -25.3443 -25.5549 -25.6759 -25.9449 -26.2293 -26.978 -27.6415 -28.3277 -29.1257 -29.67 -30.2291 -30.9416 -31.3818 -32.0376 -32.4041 -33.2422 -34.1829 -35.9762 -38.1632 -40.8001 -43.4407 -45.7023 -47.5048 -48.6783 -49.1055 -49.2072 -49.4824 -49.8002 -50.7522 -51.9729 -53.596 -54.9772 -56.0618 -56.8114 -56.25 -54.2032 -50.6809 -45.7707 -40.5457 -35.0827 -30.3007 -26.6948 -24.5786 -23.7554 -23.591 -23.6757 -24.0313 -24.3309 -24.438 -24.7493 -24.8444 -24.936 -24.7098 -24.5987 -24.5418 -24.1368 -24.0086 -24.0184 -23.8119 -23.7447 -23.8288 -23.628 -23.5074 -23.3243 -22.9633 -22.8482 -22.6148 -22.4411 -22.9457 -23.1944 -23.6563 -25.6988 -28.9182 -33.0974 -37.0074 -39.7213 -41.0942 -41.0508 -39.7325 -37.1841 -34.8491 -32.8987 -31.2714 -29.6473 -28.0927 -26.3547 -25.6249 -24.9925 -24.5358 -24.1002 -23.8046 -23.9157 -23.9496 -24.2169 -24.8658 -26.2047 -28.3084 -30.7233 -33.0411 -34.3789 -34.3721 -33.0777 -31.1101 -28.7305 -26.9057 -25.5103 -24.8052 -24.6324 -24.5232 -24.6251 -24.851 -24.7237 -24.8951 -24.991 -25.7727 -26.3981 -27.7778 -29.3682 -31.2386 -32.9771 -33.6746 -33.2045 -31.8108 -29.6338 -27.4211 -25.1425 -23.4201 -22.6933 -22.2769 -22.1863 -22.1232 -22.1081 -22.1744 -22.3393 -22.6308 -23.8195 -25.3658 -27.6463 -29.8237 -31.6311 -32.314 -32.2434 -30.4573 -28.4223 -25.8913 -23.7636 -22.2912 -21.5204 -21.35 -21.4091 -21.6721 -22.3957 -22.7823 -23.0344 -22.9846 -23.3433 -23.2386 -23.2052 -23.0156 -22.8087 -22.6899 -22.7535 -22.6954 -22.7863 -22.7177 -22.8563 -22.9521 -22.7932 -22.9691 -22.8359 -22.8123 -22.7208 -22.5771 -22.7028 -22.6346 -22.7041 -22.7125 -22.6704 -22.7757 -22.8563 -22.7769 -22.7209 -22.6464 -22.519 -22.2206 -22.0444 -21.9252 -21.8911 -21.8825 -21.7024 -21.6431 -21.8687 -21.9959 -22.2445 -22.1816 -22.2414 -22.1976 -22.1268 -22.2085 -22.4077 -22.4945 -22.2976 -22.5161 -22.5192 -22.323 -22.2544 -22.0227 -21.677 -21.3406 -21.5813 -21.5651 -21.93 -22.1505 -22.4293 -22.8904 -23.3815 -23.88 -24.4708 -25.2983 -26.4586 -27.8662 -29.2628 -29.5699 -29.5423 -28.304 -26.8776 -25.1101 -23.2903 -21.9509 -21.8055 -21.4972 -21.5428 -21.6686 -22.0081 -21.8894 -21.9508 -21.9395 -21.9648 -21.8069 -21.79 -21.8336 -21.9295 -21.7299 -21.7564 -21.6376 -21.4934 -21.6405 -21.4344 -21.2067 -21.1893 -21.1045 -21.0567 -20.9647 -20.9858 -20.9448 -21.0138 -21.1996 -21.5103 -21.5935 -21.3514 -21.8373 -22.1618 -22.3662 -22.611 -22.3256 -22.0711 -21.5745 -21.0167 -20.412 -19.9282 -19.6547 -19.4732 -19.5553 -19.5301 -19.7448 -20.0363 -20.3051 -20.4744 -20.9528 -21.442 -21.445 -21.6559 -21.8676 -21.7157 -21.6346 -21.707 -21.3216 -21.2035 -21.1015 -21.079 -20.9257 -20.9746 -20.8354 -21.0194 -21.4726 -21.7156 -22.4601 -23.6824 -25.3555 -26.7378 -28.6068 -30.1091 -31.3751 -32.5915 -32.9645 -32.4617 -31.1735 -29.3143 -27.0827 -24.8519 -22.7083 -21.2353 -20.6732 -20.0844 -20.2674 -20.3508 -20.5633 -21.0552 -21.4046 -21.9718 -22.1315 -22.2962 -22.4095 -22.2777 -22.0943 -22.2757 -22.3081 -22.3254 -22.3289 -22.4917 -22.7661 -23.0361 -23.5435 -23.9307 -24.3096 -24.9101 -25.0951 -24.9547 -24.7469 -24.6459 -24.6064 -24.5901 -24.9336 -25.557 -26.2582 -27.8019 -29.8138 -32.9594 -35.9257 -39.4058 -42.0515 -44.0515 -45.3898 -46.2167 -46.6298 -47.2406 -47.88 -48.8678 -49.8544 -50.9084 -51.3212 -50.6605 -48.9419 -46.5841 -43.8994 -40.9142 -37.7478 -34.8563 -32.0995 -29.1815 -26.6579 -24.7023 -23.2379 -22.6246 -22.1454 -22.4223 -22.5492 -22.7446 -22.734 -22.6589 -22.6631 -22.7402 -23.0449 -23.7674 -25.2571 -27.1949 -28.7062 -29.7217 -29.6588 -28.6664 -26.8148 -24.6662 -22.6297 -21.1687 -20.5265 -20.4251 -20.7685 -20.9958 -21.3511 -21.5097 -21.8236 -21.8726 -22.4739 -23.3067 -24.7052 -26.4372 -27.7553 -28.145 -27.9286 -26.6379 -25.0052 -23.0768 -21.5935 -20.9698 -20.8502 -21.1704 -21.6571 -22.1102 -22.1342 -22.1537 -21.9319 -22.1458 -21.939 -21.9076 -21.8166 -21.8685 -21.9552 -21.8599 -21.7618 -21.9267 -21.8386 -22.1542 -22.3363 -22.517 -22.5167 -22.567 -22.3395 -22.4131 -22.1708 -22.6599 -22.5559 -22.9595 -23.3438 -24.2813 -25.5508 -28.171 -30.9788 -32.9956 -33.9859 -33.709 -31.9537 -28.9996 -25.6511 -22.726 -20.5415 -19.7784 -19.3213 -19.2394 -19.3649 -19.4016 -19.6947 -19.6789 -19.9202 -20.0336 -20.2058 -20.7315 -21.007 -21.4139 -21.6184 -21.871 -21.8244 -21.5529 -21.1414 -20.4964 -20.1894 -19.7415 -19.5283 -19.4173 -19.4322 -19.6277 -20.0234 -20.4444 -21.0436 -21.7975 -22.3377 -22.6508 -22.8457 -22.8491 -22.5666 -22.4191 -22.182 -22.0246 -21.8089 -22.2969 -22.5384 -23.147 -23.8052 -24.6052 -25.1711 -25.9721 -26.2643 -26.5626 -26.6188 -26.5586 -26.5448 -26.418 -26.614 -27.5612 -28.9764 -31.2976 -34.5187 -38.0193 -41.5312 -44.5173 -46.6256 -47.6678 -47.8864 -47.3977 -47.0727 -46.5755 -46.4395 -46.5136 -46.7688 -47.4563 -47.9535 -48.7201 -49.7657 -50.9523 -51.1537 -50.3002 -47.8174 -43.9245 -38.9329 -33.7801 -29.1152 -25.4844 -23.3702 -22.6886 -22.4297 -22.4028 -22.5718 -22.4981 -22.6515 -22.5713 -22.7983 -23.2499 -24.5684 -26.2757 -28.378 -30.0329 -31.032 -30.9769 -30.0481 -28.3182 -26.4714 -24.4973 -22.926 -22.1177 -21.7951 -21.24 -21.0301 -21.0918 -21.1116 -21.2531 -21.4855 -21.9189 -23.0272 -24.8987 -27.4676 -30.6621 -33.2668 -34.5232 -34.4689 -32.9916 -30.8341 -27.7384 -25.0265 -23.2204 -22.5164 -22.2762 -22.3845 -22.4743 -22.5578 -22.7795 -22.8253 -22.9169 -22.5729 -22.6178 -22.5441 -22.2477 -22.5561 -22.569 -22.4764 -22.5667 -22.4484 -22.195 -22.0204 -21.7744 -21.4363 -21.5026 -21.4233 -21.1457 -21.3316 -21.2636 -21.6069 -21.9104 -22.8553 -24.1867 -26.0757 -28.9808 -31.8138 -34.392 -35.5175 -35.2431 -33.489 -30.2565 -26.8645 -24.1237 -22.1556 -21.2366 -21.1126 -21.174 -21.2004 -21.3935 -21.3167 -21.1706 -21.2109 -21.5778 -22.4181 -23.6595 -25.6358 -27.686 -29.3965 -30.5052 -30.41 -29.1694 -26.9623 -24.4211 -22.1762 -20.3212 -18.8934 -18.5276 -18.2871 -18.613 -18.9352 -19.2253 -19.6275 -19.9202 -20.1575 -20.2844 -20.5113 -20.4754 -20.443 -20.4505 -20.2338 -20.2919 -20.3555 -20.4055 -20.7279 -21.3389 -21.6466 -22.2994 -22.9289 -23.7267 -24.1917 -24.3483 -24.5597 -24.6169 -24.8535 -24.7996 -25.1178 -25.6712 -26.7458 -29.1895 -32.6218 -37.0092 -41.0489 -44.6899 -47.2333 -48.5462 -48.5417 -47.9046 -47.3843 -46.9253 -47.0153 -47.1742 -47.7556 -48.3876 -49.1642 -49.9897 -50.8281 -50.7818 -49.115 -45.9823 -41.6961 -36.7808 -31.5827 -26.7049 -23.4942 -22.0835 -21.1894 -20.8016 -20.801 -20.8996 -21.1961 -21.222 -21.3826 -21.4511 -21.6044 -22.8609 -24.4067 -26.6462 -28.6811 -30.2956 -31.2614 -30.4442 -28.9563 -26.3427 -24.1621 -22.034 -20.574 -19.9116 -19.7693 -19.8702 -20.1109 -20.0172 -20.2082 -20.0183 -19.9728 -19.8368 -19.7904 -19.6069 -19.4944 -19.5515 -19.5689 -19.7639 -19.8727 -20.0433 -20.1329 -19.9514 -19.9718 -19.7646 -19.6555 -19.8168 -19.7967 -19.8371 -19.9088 -20.0474 -20.3902 -21.4267 -23.0667 -25.0757 -27.442 -29.5224 -30.8681 -31.1651 -30.6201 -29.1601 -27.3755 -25.6344 -24.1661 -22.5988 -21.58 -20.9253 -20.9473 -20.7042 -20.6308 -20.5993 -20.5555 -20.5184 -20.3923 -20.4291 -20.2983 -20.4332 -20.5595 -20.7015 -20.6209 -20.5959 -20.4872 -19.7523 -19.4161 -19.0663 -18.6188 -18.3592 -18.265 -18.4415 -18.6539 -18.3559 -18.6768 -18.5084 -18.4885 -18.9837 -19.3294 -19.705 -20.4622 -20.807 -21.0499 -21.0354 -20.9593 -20.5503 -20.2734 -19.9519 -19.8696 -19.7813 -19.8345 -19.9885 -20.2275 -20.4473 -20.5909 -21.0493 -21.3222 -21.5493 -21.828 -21.9517 -22.1317 -22.1846 -22.0367 -21.8317 -21.8017 -21.7321 -21.716 -21.903 -22.0467 -22.0235 -22.1038 -22.1608 -21.8203 -21.7777 -21.6204 -21.2413 -21.2208 -21.1728 -21.3295 -22.3606 -23.7919 -25.8738 -28.2184 -29.8374 -30.4827 -29.8752 -28.6665 -26.6951 -24.1599 -22.0142 -20.5663 -19.9148 -19.6203 -19.4598 -19.552 -19.7035 -19.9691 -20.2513 -20.5961 -21.094 -21.6567 -23.0686 -25.3078 -27.8451 -30.0909 -31.1345 -31.0214 -29.6565 -27.1887 -24.3605 -21.7554 -20.4498 -20.0057 -20.1495 -20.4316 -20.8337 -20.8536 -21.0577 -21.2349 -21.3997 -22.0464 -23.1415 -24.9969 -26.9459 -28.389 -28.9554 -28.5617 -27.2588 -25.2975 -23.3393 -21.2998 -20.1468 -19.6781 -19.1672 -19.3494 -19.2462 -19.1568 -19.3383 -19.4605 -19.5029 -19.7294 -19.9812 -20.302 -20.7073 -20.9735 -21.2989 -21.5046 -21.7762 -21.8992 -22.0978 -22.1661 -22.5009 -22.8841 -23.1695 -23.2333 -23.1541 -23.3585 -23.6722 -23.7666 -24.0943 -24.5962 -25.8028 -27.7091 -29.7482 -31.7591 -32.8169 -32.9266 -31.6587 -30.1515 -27.6775 -25.782 -24.0105 -23.0222 -22.1423 -21.7685 -21.494 -21.3217 -21.1924 -21.1519 -21.1683 -21.3343 -21.1755 -21.1586 -21.2718 -21.0313 -20.7064 -20.9167 -20.6136 -20.6041 -20.623 -20.4655 -20.4859 -20.4257 -20.585 -20.6693 -20.9955 -21.1937 -21.5108 -21.7775 -22.3235 -23.2066 -24.541 -26.576 -29.2238 -32.1694 -34.8789 -36.3812 -36.6387 -35.3011 -32.7853 -29.571 -26.1263 -23.0534 -21.2855 -20.4522 -20.0319 -19.983 -20.2933 -20.5514 -21.259 -21.7852 -22.1716 -22.6604 -22.7431 -22.7044 -22.4479 -22.2949 -21.9106 -21.7049 -21.8429 -21.7515 -21.822 -22.035 -22.2294 -22.4407 -22.4301 -22.7984 -23.3706 -23.8268 -24.1383 -24.4226 -24.723 -24.8896 -25.3364 -25.6016 -26.2836 -27.0834 -28.5217 -30.3793 -33.0898 -36.2046 -39.3525 -42.0798 -44.2657 -45.7241 -46.0769 -46.0541 -45.9391 -45.9871 -46.5077 -47.273 -48.3379 -49.2657 -49.2749 -48.0164 -45.2438 -41.5121 -36.7972 -32.1988 -28.0734 -25.0419 -23.1063 -22.0796 -21.4801 -21.5773 -21.8839 -22.4126 -22.7313 -23.1226 -22.9154 -22.939 -22.7761 -22.6346 -22.8409 -23.5549 -24.7165 -26.2226 -27.3799 -28.6856 -29.3979 -29.5172 -28.8529 -27.6261 -26.049 -24.2569 -22.5005 -21.2621 -20.398 -20.0856 -19.853 -19.9665 -19.7815 -19.7926 -19.7699 -19.6608 -19.8234 -19.75 -19.6261 -19.7447 -19.8102 -19.8406 -19.9845 -20.0263 -20.203 -20.3882 -20.5452 -20.8214 -21.1406 -21.3382 -21.7357 -22.1169 -22.1289 -22.4917 -22.2993 -22.9711 -23.7878 -25.1383 -26.9204 -29.0014 -30.8435 -31.9388 -32.0517 -31.0284 -29.6347 -27.397 -25.3227 -23.6431 -22.4921 -21.7592 -21.4421 -21.3952 -21.3572 -21.3738 -21.4701 -21.4495 -21.4844 -21.3894 -21.2839 -21.4734 -21.5471 -21.5079 -21.8836 -21.9318 -22.0862 -22.1022 -22.4688 -22.5156 -22.6061 -22.4103 -22.4902 -22.3797 -22.4348 -22.5163 -22.7019 -23.1855 -24.6153 -26.5195 -29.3646 -32.9403 -36.7878 -39.2128 -40.034 -38.692 -35.8991 -31.743 -27.7128 -24.0522 -21.5917 -20.7633 -20.5816 -20.4417 -20.7704 -21.3673 -21.7939 -22.4618 -23.2147 -23.5411 -23.8069 -23.8417 -23.6293 -23.6954 -23.6753 -23.8208 -23.8022 -24.0645 -24.4956 -24.8657 -25.2858 -25.7143 -25.9809 -26.368 -26.636 -26.9371 -26.9796 -27.123 -26.954 -27.0661 -27.1779 -27.2489 -27.6849 -27.9726 -29.0598 -30.8732 -33.3205 -36.619 -39.7934 -42.7522 -45.3591 -47.1408 -47.7526 -48.3622 -48.3365 -48.7536 -49.3855 -50.1251 -50.7682 -51.3074 -51.0193 -49.6748 -47.9199 -45.5055 -42.5007 -39.8353 -36.6381 -33.9185 -31.1134 -28.54 -26.42 -25.2461 -24.412 -23.7908 -23.8336 -23.4041 -23.092 -22.9092 -23.0801 -23.2314 -23.3519 -24.1795 -25.6842 -27.5708 -29.7676 -31.6443 -32.7897 -32.5564 -31.0546 -29.1269 -26.2574 -24.2579 -22.5025 -21.7269 -21.2313 -21.2524 -21.2132 -21.0364 -21.1612 -21.2474 -21.3382 -22.0034 -22.6928 -24.0358 -25.6014 -27.3417 -28.722 -28.9955 -28.5623 -27.0848 -25.036 -23.0403 -21.4262 -20.5998 -20.3897 -20.5385 -20.8679 -21.1842 -21.5578 -22.0004 -22.2104 -22.8792 -23.6893 -25.2006 -26.735 -28.2937 -29.5541 -29.7105 -29.2044 -27.8775 -25.6114 -23.8346 -22.1759 -21.5212 -21.0095 -20.9318 -21.0337 -20.9906 -21.2154 -21.2455 -21.646 -22.6262 -24.4726 -27.6508 -31.3773 -34.5952 -36.0591 -35.9974 -34.0014 -30.5776 -26.2644 -22.1806 -19.5003 -18.4963 -17.8693 -17.8402 -17.9765 -18.048 -18.324 -18.6301 -19.0577 -19.5583 -20.3508 -21.9711 -24.5362 -27.3188 -31.2423 -35.0407 -37.2118 -37.4078 -35.8436 -32.5962 -28.3182 -24.2482 -20.9208 -19.0693 -18.0975 -17.8258 -17.6262 -17.5899 -17.839 -17.9646 -18.1481 -18.3713 -18.8537 -18.7853 -18.8962 -18.8483 -18.7595 -18.9001 -18.745 -19.1159 -19.1008 -19.4477 -19.6405 -20.1994 -20.5032 -20.8663 -20.9958 -21.6586 -21.6294 -21.8463 -21.9214 -21.8622 -21.7642 -21.8517 -22.019 -22.4684 -23.2469 -24.6782 -26.8457 -30.1774 -33.8848 -37.9651 -41.535 -44.2037 -45.9485 -46.7108 -46.7035 -46.6723 -46.8872 -47.6601 -48.6684 -49.976 -51.164 -51.5799 -50.6966 -48.9064 -46.0487 -42.0764 -37.9505 -33.6113 -29.8768 -26.7473 -23.9133 -21.8584 -21.0019 -20.7399 -21.0166 -21.4672 -22.3214 -22.8357 -23.1114 -23.067 -23.3073 -23.2979 -23.9393 -24.6495 -26.25 -27.734 -28.555 -28.9528 -28.3394 -27.0997 -25.4204 -23.2714 -21.9585 -21.0006 -20.6333 -20.4008 -20.5387 -20.7484 -20.8404 -20.7414 -20.9108 -21.003 -21.0525 -21.3961 -21.4402 -21.4562 -21.5278 -21.8901 -21.7003 -21.5035 -21.3344 -20.8983 -20.7436 -20.8314 -20.4842 -20.8259 -20.7448 -20.9925 -21.2648 -21.4964 -22.0699 -23.0146 -24.4679 -26.5179 -28.4428 -30.6571 -32.3864 -33.3 -32.9829 -31.3624 -29.4502 -27.1261 -25.0663 -23.7549 -22.9312 -22.9587 -22.8765 -22.7032 -22.8062 -22.6833 -23.1079 -23.2794 -23.9424 -24.9518 -26.5782 -28.4964 -30.4671 -31.7457 -32.3122 -31.5475 -29.9405 -27.3295 -24.9493 -22.868 -21.6119 -20.9368 -20.4755 -20.3335 -20.097 -20.1491 -20.1718 -20.7024 -21.3996 -22.6967 -24.3598 -26.3724 -28.5255 -30.2851 -31.3425 -31.4856 -30.3329 -28.918 -26.7478 -24.6705 -22.8776 -21.5127 -20.5846 -20.2444 -19.9253 -19.7475 -19.8446 -19.6221 -19.6607 -20.0173 -20.1394 -20.5818 -20.6796 -21.0616 -21.4048 -21.6271 -21.7225 -21.8197 -21.7804 -21.7328 -21.5131 -21.6205 -21.5524 -21.6299 -21.8341 -21.7966 -21.7791 -21.8763 -21.5601 -21.4245 -21.4448 -21.8091 -22.8685 -24.3823 -26.8755 -28.811 -30.2297 -30.3452 -29.3332 -27.5329 -25.3645 -22.926 -21.3954 -20.7127 -20.3332 -20.2298 -20.342 -20.5577 -20.5453 -20.6458 -20.7425 -20.7774 -20.8602 -20.9638 -21.0044 -20.8331 -20.7881 -20.5228 -20.1486 -19.7432 -19.5793 -19.3857 -18.9624 -19.1909 -19.2567 -19.2975 -19.3271 -19.6563 -19.5688 -19.8422 -20.432 -21.3756 -22.4807 -24.7536 -27.0885 -29.5298 -30.8228 -31.1128 -30.0879 -28.7528 -26.5424 -24.6636 -23.0547 -22.2271 -21.8108 -21.7809 -21.8129 -21.7207 -21.9654 -21.6258 -21.5536 -21.6014 -21.6396 -21.6278 -21.6156 -21.516 -21.4812 -21.469 -21.3864 -21.3556 -21.3372 -21.3478 -21.0977 -21.1114 -20.9301 -20.8877 -20.6876 -20.6439 -20.7654 -20.9624 -21.2078 -21.841 -23.3162 -25.1608 -27.9105 -30.9156 -33.1954 -34.2776 -33.7245 -31.5762 -28.722 -25.081 -21.9159 -19.8628 -18.5973 -18.0246 -17.5098 -17.6121 -17.6043 -17.7372 -17.5824 -17.5699 -17.7562 -17.6849 -17.7432 -17.889 -17.9554 -18.123 -18.3651 -18.6576 -18.5929 -18.7493 -18.6488 -18.6615 -18.6959 -18.8546 -18.5706 -18.8915 -19.2307 -19.7793 -20.7332 -22.0054 -23.9248 -26.9536 -31.9766 -38.0979 -43.6772 -46.6098 -46.7468 -43.8604 -38.6269 -32.208 -26.2866 -21.8607 -19.607 -19.0046 -18.0158 -18.1521 -18.1189 -18.201 -18.0411 -17.952 -17.5495 -17.4327 -17.2134 -17.1648 -17.0455 -16.9665 -16.817 -17.1388 -17.1141 -17.0972 -17.1997 -17.3733 -17.2752 -17.2109 -17.0805 -17.0432 -16.8206 -16.9593 -16.922 -17.0779 -17.1707 -17.2845 -17.5657 -17.6874 -17.8052 -17.714 -17.6475 -17.6276 -17.5279 -17.6815 -17.7161 -17.5824 -17.9637 -18.1498 -18.3225 -18.5086 -18.9625 -19.1304 -19.4526 -19.856 -20.1132 -20.5134 -20.8348 -21.5245 -22.0361 -23.2133 -24.2365 -26.1012 -28.3748 -32.2218 -35.59 -39.377 -42.2547 -44.7369 -46.0646 -46.6227 -47.0511 -47.3802 -47.6167 -48.1686 -49.0185 -50.2017 -51.4029 -52.6203 -54.5296 -55.8849 -55.8819 -53.7581 -49.7067 -43.9582 -37.7332 -31.0295 -26.0437 -21.8827 -20.329 -19.7143 -19.8108 -20.136 -20.6937 -21.1513 -22.3183 -23.1063 -23.5225 -23.8767 -23.8632 -23.6656 -23.3996 -22.8477 -22.4853 -22.2575 -22.2148 -22.0549 -21.7272 -21.8135 -21.7322 -21.7298 -21.5344 -21.5508 -21.3435 -21.2167 -21.019 -21.0959 -21.6244 -22.7303 -24.508 -26.513 -28.5583 -30.3698 -31.6662 -32.1969 -31.6948 -30.5659 -28.6353 -26.4991 -24.3954 -22.3506 -20.6744 -19.8284 -19.3193 -19.2263 -19.0258 -18.9863 -19.1457 -19.3764 -19.2237 -19.3772 -19.4169 -19.4146 -19.3924 -19.3894 -19.2229 -19.1726 -19.166 -19.0788 -19.1731 -19.0981 -19.169 -19.4423 -19.502 -20.0235 -20.6479 -21.4407 -22.449 -24.0094 -25.906 -27.6266 -29.203 -30.3982 -31.4256 -31.852 -31.6618 -30.5302 -29.3001 -27.9542 -26.2878 -24.4934 -22.8519 -21.4019 -20.4436 -19.7594 -19.3034 -19.0939 -18.938 -18.7738 -18.8819 -18.9879 -19.2587 -19.5213 -19.7573 -20.1834 -20.1185 -20.4335 -20.5368 -20.6022 -20.5611 -20.6169 -20.4308 -20.1922 -19.9149 -20.1319 -19.8569 -19.9749 -20.2294 -20.0526 -20.423 -20.3786 -20.3134 -20.1671 -19.739 -19.5549 -19.4676 -18.9712 -18.8401 -18.7543 -18.9433 -19.0184 -19.1183 -19.2945 -19.5342 -19.9374 -20.1396 -20.2848 -20.3401 -20.5968 -20.8792 -21.2342 -21.6241 -22.1423 -22.345 -22.1033 -22.2955 -21.9878 -21.6699 -20.8734 -20.4402 -20.1877 -19.8651 -19.7458 -19.7406 -20.2015 -20.0182 -20.1577 -20.2081 -20.1459 -20.2853 -20.5319 -21.0024 -21.9926 -23.623 -24.9757 -27.1228 -29.0385 -30.1753 -30.5057 -29.6046 -28.328 -26.5998 -24.6543 -23.2316 -22.016 -21.3918 -21.2395 -21.5268 -21.4401 -21.5268 -21.0719 -21.1475 -21.1679 -21.9554 -22.8021 -24.2453 -26.2008 -27.2189 -28.0709 -27.4961 -26.0461 -24.1005 -22.1132 -20.7587 -20.0646 -19.7965 -20.1028 -20.163 -20.4728 -20.8364 -21.0494 -21.4711 -22.0094 -23.2092 -24.787 -26.9186 -29.1657 -30.7974 -31.8354 -31.4278 -30.0655 -27.7791 -25.3368 -23.1097 -21.2636 -20.2866 -19.8009 -19.7893 -19.7824 -20.1815 -20.6725 -21.1437 -21.7135 -22.5416 -23.5896 -25.0045 -26.5534 -28.5863 -30.2087 -30.6927 -30.1403 -28.7632 -26.7739 -24.6297 -22.7059 -21.5178 -20.8818 -20.7331 -20.7284 -21.1205 -21.252 -21.4365 -21.4008 -21.8892 -22.3622 -23.3654 -24.6753 -26.7521 -28.7892 -30.8283 -31.2266 -31.086 -29.4701 -26.9978 -24.0499 -21.1459 -19.727 -18.7278 -18.0071 -17.8732 -17.7965 -18.1042 -18.2646 -18.2301 -18.4663 -18.5152 -18.5596 -18.9725 -19.3237 -19.3771 -19.6207 -19.3294 -19.264 -19.0223 -18.7991 -18.7158 -18.541 -18.3026 -18.123 -17.9525 -18.145 -18.267 -18.6745 -18.8539 -18.8401 -19.0178 -19.0236 -18.6969 -18.7609 -18.3893 -18.2403 -18.1248 -17.8228 -17.8442 -17.7489 -17.6914 -17.9836 -18.2662 -18.5957 -18.7987 -18.7733 -18.7318 -18.8442 -18.7606 -18.995 -18.866 -18.963 -19.1814 -19.375 -19.8594 -20.1396 -20.2512 -20.341 -20.2519 -19.8568 -19.9385 -19.3342 -19.3368 -19.0798 -19.0325 -19.3507 -19.5528 -19.4938 -20.0004 -20.4335 -20.8338 -22.0129 -23.6032 -25.7291 -28.4131 -30.9551 -33.0056 -33.1897 -32.5711 -30.4179 -27.5544 -24.3929 -21.529 -20.114 -19.4111 -19.2432 -19.3546 -19.9287 -20.0562 -20.5982 -21.0257 -21.2603 -21.8398 -22.784 -24.2148 -25.5413 -26.2476 -26.2436 -25.679 -24.544 -22.9335 -21.1549 -20.2421 -19.6868 -19.4435 -19.6343 -19.9117 -19.7934 -19.9895 -20.0026 -20.2648 -20.657 -21.4283 -22.6587 -24.6719 -27.5394 -30.1426 -32.2909 -33.0221 -32.4347 -30.4886 -27.8947 -25.4346 -23.0012 -21.8424 -21.2221 -21.1674 -21.1797 -21.1715 -21.2073 -21.3865 -21.475 -21.6623 -22.3763 -23.4766 -25.318 -27.2706 -28.9599 -29.78 -29.6323 -28.3288 -26.6175 -24.1402 -21.977 -20.432 -19.5468 -19.1139 -18.8277 -18.8178 -18.8064 -18.8578 -19.2328 -19.864 -21.2043 -23.1017 -25.6567 -28.5966 -31.6428 -33.2751 -34.129 -33.0122 -30.8244 -27.8653 -24.8278 -22.1633 -21.0172 -20.1793 -20.027 -19.7568 -19.8479 -20.0403 -19.9841 -20.3949 -20.7575 -21.295 -21.6231 -22.1512 -22.5514 -22.9114 -23.314 -23.5279 -23.6669 -23.5983 -23.4654 -23.3044 -23.0266 -22.5748 -22.47 -22.1736 -22.0939 -21.9601 -21.7101 -21.4169 -21.3704 -21.7984 -22.5428 -23.8954 -25.9639 -28.1126 -29.9841 -30.9355 -30.8256 -29.0541 -26.6696 -24.0698 -21.4999 -19.4876 -18.1406 -18.3696 -18.3888 -18.5397 -18.8303 -19.1209 -19.5162 -19.6631 -19.7568 -19.8765 -19.8412 -19.7759 -19.8017 -19.7265 -19.8715 -20.0446 -19.7861 -19.8982 -19.7283 -19.7611 -19.5291 -19.646 -19.6044 -19.6551 -19.5176 -19.5947 -19.5647 -19.5238 -19.6443 -19.5168 -19.6617 -19.5813 -19.7009 -19.4882 -19.5455 -19.6949 -19.4459 -18.9335 -18.7793 -18.6301 -18.1615 -18.0562 -18.0801 -18.271 -18.2259 -18.2959 -18.0164 -18.174 -18.081 -17.7226 -17.798 -17.6436 -17.4798 -17.639 -17.4745 -17.4514 -17.6052 -17.5233 -17.5753 -18.015 -18.0078 -18.1721 -18.5203 -18.5829 -18.8907 -19.5477 -20.6744 -22.2323 -24.0897 -26.1601 -28.007 -29.655 -31.2506 -32.529 -32.8382 -32.4505 -31.2271 -29.3537 -26.9014 -24.4528 -21.9953 -20.2665 -19.4596 -19.1493 -18.808 -18.6827 -18.6986 -18.9753 -18.8717 -19.1776 -19.181 -19.107 -19.1296 -19.1292 -18.8607 -19.015 -18.8612 -18.8373 -18.9558 -18.9701 -19.1191 -19.0252 -19.121 -19.3225 -19.453 -19.8711 -20.522 -21.2344 -22.6483 -24.5987 -26.6496 -29.027 -31.2827 -33.2551 -34.5163 -34.4578 -33.1515 -30.8937 -27.94 -25.1917 -22.5379 -20.3414 -19.1436 -18.4872 -18.1497 -18.3306 -18.5961 -18.923 -19.1974 -19.7578 -19.8137 -19.7934 -20.1655 -20.1691 -20.2504 -20.0084 -19.9459 -20.108 -19.9685 -20.1484 -20.4749 -20.9557 -21.2268 -21.6064 -22.0213 -22.6616 -23.2627 -23.6913 -24.0596 -24.2181 -24.4873 -24.8564 -24.9882 -25.6778 -26.816 -28.5732 -31.3123 -34.4573 -37.9553 -41.2636 -43.8539 -45.6585 -46.5806 -46.6924 -46.5206 -46.2146 -46.4855 -46.8556 -47.5329 -48.4054 -49.2594 -50.2476 -51.0499 -51.5411 -51.1204 -48.5606 -44.8966 -39.9928 -34.6016 -29.4946 -25.266 -22.083 -21.1612 -21.2032 -21.6846 -22.493 -22.9477 -23.3928 -23.5403 -23.3975 -23.1014 -22.5853 -22.2802 -21.7332 -21.5007 -21.2363 -21.3543 -21.3843 -21.4484 -21.3648 -20.9769 -20.3804 -19.6962 -19.2946 -18.795 -18.7469 -18.8575 -19.0224 -18.9051 -19.2221 -19.5192 -19.8656 -20.5955 -21.6266 -22.8898 -24.5628 -25.9 -26.9404 -27.3382 -27.1838 -26.2555 -24.8281 -23.2128 -22.0845 -21.7329 -21.3224 -21.2081 -21.4209 -21.4255 -21.6385 -21.7678 -22.437 -23.3177 -24.7494 -26.8611 -29.1486 -31.5806 -33.3756 -34.0789 -33.6684 -32.1632 -29.8661 -27.5817 -25.3129 -23.3074 -22.3505 -21.6977 -21.4293 -21.3814 -21.2662 -21.326 -21.4997 -21.5874 -21.6653 -21.6741 -21.7117 -21.946 -21.7758 -21.7644 -21.917 -21.9627 -22.0378 -22.3632 -22.5648 -22.6166 -22.7663 -22.7115 -22.8907 -22.9711 -22.9478 -23.147 -23.264 -22.9508 -22.9261 -23.0484 -22.7185 -22.7441 -22.677 -22.7846 -22.8129 -22.6182 -22.4433 -21.9957 -21.1341 -20.1509 -19.2625 -18.8425 -18.2414 -18.3116 -18.3749 -18.673 -19.1745 -19.6585 -20.2176 -20.3107 -20.5881 -20.5907 -20.6656 -20.5882 -20.6377 -20.3593 -20.4176 -20.1571 -20.1216 -20.0975 -20.4175 -20.731 -20.9937 -21.8629 -22.4703 -22.8876 -23.4494 -23.7252 -23.7737 -23.724 -23.5752 -23.9974 -24.1826 -24.8022 -25.671 -27.1638 -29.3996 -32.2777 -35.6094 -39.1789 -42.2325 -44.603 -46.2874 -47.1766 -47.5582 -47.7753 -48.1783 -48.7794 -50.1195 -50.9688 -52.5893 -53.4512 -53.5687 -52.4898 -49.9085 -46.2038 -41.0088 -36.1339 -31.3201 -27.9681 -25.2707 -23.61 -22.8497 -22.9148 -22.9255 -23.186 -23.5846 -23.6884 -23.7245 -23.8645 -23.5322 -23.232 -23.4661 -23.6692 -24.6407 -25.9765 -27.2265 -28.007 -28.202 -27.7759 -26.5076 -24.823 -23.3286 -21.9879 -21.6843 -21.1443 -21.403 -21.4387 -21.5666 -21.8548 -22.6144 -23.2502 -25.2239 -27.3737 -29.9882 -32.8728 -34.1237 -34.8278 -34.0747 -32.1574 -29.7338 -27.0442 -24.901 -23.4937 -22.9435 -22.7624 -23.1098 -23.2626 -23.6728 -23.8419 -23.9442 -24.0473 -24.3975 -25.2328 -26.6681 -28.3491 -30.322 -31.6002 -31.806 -31.0285 -29.0799 -26.5549 -24.1037 -21.9726 -20.5892 -19.9266 -19.6503 -19.6186 -19.6761 -19.7662 -19.8395 -20.0156 -20.2702 -20.4139 -21.0403 -21.3951 -21.7757 -22.0709 -22.0593 -21.9532 -21.6363 -21.2788 -20.877 -20.3881 -20.1193 -20.06 -19.9783 -20.038 -20.3624 -20.6547 -20.9841 -21.3429 -22.2443 -23.3217 -25.2809 -27.6483 -30.721 -33.5415 -34.9831 -35.7515 -34.4817 -32.2794 -29.2419 -26.564 -24.0613 -22.8284 -22.2535 -21.8454 -21.9027 -22.2005 -22.7576 -23.3049 -23.886 -24.4872 -25.1099 -25.5407 -25.9627 -26.3374 -26.4729 -26.3338 -26.0179 -26.0788 -25.7341 -25.8124 -25.9986 -26.3723 -27.0153 -27.7267 -28.8621 -29.4399 -30.3185 -31.1558 -31.6322 -32.0178 -32.5494 -32.9467 -33.7702 -34.6464 -36.1173 -38.0773 -40.6054 -43.3228 -45.6051 -47.3188 -48.1112 -48.4934 -48.0003 -47.4845 -46.8468 -46.6664 -46.8632 -47.0948 -47.6046 -48.272 -49.2464 -50.4295 -51.4459 -50.8883 -49.7751 -46.7052 -42.8317 -38.07 -33.4125 -29.7214 -27.1165 -25.6063 -24.8163 -24.8433 -24.9918 -25.0123 -25.2707 -25.2494 -24.9958 -24.7526 -24.258 -24.0228 -23.6568 -23.4167 -23.3495 -23.6213 -23.3261 -23.2836 -23.022 -22.6739 -22.315 -22.0708 -21.9035 -21.8722 -21.9385 -21.8899 -21.9362 -21.8734 -22.0286 -22.1374 -22.3349 -23.1934 -24.5257 -26.556 -28.8076 -31.1115 -32.5599 -33.3987 -32.7133 -31.4803 -29.32 -27.1868 -25.2327 -24.2718 -23.6321 -23.7118 -23.8263 -23.9802 -24.3549 -24.3917 -24.6069 -24.4762 -24.6782 -24.6337 -24.8144 -24.8071 -25.0671 -25.0711 -25.3226 -25.3209 -25.2968 -25.3318 -25.0553 -25.0176 -24.765 -24.5209 -24.2666 -24.1829 -23.8299 -23.943 -24.3111 -25.0477 -26.1032 -28.1467 -30.3414 -32.9762 -34.9841 -36.7095 -37.1322 -36.0177 -34.0158 -31.3713 -28.4891 -26.066 -24.0071 -22.9151 -22.5423 -22.0653 -21.9726 -21.9717 -22.4839 -22.6457 -23.5557 -24.3446 -26.3597 -29.1679 -32.0659 -34.0894 -34.6645 -34.0735 -31.7971 -28.759 -25.2579 -22.402 -20.6472 -19.9266 -19.6903 -19.8228 -19.7634 -20.1472 -20.4997 -20.826 -21.7994 -22.2799 -22.8286 -23.1154 -22.928 -22.8692 -22.7474 -22.369 -22.0495 -21.6607 -21.2601 -21.4038 -21.016 -20.8896 -20.6437 -20.6457 -20.4368 -20.2575 -20.1086 -19.8336 -20.0455 -20.5255 -21.4515 -23.3361 -25.91 -28.5078 -30.8336 -32.2478 -32.3071 -31.191 -29.0759 -26.4112 -24.0622 -22.2593 -21.5708 -21.3821 -21.6277 -21.8736 -22.2721 -22.5571 -22.6794 -22.8034 -22.8948 -22.7387 -23.3037 -23.7948 -24.7054 -25.7965 -26.4259 -26.8205 -26.3025 -25.3487 -24.1823 -23.0226 -22.0361 -21.5974 -21.4643 -21.4333 -21.4127 -21.3621 -21.1911 -21.2476 -21.7225 -22.6963 -24.7607 -27.9539 -31.3147 -33.8342 -34.5395 -33.7705 -31.583 -28.1341 -24.5294 -21.7448 -20.1189 -19.5279 -19.3349 -19.3001 -19.5453 -20.1651 -19.9807 -20.3165 -20.7037 -21.3852 -22.5638 -24.6184 -27.6119 -30.3603 -32.7188 -33.7567 -33.3937 -31.5838 -28.7473 -25.5022 -22.7798 -20.9737 -19.8991 -19.6236 -19.7401 -19.9811 -20.1457 -20.5435 -20.6209 -20.8576 -20.5531 -20.7363 -21.017 -20.8289 -21.275 -21.2096 -21.184 -21.2235 -20.9843 -20.7252 -20.6697 -20.5617 -20.4801 -20.5949 -20.6785 -20.6651 -20.6451 -20.8901 -21.1082 -21.3335 -22.0641 -23.1609 -24.7033 -26.3743 -28.3393 -29.9209 -30.6291 -30.4025 -29.2897 -27.3763 -25.3298 -23.4606 -21.8676 -21.1282 -20.8004 -20.8259 -21.1962 -21.2485 -21.4524 -21.5699 -21.6142 -21.5135 -21.6507 -21.5861 -21.5632 -21.7054 -21.7115 -22.153 -22.0669 -21.7956 -21.2647 -20.7264 -20.3444 -19.7896 -19.5179 -19.6148 -19.3964 -19.675 -20.0045 -20.1912 -20.3226 -20.2072 -20.4537 -20.6723 -20.8731 -21.3117 -21.4837 -21.6823 -21.7814 -21.8545 -22.1655 -22.3477 -22.6454 -22.9787 -23.6932 -24.5033 -25.2039 -25.9952 -27.0418 -28.0481 -28.7184 -29.1927 -29.3678 -29.5527 -29.4315 -29.1374 -28.9997 -29.1533 -29.5467 -30.4637 -31.8287 -34.3426 -38.1285 -42.9047 -48.3857 -53.9433 -59.0457 -62.8988 -65.3144 -66.2831 -66.344 -66.4382 -67.0987 -68.6142 -70.4137 -72.4929 -74.4599 -75.8168 -76.6435 -76.0909 -74.4846 -71.1057 -70.2525", + "energy_timestep": "0.011609977324263039", + "breathiness": "-77.9261 -78.0903 -76.2631 -74.8024 -72.7392 -70.6521 -67.7797 -65.0427 -62.2356 -60.283 -58.9152 -57.657 -56.4598 -55.4988 -54.1626 -53.0342 -51.7234 -50.6935 -49.6901 -49.2752 -48.9963 -48.3282 -48.1203 -48.0416 -48.2354 -48.6535 -49.0555 -49.6931 -50.3222 -50.7522 -51.208 -51.4784 -51.7017 -51.8718 -52.6906 -54.4327 -56.6939 -58.6859 -59.4552 -58.6372 -56.5247 -53.0762 -49.1123 -45.1933 -42.1919 -40.3061 -39.44 -39.0662 -38.1855 -36.9468 -35.4028 -33.5423 -31.3892 -30.1669 -29.2582 -29.4232 -31.1588 -34.9103 -40.1299 -45.8555 -51.1102 -55.7268 -58.8539 -59.9883 -59.2415 -56.8747 -53.4402 -49.266 -45.1146 -41.3956 -39.2154 -39.4396 -41.0482 -43.6996 -46.5231 -49.5859 -52.0246 -53.6472 -54.7872 -55.5414 -56.4191 -57.791 -59.2232 -60.5747 -62.3509 -63.5545 -64.3711 -64.4422 -63.769 -62.6182 -61.0781 -59.1721 -57.4495 -56.1941 -55.4036 -54.8388 -54.4998 -54.9707 -55.2159 -55.7066 -56.2726 -56.9703 -57.6084 -58.0207 -57.3289 -55.9763 -53.4012 -50.2001 -46.7445 -43.445 -40.8462 -39.7875 -40.2339 -41.9017 -44.4719 -46.8802 -49.2627 -51.1752 -52.4755 -53.076 -53.4337 -54.1196 -55.0037 -56.0799 -57.2087 -57.7683 -57.2377 -56.1051 -54.6576 -52.9171 -51.8284 -51.7303 -52.747 -54.5095 -56.3248 -58.0623 -58.8053 -59.5717 -59.4777 -59.2224 -58.9268 -58.6744 -58.1953 -57.6441 -56.4716 -54.5453 -51.8135 -48.9228 -46.031 -43.5381 -42.0972 -41.989 -42.9484 -44.5465 -46.4306 -48.7561 -50.5731 -52.154 -53.2181 -53.7829 -53.72 -53.8006 -53.861 -53.8514 -53.9458 -53.9402 -53.8919 -53.784 -53.6478 -53.8479 -54.0031 -54.0994 -54.2762 -54.3176 -54.4375 -54.5865 -54.9329 -55.3378 -55.8893 -56.6698 -57.3044 -57.7825 -58.3743 -58.8302 -59.2754 -59.8667 -60.3745 -60.6244 -60.387 -60.2471 -59.7963 -59.4721 -59.2325 -58.5929 -57.8719 -56.5051 -55.0353 -53.4513 -51.705 -50.2252 -49.1396 -48.3749 -48.3673 -49.04 -49.9823 -51.6421 -53.4252 -55.3029 -56.5452 -56.9545 -56.0531 -55.0589 -53.2923 -51.5472 -50.0946 -49.4378 -49.2409 -49.7762 -50.8221 -51.7013 -52.7055 -53.627 -54.5583 -54.9562 -55.1803 -54.7141 -53.3633 -51.0827 -47.8211 -44.4101 -41.239 -38.3406 -36.4092 -36.1493 -37.3552 -40.2588 -43.7335 -47.5777 -51.2832 -54.653 -57.0313 -58.73 -59.8239 -60.6527 -61.3869 -61.9588 -62.3377 -62.195 -61.1881 -59.5415 -57.4112 -55.1505 -53.231 -52.1181 -52.0213 -52.8942 -54.2539 -55.8951 -57.6109 -58.8824 -59.6433 -60.212 -60.41 -60.9009 -61.3917 -61.6983 -61.8809 -62.2297 -62.2969 -62.416 -62.3289 -62.227 -62.0787 -61.6551 -60.8701 -60.0313 -58.9485 -57.8849 -57.2801 -56.7613 -56.5449 -56.5031 -56.5683 -56.3914 -56.1876 -55.6764 -54.9742 -54.343 -53.2269 -51.6809 -49.4848 -47.1698 -44.8115 -43.1207 -42.2828 -42.6602 -43.7726 -45.6741 -48.0121 -50.1337 -52.327 -54.2586 -55.792 -56.9707 -57.6805 -58.2343 -58.6292 -58.4155 -58.4774 -58.4001 -58.3355 -58.1054 -57.8652 -57.6058 -57.0236 -56.906 -56.4872 -55.7002 -55.2724 -54.3938 -53.9095 -53.8322 -53.8672 -54.1222 -54.4693 -54.7192 -55.1077 -55.2981 -55.7202 -55.982 -56.2427 -56.4205 -56.4814 -56.6081 -56.7813 -56.4498 -56.45 -56.4297 -56.0621 -56.0394 -55.8769 -56.2929 -56.2255 -56.8323 -57.4993 -57.9356 -58.4243 -58.7099 -59.1169 -59.6763 -60.0936 -60.5839 -61.073 -61.3599 -60.9897 -60.738 -60.2484 -59.2846 -57.9715 -55.9241 -53.6702 -51.5035 -49.2467 -47.6265 -46.3479 -45.9397 -46.2302 -47.6134 -49.7277 -51.976 -55.2113 -58.0027 -59.6374 -58.9463 -56.5144 -52.242 -47.583 -43.0217 -39.7163 -39.039 -40.0756 -42.3343 -45.4283 -48.2032 -50.95 -53.5302 -55.1137 -55.8068 -55.4584 -54.5174 -52.6173 -49.9994 -47.1192 -44.3892 -41.8521 -39.6272 -38.4197 -38.2847 -39.4756 -41.315 -44.1393 -47.0889 -50.0904 -52.966 -55.1455 -57.0333 -58.5881 -59.4848 -60.0957 -60.0443 -59.3472 -57.9176 -55.8281 -53.031 -49.6768 -46.0265 -42.9087 -40.6281 -39.9629 -40.4528 -42.6504 -45.6216 -48.8949 -51.9719 -54.4259 -55.7075 -55.8594 -54.9001 -53.0689 -50.0256 -46.08 -41.5631 -36.9622 -33.045 -30.1599 -28.3175 -27.7701 -27.6168 -28.052 -29.4024 -32.0538 -35.4794 -39.7747 -44.2099 -48.3331 -51.5751 -53.9572 -55.0552 -55.5661 -55.7829 -55.8806 -55.9431 -55.7763 -55.8035 -55.8636 -55.8882 -55.7943 -55.912 -55.9405 -56.0182 -56.3915 -56.7725 -57.2585 -57.5892 -57.7929 -57.8544 -57.6778 -57.5406 -57.3694 -57.1537 -56.7209 -55.7916 -54.5115 -52.9013 -50.9923 -48.972 -47.1427 -45.6013 -44.9333 -45.6133 -47.0119 -48.688 -50.197 -51.6876 -52.677 -53.4486 -53.9403 -54.2091 -54.4937 -55.2756 -56.1024 -56.7195 -57.0407 -57.2731 -57.0219 -57.0068 -56.6734 -56.5089 -56.3141 -56.071 -55.7356 -55.4771 -55.1918 -54.7717 -54.8187 -54.8779 -54.7286 -54.7066 -54.7074 -54.4607 -54.2758 -54.4556 -54.6992 -54.8874 -55.2552 -55.1802 -55.0318 -54.7044 -54.2231 -53.6334 -52.9065 -52.5546 -52.1822 -51.9643 -51.6933 -52.0157 -52.0873 -52.5247 -53.0965 -53.6541 -54.1325 -54.6661 -55.0493 -55.4324 -55.8447 -56.2834 -56.8062 -57.1815 -57.3325 -57.279 -57.1174 -56.6638 -56.5022 -56.692 -57.2133 -58.2307 -59.2061 -60.207 -60.9819 -61.5772 -61.7686 -61.9034 -61.6614 -61.2397 -60.6926 -59.9778 -59.137 -58.495 -57.8979 -57.4376 -57.0544 -56.5908 -56.1259 -55.826 -55.6976 -55.3793 -55.3689 -55.1443 -55.0911 -54.7188 -54.5747 -54.2038 -53.7221 -53.4644 -53.2432 -53.1507 -53.0689 -53.0316 -53.0287 -53.0281 -53.3716 -53.5805 -54.0265 -54.1903 -54.2993 -53.9858 -53.5587 -52.9057 -52.2628 -51.8576 -51.3651 -51.0941 -51.0235 -50.9377 -50.3864 -49.2946 -47.6935 -46.0426 -43.9159 -42.1514 -40.7061 -40.3149 -40.6343 -41.8856 -43.4581 -45.5725 -47.8075 -49.5127 -51.0868 -52.4023 -52.7371 -53.492 -53.7828 -54.0977 -54.0005 -53.983 -53.5527 -53.0572 -52.772 -52.6173 -52.2943 -52.1859 -52.0156 -52.0335 -52.1385 -52.2598 -52.6446 -53.0037 -53.3088 -53.2599 -53.1233 -52.6165 -51.3749 -49.7342 -47.3827 -44.7066 -41.6934 -38.54 -35.5435 -32.9638 -31.0317 -30.1352 -29.6037 -29.8207 -30.998 -32.8318 -35.6292 -38.9798 -42.2345 -45.0336 -47.3745 -48.8155 -49.7002 -50.4047 -50.9738 -51.7992 -52.6304 -53.0443 -53.5814 -53.7897 -53.6319 -53.5987 -53.7089 -53.8932 -54.0184 -54.1012 -53.9636 -53.6736 -53.3835 -52.9764 -52.9107 -52.6627 -52.6313 -52.8419 -53.0261 -53.4053 -53.8335 -54.5016 -54.9823 -55.3855 -55.6365 -55.3996 -55.3171 -54.9891 -54.5909 -53.7837 -52.7339 -51.6875 -50.2036 -48.8224 -47.2403 -45.867 -44.5942 -43.5984 -42.8749 -42.8432 -43.6685 -45.3326 -47.7636 -50.5606 -53.5107 -55.5262 -56.272 -55.9273 -54.6968 -52.856 -50.8973 -49.5901 -48.3427 -48.2112 -49.1394 -50.6358 -52.5245 -54.2295 -55.282 -54.9634 -53.0177 -49.3607 -44.9151 -40.02 -35.202 -31.2621 -28.0321 -26.1198 -24.879 -24.6501 -25.3803 -27.3643 -29.9051 -33.4108 -37.0644 -41.4103 -44.9869 -48.0865 -50.1019 -51.3572 -51.6594 -51.6249 -51.1872 -50.677 -49.7162 -48.1479 -46.337 -44.1884 -42.012 -40.3614 -39.4749 -39.5991 -41.0636 -43.412 -46.0775 -48.7501 -51.0002 -52.8504 -54.2471 -55.0079 -55.7183 -56.1087 -56.0948 -54.6029 -52.2832 -48.9449 -45.3034 -41.5826 -38.3082 -35.8447 -35.2638 -35.473 -37.0979 -39.22 -42.0164 -44.7975 -47.3437 -49.5743 -50.8072 -51.8514 -52.5344 -52.7209 -53.2039 -53.2251 -53.159 -53.3191 -53.3871 -53.4278 -53.5876 -53.7652 -53.9746 -54.0325 -54.2752 -54.3687 -54.4382 -54.8704 -54.8615 -55.1245 -55.385 -55.7996 -56.2621 -56.4669 -56.7022 -56.9252 -56.8937 -56.2129 -54.8778 -53.2722 -51.6275 -49.7701 -48.4397 -47.9101 -48.4635 -49.7203 -51.3593 -52.5931 -53.6014 -54.2699 -54.7474 -54.9113 -55.0663 -55.9393 -56.3525 -57.232 -58.157 -58.9554 -59.4873 -60.0375 -60.3382 -60.4488 -60.5526 -60.3136 -60.0475 -59.6873 -59.4661 -59.0868 -59.0829 -59.02 -59.2034 -59.5879 -60.1012 -60.8225 -61.1265 -61.8761 -62.5739 -63.108 -63.4622 -63.4595 -62.1307 -59.7983 -57.1648 -54.4842 -51.6715 -50.0629 -48.9576 -48.6408 -48.7897 -48.7501 -48.7915 -48.5888 -48.3145 -48.244 -48.7746 -50.1017 -51.8732 -54.5117 -57.2505 -58.8298 -58.6658 -56.6033 -53.1994 -49.1073 -45.4573 -42.2612 -40.5496 -40.9421 -41.945 -44.0307 -46.0088 -48.1078 -49.6336 -50.8407 -51.5962 -52.5235 -53.1539 -53.7114 -53.7297 -53.3078 -51.9321 -49.664 -46.8872 -43.3878 -40.6588 -38.2323 -37.1636 -37.4767 -39.1193 -41.7183 -45.082 -48.6627 -52.1445 -54.688 -56.255 -56.8476 -56.7238 -55.7811 -53.5298 -50.4202 -46.5245 -42.9523 -39.6185 -37.0265 -35.5304 -35.1192 -35.6601 -36.8018 -38.6167 -41.3744 -44.2275 -47.6159 -50.9039 -53.6826 -56.324 -58.827 -60.8817 -62.9867 -64.5005 -65.3255 -65.2913 -64.5362 -63.1558 -61.3377 -59.5414 -57.6769 -56.08 -55.068 -54.4224 -53.9997 -54.0107 -54.2232 -54.613 -55.2031 -55.8676 -56.1685 -56.4367 -56.2866 -55.4501 -53.461 -50.7641 -47.2667 -43.9216 -40.465 -37.6401 -35.9086 -35.0412 -34.8338 -35.4704 -37.0468 -39.4607 -42.42 -45.8042 -49.1043 -52.0129 -54.3191 -56.1074 -57.1534 -57.8722 -57.9928 -57.7109 -57.4414 -56.8917 -56.2746 -55.5138 -54.4798 -53.5406 -52.7814 -52.3099 -51.7138 -51.6032 -51.5313 -50.9142 -51.0096 -50.8523 -50.9529 -51.1577 -51.5496 -52.1205 -52.7961 -53.4885 -54.1658 -54.8466 -55.1783 -55.5178 -55.504 -55.7352 -55.7154 -55.7396 -55.7294 -55.7036 -55.6414 -55.7303 -55.9092 -56.2173 -56.938 -57.8112 -58.7568 -59.783 -60.3853 -61.1195 -61.6076 -61.9125 -62.408 -62.4263 -62.2803 -61.7731 -61.0499 -59.7101 -58.3497 -56.9596 -55.7975 -54.7535 -53.4834 -52.2833 -51.3536 -50.8129 -50.9429 -51.3578 -52.6778 -54.3589 -56.634 -58.7269 -60.6742 -61.7817 -61.7403 -60.4137 -58.3067 -55.7396 -53.1556 -51.0151 -49.5587 -49.0255 -49.4186 -49.9278 -50.8607 -51.9482 -52.7984 -53.9226 -54.9669 -55.7715 -56.9521 -57.7312 -58.624 -59.1876 -59.6126 -60.2451 -60.4965 -60.873 -61.2935 -61.4613 -61.4349 -61.204 -60.9927 -60.3706 -59.8811 -59.3318 -59.134 -59.0597 -58.3916 -57.4637 -55.92 -54.3325 -53.3826 -52.6218 -51.6089 -51.2004 -50.6258 -49.8976 -49.0722 -47.9472 -47.3098 -47.6843 -48.4002 -49.4147 -50.2655 -50.905 -51.547 -51.7844 -51.9461 -52.2187 -52.375 -52.4511 -52.1256 -51.791 -50.708 -49.4198 -47.9763 -46.9803 -46.5112 -46.7041 -47.3576 -48.2611 -49.6466 -50.4557 -51.505 -52.2309 -53.0422 -54.0114 -55.4134 -56.9137 -58.3251 -59.9749 -60.3209 -59.4136 -56.9438 -53.2924 -49.0824 -45.0582 -41.8753 -39.6021 -39.6617 -40.8961 -43.411 -46.5883 -50.0575 -53.4763 -56.3712 -58.7493 -60.3553 -61.2613 -61.5463 -61.1157 -60.9158 -59.5288 -57.388 -54.3755 -50.8004 -47.2499 -43.4532 -40.6987 -39.2967 -39.8833 -41.8031 -44.5321 -47.6162 -50.7069 -53.2771 -54.991 -55.614 -55.5348 -55.4527 -55.343 -55.0969 -55.1877 -55.3541 -55.3874 -55.5051 -55.5499 -55.4475 -55.5819 -55.6876 -55.2902 -55.2427 -55.1176 -55.1083 -55.2654 -55.6532 -55.9187 -56.0203 -55.9685 -55.7914 -55.4954 -55.2519 -55.2664 -55.5975 -55.8187 -56.2749 -56.2979 -56.2689 -56.3933 -55.8967 -55.5313 -55.3184 -54.9728 -55.1295 -54.9244 -55.524 -55.5814 -55.86 -56.2416 -56.7841 -57.2793 -58.0912 -58.8088 -59.8297 -60.8628 -61.751 -62.4256 -62.6496 -62.6071 -62.0631 -61.5595 -60.6919 -59.6694 -58.8888 -58.0411 -57.3365 -56.8245 -56.6847 -56.4922 -56.5887 -57.1848 -58.0955 -59.272 -60.6457 -62.434 -63.8309 -65.0548 -65.0969 -64.1538 -62.13 -59.683 -57.0361 -54.7682 -53.4407 -53.0934 -53.669 -54.7165 -55.6542 -56.2521 -56.7692 -57.079 -57.2488 -57.8712 -58.1534 -58.9047 -59.2442 -59.5853 -60.0032 -60.6461 -61.3613 -61.9223 -62.4965 -63.157 -63.3848 -63.9363 -64.1216 -64.414 -64.3592 -64.1308 -63.7386 -62.7819 -61.9252 -60.574 -59.445 -58.4608 -57.5302 -56.7 -56.0565 -55.6151 -55.3495 -54.8544 -54.2913 -53.5333 -52.9612 -52.1733 -51.6123 -51.2908 -51.1901 -51.2563 -51.244 -51.2568 -51.4928 -51.4636 -51.5733 -51.8655 -52.2841 -52.9694 -53.3125 -53.7435 -53.9744 -54.3131 -54.6018 -54.9498 -55.4149 -55.8537 -56.2819 -56.857 -57.211 -57.7614 -58.0668 -58.149 -57.3802 -55.8094 -52.8366 -49.1495 -45.1081 -40.9575 -37.3489 -34.4939 -32.8915 -32.045 -32.3118 -33.0071 -34.002 -35.5848 -38.1767 -40.9474 -43.7875 -46.4852 -48.6153 -50.0943 -50.8973 -51.017 -51.0396 -51.265 -51.3999 -51.8646 -52.3309 -52.6814 -53.021 -52.99 -53.3555 -53.4763 -54.0345 -54.4614 -54.445 -54.3721 -54.0303 -53.633 -53.2856 -53.3157 -53.4814 -53.722 -53.998 -54.4376 -54.6363 -55.1306 -55.6908 -56.5747 -57.0097 -57.389 -57.6248 -56.9548 -56.0661 -55.1612 -54.0106 -52.9357 -51.593 -50.5209 -49.4093 -48.4171 -47.6654 -47.0631 -47.1889 -47.6463 -48.7091 -50.2263 -51.1247 -51.3096 -50.7182 -48.8617 -46.4609 -43.5964 -40.6223 -38.1446 -37.0731 -36.8346 -37.6066 -39.333 -41.456 -43.4444 -45.29 -47.101 -49.0612 -51.4633 -53.7477 -56.4419 -59.0151 -61.2254 -62.4338 -61.7744 -59.3872 -55.7323 -51.6111 -47.23 -43.4477 -41.1086 -40.7608 -42.2399 -44.6557 -47.2896 -49.8793 -51.8526 -53.4225 -54.4821 -55.2357 -56.3879 -57.8021 -59.1793 -61.1592 -62.5095 -63.6317 -63.8983 -63.5188 -62.1541 -60.4591 -58.5019 -57.0434 -55.8769 -54.5604 -53.9051 -53.5165 -53.5331 -53.8947 -54.4631 -54.9837 -55.4469 -56.06 -56.1939 -56.0157 -55.9746 -55.39 -55.2285 -54.9936 -54.6927 -54.6444 -54.7084 -54.7789 -55.366 -56.068 -57.0481 -58.3824 -59.5115 -60.7754 -61.9539 -62.9129 -63.7654 -64.6964 -65.4744 -66.2442 -66.5337 -65.6445 -63.5155 -60.8122 -57.8389 -54.5303 -52.3016 -51.2249 -51.9916 -53.6469 -55.726 -57.726 -59.4954 -60.4558 -60.8175 -60.7903 -60.3173 -59.94 -59.3143 -58.7691 -58.6789 -59.04 -59.6261 -60.5021 -61.5118 -62.2154 -62.258 -62.0168 -61.0499 -59.773 -58.2191 -56.7594 -55.6078 -54.9488 -54.8959 -54.8457 -55.0064 -55.1661 -55.1615 -55.1977 -55.0625 -54.669 -54.5438 -54.6637 -54.4981 -54.836 -55.5038 -55.9996 -56.5774 -56.6866 -56.8462 -56.7784 -56.5239 -56.4519 -56.5654 -56.7635 -57.0673 -57.2838 -57.8807 -58.2054 -58.8825 -59.568 -60.2324 -60.8173 -61.2867 -60.8132 -60.0001 -58.7721 -57.2707 -55.9372 -54.1542 -52.9069 -51.6014 -50.3378 -49.2774 -48.072 -47.3208 -46.9304 -46.8654 -47.1852 -48.3617 -49.933 -51.6645 -53.7104 -55.3583 -56.5273 -56.9183 -56.4568 -55.8947 -54.9565 -53.8648 -52.703 -51.4319 -50.8293 -50.2249 -50.2975 -50.4186 -51.2953 -51.9385 -53.0334 -53.8318 -53.7219 -52.6318 -50.7234 -47.9858 -44.7333 -41.8379 -39.1044 -37.1163 -36.1693 -36.4681 -38.1282 -40.9945 -44.3443 -47.9292 -51.0958 -53.6812 -55.3618 -56.4939 -56.9154 -57.1857 -57.4823 -57.4638 -57.4208 -56.8959 -56.3355 -55.1743 -53.4684 -51.7295 -50.4807 -49.3834 -49.9224 -50.8541 -52.7642 -54.845 -56.8999 -58.5942 -59.7144 -60.456 -60.9673 -61.5199 -61.8546 -62.4892 -63.0884 -63.6896 -64.1388 -64.2362 -64.375 -63.9879 -63.1872 -61.7857 -60.66 -59.4207 -58.202 -57.5715 -57.1604 -56.887 -56.8799 -56.9902 -57.0833 -57.1328 -57.2123 -57.3449 -56.8078 -55.7428 -53.807 -51.4175 -48.7141 -46.1147 -43.9538 -42.6689 -42.4762 -43.6516 -45.5328 -48.0069 -50.3706 -52.3483 -54.2147 -55.4329 -56.0868 -56.7413 -57.4795 -58.0813 -57.8621 -56.1578 -53.0273 -49.1407 -44.6647 -40.5923 -37.0927 -34.622 -34.2234 -34.8173 -36.2742 -38.7572 -41.4 -44.3217 -47.0127 -49.0389 -50.482 -51.3688 -51.9274 -52.2794 -52.3889 -52.7673 -53.2534 -53.7368 -54.1635 -54.5202 -54.6181 -54.7245 -54.9134 -55.01 -55.1676 -55.1405 -55.2696 -55.3027 -55.2355 -55.5112 -56.0832 -56.7131 -57.4068 -58.0231 -58.6942 -58.8703 -59.1634 -59.532 -60.0448 -60.4403 -60.0776 -59.275 -58.2662 -57.1404 -55.801 -54.7229 -53.7035 -52.5352 -51.7196 -50.483 -49.343 -48.5213 -47.7762 -47.4278 -47.7171 -48.0389 -48.9429 -50.0256 -51.2512 -52.7578 -53.8992 -54.81 -55.0888 -55.2719 -55.3533 -55.3531 -54.9046 -54.702 -54.4147 -54.6429 -55.0404 -55.5882 -56.7165 -57.9163 -58.7267 -59.0283 -58.6468 -56.7922 -54.2956 -50.589 -46.6633 -42.9799 -39.8633 -37.6916 -36.6576 -36.6921 -38.1557 -40.3969 -43.5986 -46.9222 -50.2011 -53.1496 -55.4795 -56.9271 -57.9603 -58.5927 -58.7988 -59.077 -58.8836 -59.1855 -58.9176 -59.0355 -58.9724 -58.375 -57.4882 -56.2577 -55.1946 -53.9212 -53.0607 -52.53 -52.4347 -52.4839 -52.4993 -52.532 -52.4142 -52.2753 -51.2443 -49.7897 -47.5867 -45.0634 -42.2504 -39.0152 -36.4073 -34.1219 -32.6047 -31.7309 -31.7035 -32.9245 -35.5449 -38.948 -43.6931 -47.9149 -51.6577 -55.1371 -57.2052 -58.4329 -59.1038 -59.278 -59.2622 -59.2878 -59.0295 -58.6682 -58.406 -58.6915 -59.1546 -59.8886 -60.6378 -61.1341 -60.9546 -60.6293 -59.4556 -58.4477 -57.3165 -56.3266 -55.2099 -54.5133 -53.7133 -53.1868 -52.5596 -52.464 -52.5062 -52.7535 -53.1591 -53.3206 -53.0893 -52.8737 -52.4121 -51.9209 -51.6973 -51.581 -51.616 -51.8044 -52.2281 -52.5692 -53.0154 -53.7082 -54.3201 -54.8525 -55.3146 -55.625 -55.9447 -56.0027 -55.8886 -55.672 -55.7697 -55.7908 -55.7492 -55.918 -56.0763 -56.5502 -56.8916 -57.0862 -57.5339 -57.6169 -57.6807 -57.5123 -57.5459 -57.5467 -57.6298 -57.4872 -57.5686 -56.6822 -55.2669 -53.0329 -49.99 -46.8783 -43.6503 -40.9511 -39.7947 -40.3335 -42.0339 -44.4903 -47.1591 -49.6836 -51.5569 -52.929 -54.0891 -55.438 -56.5622 -57.3539 -58.338 -59.1859 -59.4312 -59.1096 -58.1421 -56.927 -55.238 -53.8073 -52.7935 -52.3112 -52.5847 -53.5876 -54.7236 -55.9006 -57.1931 -58.1267 -59.072 -59.7345 -60.6458 -61.3265 -62.0783 -62.4525 -61.753 -59.6119 -56.5523 -52.6471 -48.7212 -44.8153 -42.3524 -41.5962 -42.2149 -43.7787 -45.5589 -47.0426 -48.5285 -49.2865 -50.0573 -50.3985 -50.8299 -51.6147 -52.2674 -52.8532 -53.6606 -54.4277 -55.0237 -55.4614 -55.8136 -55.8242 -55.9295 -55.9133 -56.2621 -56.5671 -56.8516 -57.3962 -58.0337 -59.0277 -60.0099 -61.5062 -63.0907 -64.3616 -65.3591 -65.3955 -64.5162 -62.3823 -59.0893 -55.2138 -51.2143 -47.5862 -45.0174 -43.6385 -43.6479 -45.1881 -47.2805 -49.588 -51.5156 -53.1124 -53.9222 -54.3284 -54.7183 -55.0143 -55.4864 -55.5978 -55.7853 -55.985 -56.0813 -56.2962 -56.4919 -56.5472 -56.559 -56.5891 -56.5768 -56.6497 -56.6377 -56.9036 -56.9461 -57.0225 -57.1685 -57.5667 -58.0179 -58.8773 -59.4199 -59.8667 -60.4359 -60.1936 -59.3608 -57.897 -55.8842 -53.2553 -50.9147 -48.8114 -47.3898 -47.2108 -47.9212 -48.9344 -50.2213 -50.9526 -51.9188 -52.2156 -52.4202 -52.6444 -53.0768 -53.0902 -53.5688 -53.684 -53.5247 -53.2597 -52.9901 -52.9601 -53.2359 -53.7677 -54.2205 -54.8549 -55.1673 -55.2012 -54.7487 -54.2236 -53.3293 -53.0021 -52.5678 -52.6232 -52.6574 -52.9974 -53.7718 -54.717 -55.5534 -56.322 -56.856 -57.1483 -56.7976 -56.2599 -55.8068 -55.3944 -54.8524 -54.343 -53.413 -52.091 -50.803 -49.3047 -47.997 -46.8362 -46.294 -45.9393 -46.4848 -47.3641 -49.1683 -51.2895 -53.1107 -54.4702 -54.8208 -54.5392 -53.9555 -52.7978 -51.8539 -51.3076 -50.7168 -50.2714 -49.8772 -49.662 -49.9863 -51.0052 -52.8563 -54.9673 -57.1342 -58.3769 -58.1277 -55.5222 -51.3847 -46.2608 -41.3208 -37.0582 -33.6856 -31.7811 -30.8985 -30.8832 -31.4673 -32.6417 -35.2544 -38.1647 -41.8569 -45.6025 -48.9778 -51.7183 -53.4794 -54.488 -55.0411 -55.0584 -55.0061 -55.0476 -55.117 -55.353 -55.7373 -56.1058 -56.4043 -56.6699 -56.7326 -56.338 -55.8308 -55.1657 -54.72 -54.6979 -55.1156 -55.5149 -56.0919 -56.7662 -57.5084 -57.2868 -56.2361 -53.5916 -50.421 -46.7673 -42.8744 -39.1981 -36.9638 -35.851 -35.8438 -36.9841 -38.823 -41.3893 -44.1984 -47.034 -49.564 -51.2798 -52.547 -53.5794 -54.134 -54.6511 -55.0435 -55.4187 -55.8255 -56.5011 -56.9713 -57.7507 -58.1792 -58.815 -59.2638 -59.6504 -59.9268 -60.2902 -60.5133 -60.9432 -61.3775 -61.8214 -61.9897 -62.2552 -62.3025 -62.3749 -62.1777 -61.844 -60.8178 -59.1761 -56.8158 -54.5777 -52.0502 -50.3366 -49.5644 -49.7578 -50.5941 -51.8041 -52.9765 -53.835 -54.5904 -55.2215 -55.8617 -55.7419 -56.0245 -56.3068 -56.7518 -57.163 -57.9269 -58.6169 -59.1924 -59.9922 -60.7187 -60.9807 -61.2175 -61.1012 -60.9709 -61.2674 -61.5932 -62.2392 -63.1002 -64.0522 -64.6672 -65.2675 -65.8547 -66.1905 -66.6966 -67.2687 -67.6344 -67.8448 -68.3966 -68.512 -67.9934 -66.9325 -65.5257 -63.1795 -60.8772 -58.4085 -56.0057 -53.8982 -52.1667 -50.9589 -49.8651 -49.0236 -48.5842 -48.724 -49.4555 -50.4677 -51.5728 -51.8414 -51.3464 -49.966 -47.94 -45.5188 -43.1158 -40.9666 -40.218 -39.7713 -40.7196 -42.0819 -44.0824 -46.1905 -48.0669 -49.7339 -50.8783 -51.6463 -52.1967 -52.4481 -52.8094 -52.6351 -51.7731 -50.114 -47.6475 -44.9703 -42.0026 -39.1882 -37.4836 -36.6813 -36.9776 -38.2344 -40.4929 -43.6504 -46.8424 -50.5226 -53.6474 -56.3162 -57.9117 -59.2238 -59.9563 -59.5511 -58.0998 -54.9807 -51.2695 -46.8241 -42.6475 -38.8755 -36.488 -35.7416 -36.4403 -38.4141 -40.9798 -43.8497 -46.5812 -48.92 -51.0164 -52.7195 -54.6336 -56.6016 -58.689 -60.16 -61.0361 -60.3455 -57.9463 -54.2958 -49.5709 -45.2428 -41.4002 -39.3363 -39.6692 -42.0529 -45.1645 -48.392 -51.5929 -53.8095 -55.1655 -55.8504 -56.1046 -56.5105 -56.8328 -57.4208 -57.43 -57.4181 -56.8556 -56.0992 -55.0629 -53.8155 -52.5434 -51.3343 -50.4984 -50.1181 -49.9573 -49.9524 -50.381 -50.8941 -51.6094 -52.5566 -53.2059 -53.6985 -54.5183 -54.9851 -55.6078 -55.6837 -55.5236 -55.0419 -54.0005 -52.4852 -50.743 -48.9969 -47.4896 -46.623 -46.8771 -47.7175 -49.083 -50.3587 -51.7392 -52.6231 -53.1599 -53.6082 -53.7278 -53.8064 -54.1672 -54.4646 -54.9035 -55.1472 -55.638 -55.8567 -55.9611 -56.1748 -56.2517 -56.4057 -56.4742 -56.4836 -56.6196 -56.444 -56.6148 -56.5397 -56.6012 -56.6691 -57.0842 -57.3674 -57.9249 -58.2911 -58.6093 -58.9948 -59.3669 -59.2308 -59.2394 -59.221 -58.8841 -58.2156 -57.6241 -56.5196 -55.2815 -53.8209 -52.1869 -50.732 -49.6533 -48.6261 -47.8819 -47.4704 -47.6124 -48.5358 -50.2601 -52.0177 -53.9599 -54.6282 -53.7731 -52.467 -49.8203 -47.0385 -44.5227 -43.301 -42.9618 -43.6698 -44.2063 -45.0745 -45.7816 -47.3712 -49.5677 -52.21 -55.7275 -58.7611 -61.4587 -63.2648 -63.2468 -61.823 -59.2951 -56.1981 -52.6714 -49.5038 -47.0609 -45.4559 -45.3385 -45.8706 -47.1124 -48.7087 -49.8177 -51.0381 -52.0294 -52.3357 -52.6255 -53.0679 -53.5304 -54.0527 -54.5695 -55.1413 -55.5314 -56.1198 -56.8406 -57.382 -57.8907 -58.3432 -58.7403 -58.9642 -58.8827 -58.8069 -58.3221 -57.8989 -57.8666 -57.5133 -57.1398 -56.9861 -56.772 -56.0453 -54.47 -52.4241 -49.6525 -46.4027 -43.0881 -40.2232 -38.2128 -37.3663 -38.1015 -40.0331 -42.7226 -46.0159 -49.6187 -52.7315 -55.746 -57.8926 -59.2403 -59.9993 -60.7497 -60.6091 -59.7995 -57.7642 -54.7649 -50.9779 -47.3253 -43.7743 -40.7746 -39.2561 -38.6117 -39.0587 -40.4309 -42.5664 -45.478 -48.4652 -51.1937 -53.4358 -55.4235 -56.7503 -56.8351 -56.7138 -55.57 -53.8263 -51.2352 -48.1609 -44.6723 -41.0798 -38.1264 -35.4604 -34.3326 -33.7538 -34.1784 -35.443 -38.0271 -41.0875 -44.2552 -47.3878 -49.7111 -51.6458 -52.2824 -52.6104 -52.6435 -52.7425 -52.9447 -53.0603 -53.3356 -53.7945 -54.2626 -54.9955 -55.5788 -56.4162 -56.9575 -57.3302 -57.5216 -57.6459 -57.7639 -57.8297 -57.5986 -58.0111 -58.1474 -58.4826 -58.7751 -59.2446 -59.3281 -59.8143 -59.8017 -58.6419 -56.4367 -52.962 -49.0982 -45.0732 -42.0482 -40.3305 -40.7749 -42.7543 -45.6042 -48.4463 -50.7979 -52.666 -53.5203 -54.0716 -54.2813 -55.0328 -56.0452 -57.5112 -58.7154 -60.1749 -61.5208 -62.4504 -62.9231 -62.7682 -62.2297 -60.9491 -59.3042 -57.9418 -56.7484 -55.9669 -55.5558 -55.4905 -55.6948 -55.6251 -55.7279 -55.6797 -55.5677 -55.3952 -54.9533 -54.0152 -51.957 -49.4905 -46.3059 -43.191 -40.2968 -38.358 -37.884 -38.9951 -41.1755 -43.8025 -47.2284 -50.2534 -53.0751 -55.3131 -56.9031 -57.8311 -58.6354 -58.8597 -59.0787 -59.0053 -59.0374 -58.684 -58.2669 -57.6865 -57.1034 -56.5437 -55.7577 -55.3806 -55.0544 -55.0358 -55.0721 -54.7402 -54.5792 -54.1434 -53.9166 -53.8629 -53.8088 -53.7366 -53.8246 -53.7631 -53.5181 -52.8284 -51.975 -50.7651 -49.266 -48.1398 -47.3473 -46.9828 -46.9849 -47.5899 -48.1301 -48.7775 -49.4608 -49.9873 -50.5256 -51.2326 -52.0334 -52.9936 -53.6135 -54.2931 -54.4707 -54.5637 -54.5707 -54.4135 -54.5539 -54.585 -55.0271 -55.3559 -55.6816 -55.7796 -55.7471 -55.7263 -55.3238 -55.1548 -55.4507 -55.5538 -56.1918 -56.8862 -57.2392 -56.9235 -56.1631 -55.2631 -55.1827 -55.4353 -57.0277 -58.3323 -59.3502 -59.9624 -59.3732 -57.9961 -55.514 -53.3845 -52.0337 -51.0536 -51.1395 -51.186 -51.6972 -52.2369 -52.8694 -53.5877 -53.8629 -54.2735 -54.3618 -54.1872 -54.0231 -53.9057 -53.6369 -53.3602 -53.0878 -52.8766 -52.8469 -52.5639 -52.6074 -52.7958 -52.7653 -52.965 -52.971 -52.9479 -52.9873 -52.8628 -53.064 -53.3341 -53.5527 -53.1651 -53.1234 -52.7869 -52.7812 -52.8266 -53.3307 -53.7008 -54.3562 -54.5005 -54.8988 -54.7298 -54.8752 -54.8613 -55.0427 -55.0525 -54.995 -54.8854 -55.1919 -55.2954 -55.8696 -56.6956 -57.3491 -57.1637 -56.4633 -55.3269 -54.1849 -52.8228 -51.5707 -50.6662 -49.8312 -49.0572 -48.4155 -48.0528 -48.1598 -48.2535 -48.6304 -49.2678 -50.068 -51.4592 -53.374 -55.9345 -58.6323 -60.7431 -61.7525 -61.3412 -59.5419 -57.2854 -54.4993 -51.9479 -50.4402 -49.3993 -48.5808 -48.3645 -48.4608 -48.5881 -49.2702 -50.4193 -51.7032 -53.2264 -54.4723 -55.5255 -56.2599 -56.8832 -57.171 -57.8608 -58.9102 -59.792 -60.8988 -62.0342 -62.6646 -62.9758 -62.9167 -62.533 -62.2701 -62.0534 -62.1775 -62.1427 -61.7894 -60.167 -57.571 -54.028 -49.4726 -44.6812 -40.1919 -36.6771 -34.77 -34.144 -34.7878 -36.5878 -39.3082 -42.4998 -45.6935 -48.5835 -50.9533 -52.6159 -53.5931 -54.1765 -54.3995 -54.6801 -55.2199 -55.6375 -56.045 -56.1094 -55.9834 -55.7514 -55.4438 -55.2148 -55.2793 -55.3317 -55.4525 -55.517 -55.1812 -54.634 -54.0779 -53.7702 -53.3746 -52.2918 -50.4905 -47.7227 -44.227 -40.4332 -36.844 -34.0673 -32.2615 -31.6129 -31.3879 -31.4387 -31.5999 -32.1063 -33.4442 -35.4768 -38.6513 -42.1697 -45.7157 -48.939 -51.313 -52.7323 -53.3404 -53.3176 -53.0466 -52.7948 -52.726 -52.5403 -52.3895 -52.1627 -51.7686 -51.536 -51.4391 -51.1994 -51.2469 -51.1639 -51.3416 -51.5784 -51.927 -52.2231 -52.5323 -52.5539 -52.7594 -52.2892 -51.8363 -51.5062 -51.2685 -51.0443 -51.0394 -51.1656 -51.1396 -51.0813 -51.248 -51.3296 -51.5355 -51.1781 -51.2384 -51.2721 -51.2693 -51.4769 -51.6242 -51.6572 -52.1486 -52.4843 -52.639 -52.8026 -52.3791 -51.7219 -51.3712 -50.7804 -50.2796 -49.8629 -49.7097 -49.8685 -50.0314 -50.0697 -50.1935 -50.5707 -50.9854 -51.6816 -52.4723 -53.8765 -54.996 -56.2642 -57.1626 -57.3336 -56.8643 -55.0656 -52.26 -48.8283 -44.7087 -40.9551 -37.6747 -35.3748 -34.3796 -34.1337 -35.3496 -37.5392 -40.9358 -44.7397 -49.1872 -53.5221 -57.2519 -59.9377 -61.8768 -62.7919 -63.6548 -63.6258 -63.2123 -61.9149 -59.8754 -57.4205 -54.8715 -52.4811 -50.8024 -49.8705 -49.6693 -49.9469 -50.178 -50.8302 -51.583 -52.3459 -53.0671 -53.9012 -54.6376 -55.3793 -56.1862 -56.4056 -55.3126 -53.1847 -50.0069 -46.4101 -42.8227 -39.2999 -36.9596 -35.3406 -35.2799 -36.4938 -38.7122 -41.8283 -45.426 -49.1198 -52.2592 -54.9853 -56.5529 -57.3379 -57.5986 -57.7701 -57.5217 -56.2987 -54.0404 -50.9567 -47.4844 -43.6913 -40.2386 -37.7886 -36.5569 -36.713 -37.9942 -40.3657 -43.2118 -46.333 -49.3465 -51.91 -53.7856 -55.3085 -56.2203 -57.235 -57.984 -58.7346 -59.1096 -58.6814 -57.0615 -54.7926 -51.6024 -48.831 -46.1767 -44.3567 -44.1898 -45.4609 -47.4904 -49.7937 -51.7258 -53.1309 -53.7745 -53.8106 -53.8177 -53.8471 -54.1249 -54.3312 -54.4128 -54.5722 -54.3023 -54.0262 -53.8646 -53.6103 -53.7781 -53.9348 -54.4834 -54.6645 -55.0666 -55.2143 -55.3353 -55.3111 -55.2519 -55.1343 -55.1356 -54.9426 -54.6053 -54.4358 -54.0377 -53.8208 -53.5517 -53.1531 -53.0931 -52.9445 -53.226 -53.3579 -53.6306 -53.7375 -53.8985 -53.9128 -53.8072 -53.4593 -53.485 -53.3978 -53.299 -53.6063 -54.1143 -54.6768 -55.3298 -55.5492 -55.5738 -55.2615 -54.7558 -53.8566 -53.3763 -52.6746 -52.5954 -52.2843 -52.0509 -51.865 -52.0373 -51.8353 -52.2249 -52.4149 -52.8168 -53.0842 -53.4285 -53.9746 -54.4962 -55.0224 -55.0715 -55.192 -54.239 -52.4265 -50.4468 -48.463 -46.9813 -45.6902 -46.0188 -47.4183 -49.3855 -51.5448 -53.4038 -54.9492 -56.1173 -56.9099 -57.2387 -57.804 -58.5892 -59.4519 -60.7837 -62.2034 -64.1236 -65.6906 -66.9214 -67.3442 -66.9469 -65.8726 -63.8658 -61.728 -59.6414 -57.7621 -56.2581 -55.4875 -55.1515 -55.013 -55.2951 -55.3483 -55.4656 -55.3312 -55.4845 -55.3766 -55.0337 -53.9771 -52.4576 -50.2251 -47.4805 -44.7597 -42.6823 -42.01 -42.7956 -44.6814 -47.154 -49.6761 -52.2519 -54.2803 -55.9434 -57.0636 -58.1012 -59.3548 -60.0429 -60.5486 -60.1019 -58.8452 -56.3369 -52.8389 -49.0611 -45.4282 -42.4468 -40.9386 -40.7828 -42.0797 -44.3392 -47.1016 -49.7791 -52.3441 -54.2243 -55.5322 -56.429 -57.2861 -57.357 -57.1335 -56.5348 -54.8338 -52.5043 -49.8719 -47.2092 -44.8545 -42.9177 -42.361 -42.3903 -43.7573 -44.9893 -46.9298 -48.4034 -50.1003 -51.3952 -52.6322 -53.753 -54.4506 -54.6856 -54.8722 -54.9078 -55.064 -55.0408 -55.0763 -55.0045 -54.8899 -54.4735 -54.4294 -54.2913 -54.3935 -54.8079 -55.1603 -55.6626 -55.697 -55.5297 -55.4884 -55.2745 -55.2256 -55.2839 -55.391 -55.4155 -55.0596 -54.2457 -52.4488 -50.0248 -47.1656 -44.1765 -41.5892 -39.9107 -39.6685 -41.1816 -43.2994 -45.7903 -48.5817 -51.2873 -53.436 -54.9015 -55.9276 -56.3509 -56.7744 -57.2018 -57.6191 -58.0865 -58.3216 -58.6859 -59.1942 -59.4959 -59.9035 -60.2248 -60.5089 -60.6877 -61.1834 -61.3278 -61.4727 -61.4711 -61.5003 -61.529 -61.4512 -61.4904 -61.7436 -61.5532 -61.4034 -60.9748 -60.4062 -59.9004 -59.4835 -59.5087 -59.4983 -60.2676 -61.1959 -62.0003 -62.6271 -62.7289 -62.5917 -61.821 -60.5228 -59.5407 -58.3632 -57.8183 -57.1886 -56.865 -56.7551 -56.8961 -56.7792 -56.858 -57.0045 -57.0029 -56.9649 -56.8766 -56.702 -56.8227 -56.7578 -56.6011 -56.4235 -55.9975 -55.7026 -55.5138 -55.3386 -54.8328 -53.3838 -51.3225 -48.4155 -44.6742 -41.149 -37.688 -35.047 -33.3893 -32.702 -32.6444 -33.1195 -34.3324 -36.1579 -38.4221 -41.148 -43.9333 -46.4483 -48.3114 -49.7502 -50.7361 -51.2162 -51.4227 -51.9249 -52.067 -52.4727 -52.9252 -53.0795 -53.3476 -53.7533 -53.9368 -54.1995 -54.556 -54.6697 -54.9299 -55.2098 -55.726 -56.2043 -56.8885 -57.2603 -57.7528 -58.1234 -57.6565 -56.216 -53.4426 -50.0638 -46.4283 -43.1243 -40.0651 -37.9343 -36.831 -36.5244 -37.1967 -38.1565 -39.8272 -42.2006 -44.6562 -47.1742 -49.7371 -51.391 -52.4066 -52.9443 -52.9012 -52.8778 -52.8999 -52.9553 -53.2484 -53.7003 -53.8585 -54.1949 -54.1732 -54.4537 -54.5987 -54.9181 -55.059 -55.3368 -55.4414 -55.3963 -55.3703 -55.4721 -55.6277 -56.0866 -56.4924 -57.0799 -57.7069 -58.1149 -58.5427 -58.9321 -59.3613 -59.7478 -59.7469 -59.2004 -58.3927 -56.9541 -55.7892 -54.5988 -53.6433 -52.6997 -51.603 -50.6244 -49.2949 -47.7993 -46.9091 -46.5122 -46.687 -47.3264 -48.775 -50.5136 -52.5261 -54.3107 -55.9236 -56.6549 -56.486 -55.8345 -55.0223 -54.6629 -54.1989 -53.9469 -53.9401 -54.2429 -54.826 -55.8289 -57.0126 -58.8514 -60.723 -62.3719 -63.1745 -63.5072 -62.9261 -62.4751 -61.8502 -61.2028 -60.7757 -60.358 -59.5095 -58.5642 -57.2228 -56.0588 -54.9828 -54.564 -54.3475 -54.539 -55.0354 -55.5487 -56.4854 -57.2217 -58.1854 -59.088 -59.9869 -60.9686 -61.84 -62.8795 -63.947 -64.7662 -65.4199 -65.6127 -65.748 -65.7433 -65.4386 -65.3195 -64.9736 -64.911 -64.7016 -64.7521 -64.327 -64.0766 -63.9354 -63.063 -61.0944 -58.2225 -54.7719 -50.5903 -46.3898 -42.6978 -40.0625 -39.0825 -40.0219 -42.4029 -45.0039 -48.2746 -51.0671 -53.4791 -54.9307 -55.7802 -56.2531 -56.8921 -57.4143 -57.7802 -58.3396 -58.6337 -59.0463 -59.019 -59.3811 -59.646 -60.1079 -60.7083 -61.3476 -62.0256 -62.6747 -62.8256 -63.0079 -63.1506 -63.4372 -63.8116 -63.9781 -64.6247 -64.8841 -65.1097 -65.078 -65.1703 -64.8676 -65.1017 -64.9734 -64.7276 -64.2892 -63.3218 -61.8808 -60.0399 -57.7725 -55.8635 -53.8842 -52.6319 -51.7146 -51.3997 -52.0234 -52.562 -53.0189 -53.2508 -53.8829 -54.0672 -54.0065 -54.1538 -54.2817 -54.3557 -54.7558 -55.3835 -55.8035 -55.948 -56.2342 -56.0551 -56.1422 -55.9223 -55.8851 -55.8689 -56.2603 -56.5742 -57.0582 -57.4467 -57.7969 -58.2691 -58.8925 -59.4285 -59.9446 -60.4173 -61.1182 -61.6866 -61.983 -61.9526 -61.3974 -60.5999 -59.3654 -57.8733 -56.0205 -54.0385 -52.3601 -50.9862 -49.8813 -49.4768 -49.3792 -49.88 -51.311 -53.2409 -55.4227 -57.1 -57.8336 -57.093 -55.0686 -52.4812 -49.4739 -47.3296 -46.0744 -46.1683 -46.6139 -47.6898 -48.9153 -50.1627 -51.3887 -52.6428 -54.7324 -56.8252 -58.671 -60.2917 -61.7402 -62.3423 -61.9748 -60.1859 -57.348 -53.5867 -49.6655 -45.8323 -43.0132 -41.7728 -42.1159 -43.6275 -45.8025 -47.9871 -50.3229 -51.7945 -52.8991 -53.2119 -53.2516 -52.7786 -52.0339 -50.5571 -48.6358 -46.8006 -44.7203 -43.2986 -42.1013 -41.7161 -42.4294 -44.1659 -46.2232 -48.364 -50.324 -52.2073 -53.5768 -54.8544 -56.0411 -57.1682 -58.8574 -60.5056 -62.0765 -63.0676 -63.4015 -61.6172 -58.6449 -54.5044 -49.6427 -44.9408 -41.4842 -39.5952 -40.1985 -42.1918 -45.2723 -48.5543 -51.3186 -53.4874 -54.697 -55.2117 -55.1079 -55.046 -55.1711 -55.5756 -55.8933 -56.4001 -56.942 -57.8443 -58.5864 -59.2514 -59.5375 -59.2677 -58.6022 -57.7776 -56.8598 -55.8011 -55.0897 -54.7085 -54.5016 -54.8575 -55.4298 -56.4345 -57.6964 -58.6589 -58.5836 -57.432 -54.9851 -51.7965 -48.5944 -45.4937 -43.6059 -42.9978 -43.6677 -45.1793 -47.2049 -49.412 -51.3388 -52.7301 -53.5166 -53.8192 -53.8997 -53.5783 -53.2265 -53.2157 -53.3709 -53.604 -53.8885 -54.2255 -54.6681 -54.7936 -55.1063 -55.2056 -55.0871 -55.1611 -55.2754 -55.375 -55.4107 -55.7552 -56.2045 -57.156 -57.9825 -58.8889 -59.6619 -60.3594 -60.6413 -60.9556 -61.0935 -61.5249 -61.4446 -61.5581 -61.0648 -60.5076 -59.5968 -58.5319 -57.2482 -55.5691 -53.6248 -51.6473 -49.7405 -48.2016 -47.3151 -46.7866 -46.9725 -47.65 -48.6366 -50.2504 -52.4199 -54.796 -57.0293 -58.1492 -57.7425 -56.0258 -53.2713 -50.4921 -47.7683 -46.6241 -47.4947 -49.289 -52.1425 -55.4695 -58.6788 -61.3861 -63.3466 -65.086 -66.0361 -66.5914 -67.1081 -66.9069 -66.746 -66.6015 -66.1886 -66.0837 -65.7935 -65.2278 -64.6231 -63.9385 -63.1286 -62.2895 -61.5952 -61.2009 -60.7131 -60.4282 -59.9478 -59.6038 -59.2092 -58.656 -57.6222 -56.1562 -53.5325 -50.3417 -46.9051 -43.4373 -40.3923 -38.4785 -38.0149 -39.2506 -41.8251 -45.1923 -49.0409 -52.4866 -55.5758 -58.0133 -59.1945 -60.3032 -61.2554 -62.5243 -63.6247 -64.3761 -65.0117 -65.3634 -65.8399 -66.0087 -65.9844 -65.8922 -65.2511 -64.267 -62.5722 -60.8498 -58.7608 -57.3487 -56.4797 -55.8679 -55.455 -55.2454 -55.1999 -55.0109 -54.6749 -53.6232 -52.1168 -49.7899 -47.4894 -44.6389 -42.2125 -40.4042 -40.039 -40.3534 -41.9172 -44.3556 -47.2081 -50.3423 -53.5028 -55.9815 -58.1412 -59.6703 -60.7919 -61.0646 -61.2911 -61.7073 -62.0296 -61.8595 -61.3367 -60.0692 -58.6464 -56.8514 -55.6003 -54.9021 -55.178 -56.2661 -57.4115 -58.9627 -60.0818 -60.4383 -60.6428 -60.408 -60.0017 -59.5872 -59.0344 -58.609 -58.5495 -58.5414 -58.4517 -58.3751 -58.3557 -58.5127 -58.3869 -58.6932 -58.7964 -59.1317 -59.525 -60.0145 -60.1519 -60.1902 -60.1154 -59.6083 -58.9625 -58.3771 -57.4335 -56.6968 -55.6911 -54.5668 -53.0483 -50.8853 -48.2554 -45.3244 -42.7109 -40.7989 -39.6771 -40.0257 -41.3398 -43.2155 -45.459 -47.8907 -50.071 -51.78 -53.4943 -54.968 -56.4582 -58.3069 -60.1795 -61.9821 -63.7082 -65.2528 -66.1517 -66.0052 -64.9634 -62.9213 -60.4127 -57.7279 -55.115 -53.1752 -52.2202 -51.8948 -52.3155 -52.5461 -53.3195 -53.8466 -54.0525 -54.0728 -54.539 -54.8196 -55.0698 -55.3279 -55.5571 -55.493 -55.658 -55.095 -54.4678 -53.5925 -52.82 -52.2562 -51.7371 -51.873 -51.9735 -52.6135 -52.995 -53.6343 -54.2995 -54.9568 -55.655 -56.2965 -56.6306 -56.6833 -56.1059 -54.4311 -51.6619 -48.4625 -44.9411 -42.0179 -40.2522 -40.0092 -41.5632 -44.5663 -47.9347 -51.4158 -54.5255 -57.1239 -58.9772 -60.3635 -61.5021 -62.5437 -63.459 -64.0276 -64.5377 -64.6757 -64.4841 -64.0392 -62.8455 -61.2924 -59.6365 -57.9364 -56.6003 -55.7005 -55.0972 -55.0264 -55.1903 -55.6501 -56.3086 -56.6927 -56.8942 -56.8735 -56.2045 -54.6052 -51.8375 -48.4691 -44.2754 -40.409 -37.0618 -34.7759 -33.8396 -34.3416 -36.2917 -38.9555 -42.0113 -45.5072 -48.7308 -51.7873 -54.0651 -56.1012 -57.6881 -58.9055 -60.01 -60.8683 -61.3912 -61.8501 -61.9538 -61.8944 -61.5339 -61.0771 -60.0521 -58.9197 -57.5347 -55.9666 -54.5208 -53.2831 -52.4952 -51.8914 -51.8626 -52.2232 -52.9278 -53.5925 -54.4201 -55.1523 -55.521 -55.7052 -55.6777 -55.5311 -55.2889 -55.1765 -55.2346 -55.5014 -55.6985 -55.9303 -55.965 -55.9261 -55.794 -55.7415 -55.9372 -56.1354 -56.8441 -57.4348 -58.5012 -59.5889 -60.6814 -61.6117 -62.3223 -62.8438 -62.9019 -62.8223 -62.5719 -62.678 -62.6823 -62.479 -61.6263 -60.7357 -59.5702 -59.1277 -59.3891 -60.669 -62.558 -64.6531 -65.9979 -66.6999 -66.9166 -66.9097 -67.5579 -69.0411 -71.2881 -74.1376 -77.7652 -81.023 -83.7293 -85.9402 -86.2857 -85.5799 -85.9852", + "breathiness_timestep": "0.011609977324263039" + }, + { + "offset": 246.286, + "text": "AP 当 此 世 生 死 也 算 闲 话 AP 来 换 场 豪 醉 不 负 天 纵 潇 洒 AP 风 流 不 曾 老 AP 弹 铗 唱 作 年 华 AP 凭 我 自 由 去 只 做 狂 人 不 谓 侠 SP", + "ph_seq": "AP d ang c i0 sh ir sh eng s i0 y E s uan x ian h ua AP l ai h uan ch ang h ao z ui b u f u t ian z ong x iao s a AP f eng l iu b u c eng l ao AP t an j ia ch ang z uo n ian h ua AP p ing w o z i0 y ou q v zh ir z uo k uang r en b u w ei x ia SP", + "ph_dur": "0.336 0.045 0.416 0.06 0.341 0.135 0.594 0.12 0.163 0.075 0.164 0.075 0.163 0.075 0.163 0.075 0.178 0.06 0.476 0.133 0.105 0.178 0.06 0.178 0.06 0.193 0.045 0.178 0.06 0.194 0.045 0.3652 0.1108 0.193 0.045 0.178 0.06 0.371 0.105 0.371 0.105 0.477 0.163 0.075 0.178 0.06 0.193 0.045 0.163 0.075 0.416 0.06 0.476 0.178 0.06 0.193 0.045 0.164 0.075 0.193 0.045 0.163 0.075 0.178 0.06 0.476 0.178 0.06 0.193 0.045 0.163 0.075 0.163 0.075 0.164 0.075 0.163 0.075 0.416 0.06 0.193 0.045 0.163 0.075 0.193 0.045 0.193 0.045 0.356 0.12 2.381 0.5", + "ph_num": "2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1", + "note_seq": "rest C4 D#4 F4 F4 F4 C4 C4 F4 D#4 rest D#4 D#4 C4 D#4 F4 G#4 F4 D#4 C4 A#3 C4 rest C4 C4 A#3 G#3 A#3 rest G#3 A#3 G#3 A#3 C4 D#4 rest D#4 D#4 C4 A#3 C4 F4 D#4 F4 G4 F4 D#4 F4 rest", + "note_dur": "0.381 0.476 0.476 0.714 0.238 0.239 0.238 0.238 0.238 0.476 0.238 0.238 0.238 0.238 0.238 0.239 0.476 0.238 0.238 0.476 0.476 0.477 0.238 0.238 0.238 0.238 0.476 0.476 0.238 0.238 0.239 0.238 0.238 0.238 0.476 0.238 0.238 0.238 0.238 0.239 0.238 0.476 0.238 0.238 0.238 0.238 0.476 2.381 0.5", + "note_slur": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "f0_seq": "149.4 149.3 149.0 148.9 149.0 149.3 149.4 149.6 149.9 149.9 150.1 149.9 150.0 150.1 149.9 149.9 149.7 150.1 150.0 149.7 149.9 149.7 149.6 149.6 149.5 149.5 149.6 149.4 149.3 148.9 148.9 148.0 151.4 165.2 172.4 185.3 196.6 207.8 216.3 222.5 228.1 231.1 231.9 230.7 229.2 227.6 225.8 227.8 235.2 248.8 259.3 265.4 266.9 265.5 264.4 262.3 261.4 259.7 260.8 260.5 260.2 260.8 261.9 261.5 262.6 261.6 258.5 250.4 240.9 251.4 262.2 275.1 288.8 304.7 310.6 312.1 315.8 318.7 319.7 318.5 316.8 314.0 311.2 308.1 306.7 304.1 303.5 301.8 304.9 309.4 313.7 318.0 320.3 320.7 318.6 316.0 314.2 313.6 313.9 314.3 315.6 314.4 309.0 300.6 291.7 299.1 305.7 312.6 320.1 328.3 334.9 342.5 350.7 361.1 366.7 367.6 346.1 340.0 338.2 333.8 329.3 325.4 322.4 320.5 320.1 318.9 317.8 316.6 315.2 316.9 316.3 319.0 322.5 327.0 336.3 343.3 348.5 352.4 352.4 351.4 350.7 346.0 343.8 344.1 345.3 348.5 350.0 350.8 351.6 350.8 350.0 347.7 346.3 346.1 346.2 346.3 345.4 348.0 348.9 352.4 354.8 355.0 353.4 351.2 347.3 340.0 332.5 332.8 336.7 340.5 344.3 348.5 350.9 355.9 359.3 363.3 361.1 356.9 353.4 353.1 351.0 350.5 350.1 348.9 348.5 348.3 349.2 349.1 347.0 344.3 336.0 328.5 338.6 347.3 356.6 366.0 375.5 360.5 354.5 351.3 351.2 348.4 347.5 346.4 346.5 346.5 347.4 347.1 345.6 343.7 338.8 329.7 319.3 304.6 293.1 283.9 276.0 270.6 267.4 265.8 265.9 268.1 268.7 268.3 267.3 266.1 263.7 262.6 261.5 258.2 254.3 247.6 250.5 255.0 260.6 264.0 269.0 271.3 267.3 263.8 261.7 261.1 260.9 262.3 263.3 262.5 263.1 263.0 262.6 262.1 259.3 256.0 249.1 265.6 282.1 299.2 316.0 333.2 352.0 352.4 352.3 351.1 350.8 348.7 348.8 350.5 352.4 352.5 351.3 347.9 343.1 331.6 313.5 303.8 305.4 307.8 309.2 312.1 316.2 313.9 313.2 319.6 323.6 326.6 325.4 322.4 316.7 308.9 303.1 298.5 295.5 295.3 296.5 300.5 305.0 311.5 316.8 323.5 326.8 327.3 324.1 315.8 307.0 298.8 294.9 291.9 291.3 293.3 298.7 307.3 316.5 323.0 325.9 324.8 319.2 309.1 302.1 301.6 299.6 295.7 287.2 280.6 276.2 274.6 272.0 269.5 267.5 265.4 263.5 260.8 260.1 258.5 257.4 253.5 253.5 253.9 252.6 252.4 256.3 259.6 262.9 265.5 269.6 271.3 274.0 275.5 282.0 290.5 295.4 304.1 311.0 315.4 315.8 315.3 310.1 304.3 288.4 285.2 297.6 311.8 327.0 320.1 314.9 312.9 311.7 311.0 311.6 312.1 313.0 312.9 311.9 312.4 310.5 305.8 296.3 283.3 265.4 263.5 259.9 254.9 252.2 249.9 250.5 251.4 254.0 256.8 258.7 260.7 261.7 262.5 264.1 264.4 263.9 263.4 262.5 262.9 260.2 256.7 254.3 253.5 266.0 299.9 310.6 310.5 315.3 316.4 314.7 313.2 309.8 308.8 308.3 309.1 310.7 310.3 307.5 303.7 293.4 288.3 303.7 320.0 335.2 350.3 363.4 355.3 351.9 350.2 350.1 349.3 348.4 347.7 347.7 348.2 347.6 347.1 345.2 339.7 331.9 330.9 337.7 344.8 354.5 361.9 364.0 368.6 374.2 376.9 377.4 374.2 373.2 373.4 374.3 371.1 371.7 378.9 390.5 399.5 408.1 415.4 419.4 423.5 422.7 421.4 416.5 412.3 410.7 407.4 408.3 411.7 414.3 414.1 413.2 411.2 408.0 398.7 384.4 378.1 380.7 386.4 392.5 398.7 405.1 412.8 421.5 416.9 396.7 382.5 374.6 369.3 361.8 356.8 352.7 350.3 349.1 350.5 351.2 350.7 349.9 345.3 340.7 328.8 317.1 308.4 309.7 313.1 311.5 311.4 312.1 311.4 311.7 311.8 312.2 313.8 315.5 314.7 312.8 309.6 305.0 296.4 279.4 257.5 255.9 256.5 257.1 259.1 261.8 256.9 258.0 263.9 266.4 268.4 270.3 268.6 267.0 263.5 260.6 258.8 256.9 256.2 257.9 259.2 261.1 261.4 262.9 264.0 263.6 262.4 261.1 259.7 259.7 259.3 260.1 262.2 265.0 267.1 269.7 265.2 257.6 258.1 259.3 260.3 262.3 264.6 265.8 266.9 270.0 267.8 250.7 239.6 233.6 231.1 228.6 228.4 229.1 229.0 229.4 230.9 232.6 233.3 235.3 235.6 236.8 236.6 235.1 233.6 232.6 232.3 235.0 236.0 236.5 235.4 234.1 232.9 233.4 233.8 234.6 234.7 230.8 225.7 229.4 233.0 238.6 242.9 248.8 255.4 261.6 268.3 277.5 270.7 270.6 270.9 270.5 268.5 264.2 260.9 258.1 257.5 255.7 254.5 254.4 255.6 259.0 262.8 266.1 270.4 270.9 268.4 263.2 260.5 256.6 255.2 254.4 252.8 252.5 251.4 251.9 252.2 255.7 257.1 260.2 264.2 268.0 270.8 272.6 273.7 272.5 266.3 256.8 249.0 241.9 237.8 232.5 228.0 225.7 223.5 221.2 219.3 217.5 216.7 215.0 214.3 212.5 210.8 209.5 207.7 206.4 205.8 204.6 203.3 201.5 200.6 201.7 204.4 208.8 212.8 225.2 237.7 249.2 257.6 260.9 264.4 266.5 267.3 267.2 263.8 261.9 260.7 258.6 258.4 259.9 260.1 258.2 258.2 259.0 259.0 259.2 258.8 258.6 258.7 260.5 261.5 261.6 258.8 251.5 241.6 229.4 231.4 238.4 245.5 251.6 244.4 238.5 234.4 232.9 234.1 234.5 234.3 234.4 234.0 234.3 232.9 230.9 227.1 223.1 213.1 207.9 207.6 207.3 206.7 206.2 205.0 205.6 203.9 206.2 208.0 210.2 209.7 210.7 207.5 204.4 202.6 201.4 201.4 202.7 204.3 206.8 207.9 208.6 208.7 208.0 207.3 207.2 207.2 207.6 208.0 207.8 207.5 207.8 207.1 207.7 206.9 207.0 207.2 207.2 207.4 207.8 207.3 208.6 208.5 208.3 209.7 215.3 228.4 236.7 239.1 242.9 244.4 242.1 238.2 233.8 229.4 226.8 225.8 226.7 229.0 232.6 237.3 241.2 244.1 244.6 244.9 242.6 240.4 235.3 229.9 225.3 222.8 220.8 221.9 223.9 226.8 231.7 237.7 244.0 246.6 247.1 247.9 246.8 242.3 236.0 229.7 222.8 217.5 213.1 207.5 199.0 195.5 192.4 189.2 186.4 183.5 180.2 179.4 177.0 170.6 165.4 162.8 159.4 156.6 154.1 151.8 148.8 146.5 143.2 142.9 145.6 153.5 163.8 174.1 182.8 194.5 204.0 210.2 209.7 209.3 206.9 207.4 207.2 205.5 205.6 203.8 207.9 212.5 220.9 228.6 230.2 232.0 232.1 233.3 233.4 233.4 234.5 234.0 233.4 233.0 230.2 224.8 216.2 214.0 213.6 214.2 214.1 213.8 214.4 213.8 209.7 207.7 207.4 206.5 206.8 207.2 207.2 206.7 207.8 208.2 209.4 210.1 209.5 207.9 203.4 200.4 204.0 210.4 218.2 224.9 231.5 232.0 233.7 234.8 235.1 235.7 236.0 235.1 234.1 234.2 233.5 234.1 234.5 233.2 230.6 230.2 235.2 239.1 244.4 253.6 262.0 266.0 266.5 266.7 264.2 261.8 260.9 260.9 260.9 261.8 263.6 263.5 263.2 260.8 253.7 248.3 243.6 255.7 268.3 282.5 297.8 314.1 317.2 318.1 320.6 324.3 323.6 320.6 315.6 310.1 303.5 299.4 295.9 297.0 300.2 304.6 310.0 315.8 319.5 322.0 322.1 321.3 318.9 314.8 308.7 300.0 293.5 290.0 289.6 293.1 298.3 307.5 315.3 322.0 325.0 325.2 324.5 319.1 308.8 294.8 291.5 288.8 285.9 282.3 278.5 276.2 274.5 272.7 270.3 268.4 266.9 264.3 261.0 257.3 254.1 251.1 247.9 244.7 241.8 239.2 237.3 234.5 232.2 232.9 237.2 246.2 258.1 270.4 281.4 291.8 305.8 312.7 314.7 312.0 311.2 311.5 311.8 311.8 310.2 310.2 310.8 310.9 312.6 314.1 315.4 313.5 311.8 308.9 309.4 310.0 310.2 309.2 308.5 307.8 305.9 302.4 290.8 274.9 273.9 276.3 279.4 283.7 290.0 282.8 269.3 264.7 263.1 262.4 261.8 262.4 263.0 263.1 262.3 263.9 263.9 262.7 259.9 255.0 248.3 240.8 233.1 226.8 226.2 226.7 227.3 229.6 228.9 229.9 231.5 232.6 232.9 233.0 232.1 231.8 231.9 230.3 225.5 225.2 230.2 234.5 241.7 248.3 256.9 265.6 268.6 265.0 262.2 262.2 261.8 261.5 260.7 261.1 260.5 261.3 263.1 263.3 259.9 248.5 247.1 250.1 258.0 266.4 276.7 288.3 299.1 300.5 303.1 304.7 308.6 312.3 312.9 314.1 313.8 313.7 312.4 311.9 311.6 314.4 318.5 322.6 327.3 335.0 345.0 349.4 351.9 351.7 350.3 348.2 345.3 346.2 345.8 347.1 348.8 350.0 350.6 352.0 351.4 348.8 349.6 338.0 306.8 294.0 295.2 297.9 300.8 304.9 304.8 307.2 307.2 307.9 309.9 310.3 310.4 311.1 311.3 311.8 311.7 311.6 311.3 309.9 302.8 288.0 297.2 304.2 311.8 318.8 327.9 340.5 349.5 351.5 352.2 352.7 351.3 348.8 346.1 345.0 344.5 342.5 340.8 341.1 342.6 344.6 345.8 347.3 348.8 361.7 376.5 385.4 393.1 396.5 395.8 396.0 395.1 392.7 390.0 388.4 387.0 388.0 390.6 389.6 382.2 372.2 364.4 358.4 375.7 396.6 412.0 376.0 364.9 356.8 352.3 351.3 350.2 350.1 349.0 349.8 351.8 352.2 351.9 350.9 351.3 349.5 345.4 338.5 329.8 317.9 305.6 300.9 303.2 302.9 309.8 315.1 320.6 322.9 319.3 316.1 313.2 310.9 308.9 308.0 308.2 310.0 311.2 312.1 311.4 310.0 310.8 312.8 314.0 314.6 313.3 310.6 308.7 310.2 312.1 313.9 313.3 310.7 298.9 302.3 307.3 312.2 316.8 321.1 324.9 329.5 334.0 338.3 344.1 341.7 320.3 315.8 318.7 320.6 318.4 316.7 316.3 315.5 315.9 314.3 313.4 313.2 312.5 314.5 318.8 325.6 334.8 343.9 349.6 354.9 357.9 357.8 354.9 352.2 349.7 346.6 343.8 342.6 341.2 341.7 343.5 346.6 347.7 348.0 348.9 349.6 349.7 347.8 346.9 346.8 346.5 345.9 344.8 342.7 341.9 342.0 344.6 348.1 351.6 357.5 361.6 364.6 366.8 368.0 367.3 364.4 359.6 352.0 347.5 343.2 342.0 342.7 344.5 347.0 351.6 355.4 360.4 362.1 362.0 359.9 357.1 354.6 351.6 348.0 346.1 345.9 343.4 344.0 344.5 345.7 349.7 353.8 357.3 359.1 361.0 360.5 358.8 355.7 352.9 350.8 347.9 346.1 344.0 343.3 342.5 343.1 346.3 348.7 351.7 354.4 357.6 358.3 359.8 359.8 358.1 355.7 351.9 347.1 341.4 337.4 335.6 335.8 340.1 345.6 351.9 358.0 363.5 366.1 366.7 365.9 364.0 362.0 359.5 356.0 352.7 351.5 349.8 349.1 348.7 349.4 351.7 353.3 355.2 356.7 357.2 357.2 357.0 356.3 355.5 355.8 357.0 358.0 356.5 355.3 353.3 351.4 350.7 351.9 352.6 352.6 355.7 358.1 359.0 359.8 361.5 363.7 363.5 364.4 364.0 361.7 358.6 354.9 351.3 348.9 347.9 349.4 350.4 353.5 356.2 359.8 361.3 362.2 363.2 361.7 360.1 357.8 355.0 353.4 351.9 349.8 349.0 348.2 347.3 347.1 347.0 346.5 345.7 343.9 343.3 341.5 336.7 331.6 326.9 321.3 316.7 313.7 311.8 310.8 311.6 312.6 312.4 312.9 313.1 314.9 315.1 311.7 302.9 302.6 302.6 303.3 304.0 304.3 304.4 304.5 305.1 305.4 305.3 305.4 305.6 305.0 305.7 305.5 305.4 305.0 304.7 304.8 304.9 305.5 305.3 305.7 305.7 305.8 305.8 306.1 306.3 305.7 306.0 305.3 304.9 304.4 303.5 302.9 301.6 299.6 300.5 298.5 297.5 298.4", + "f0_timestep": "0.011609977324263039", + "energy": "-60.29 -56.248 -54.3315 -52.07 -50.1553 -48.6564 -47.2927 -46.5325 -45.8739 -45.2955 -44.9018 -44.8888 -44.5817 -44.8736 -45.4268 -46.1463 -47.1838 -48.5215 -49.8868 -51.6363 -52.7589 -53.5267 -54.0256 -54.3926 -54.9775 -55.2097 -54.6106 -52.6143 -49.2338 -44.2314 -38.3355 -32.5606 -27.2189 -23.2013 -21.2486 -20.0919 -20.116 -20.1335 -20.3078 -20.7387 -21.4605 -21.6898 -22.4547 -22.9679 -23.4618 -24.2992 -24.4137 -24.359 -24.673 -24.1225 -23.6207 -23.0595 -22.425 -22.0094 -21.6639 -21.3234 -21.0126 -20.9434 -21.0064 -20.9738 -21.1955 -21.319 -21.3407 -21.5255 -21.8762 -22.6154 -24.8425 -27.2993 -29.8323 -31.5963 -32.5246 -32.0027 -30.3881 -27.8193 -25.1357 -22.8648 -21.062 -19.9775 -19.5008 -19.1457 -19.1331 -19.1355 -19.2882 -19.4095 -19.7675 -19.9371 -20.2686 -20.5606 -20.7152 -20.7003 -20.8013 -20.3704 -20.1442 -19.8762 -19.5876 -19.6235 -19.5937 -19.8044 -19.789 -20.107 -20.6892 -21.7127 -22.7859 -24.498 -26.2277 -27.6986 -29.0747 -29.8501 -30.5007 -30.7802 -30.7024 -30.1268 -29.1944 -27.7766 -26.4443 -24.9774 -23.6807 -22.3443 -21.7463 -21.3753 -20.9203 -20.8912 -20.7894 -20.5861 -20.5736 -20.6209 -20.7258 -20.9298 -21.2893 -21.425 -21.7711 -21.8514 -21.8192 -21.9489 -21.6788 -21.4172 -21.2829 -21.0376 -21.0661 -20.8679 -20.8411 -20.8709 -21.1364 -21.3183 -21.5729 -21.3256 -21.5106 -21.3461 -21.5318 -21.1775 -21.1291 -20.9823 -20.9118 -20.6744 -20.7152 -20.3316 -20.4586 -20.4327 -20.4735 -20.643 -20.6069 -20.9539 -21.0963 -21.8827 -23.2398 -24.5696 -26.5221 -28.2766 -29.7738 -31.0794 -31.5983 -31.375 -30.6529 -29.6036 -28.3733 -26.7971 -25.0803 -23.545 -22.1832 -21.2247 -20.624 -20.5491 -20.4716 -20.7377 -20.795 -21.0877 -21.5221 -22.1182 -23.1322 -25.212 -27.3354 -29.4904 -31.2332 -32.0049 -31.5359 -30.2811 -28.2665 -25.9178 -24.0214 -22.2678 -21.6086 -21.1184 -20.716 -20.7971 -20.5588 -20.3885 -20.4475 -20.5078 -20.9382 -20.9304 -21.1808 -21.5227 -21.1966 -21.4946 -21.4048 -21.3065 -21.2398 -21.1215 -20.96 -20.8968 -20.6856 -20.4652 -20.5646 -20.4183 -20.4426 -20.3073 -20.2142 -20.7287 -21.5638 -22.9513 -25.297 -27.3988 -29.8185 -31.3104 -31.8277 -31.1281 -29.2737 -27.2767 -24.9112 -22.9197 -21.597 -21.0685 -20.9596 -20.8396 -20.9749 -21.4072 -21.6135 -22.2817 -22.9385 -23.9305 -25.2888 -27.145 -28.9168 -30.8818 -31.9735 -32.0845 -31.0644 -29.3722 -27.0025 -24.8465 -22.8074 -21.4868 -20.9458 -20.5697 -20.7782 -20.8746 -21.1421 -21.1731 -21.6265 -22.3872 -23.4545 -24.9441 -27.1244 -29.5122 -30.8954 -31.7373 -31.13 -29.5348 -26.884 -24.0967 -21.304 -19.2292 -18.005 -17.3314 -17.3627 -17.5779 -18.0636 -18.5151 -18.9444 -19.3499 -19.7421 -19.8212 -19.883 -19.9412 -20.0164 -19.7441 -19.6472 -19.4748 -19.3175 -19.332 -19.6045 -19.9586 -20.1669 -20.8106 -21.3405 -21.9414 -22.4595 -23.0026 -23.4731 -23.7545 -23.8215 -24.0667 -24.2551 -24.911 -25.8928 -27.4831 -29.8249 -33.0521 -35.7726 -39.5583 -42.0121 -44.4965 -45.9884 -46.7694 -47.194 -47.2117 -47.5555 -48.4216 -49.6111 -50.2067 -49.7698 -47.9704 -44.6564 -40.2792 -35.3868 -30.6766 -26.7627 -24.0275 -22.3635 -21.1963 -20.4914 -20.0581 -19.8358 -19.8435 -19.9354 -20.2905 -20.3161 -20.3727 -20.6775 -20.7275 -21.1704 -21.7841 -22.6097 -24.2045 -26.2539 -28.4772 -30.3953 -31.3921 -31.1007 -29.9261 -27.8761 -25.3408 -22.7319 -21.1776 -20.1548 -20.0527 -20.4497 -20.8282 -21.3933 -21.7956 -22.2413 -22.5959 -23.1063 -24.0144 -25.6676 -27.4265 -29.5962 -31.0137 -31.628 -31.2652 -29.7986 -27.9991 -26.2028 -24.1828 -23.0069 -22.698 -22.4901 -22.5302 -22.5796 -22.8964 -23.0346 -23.2647 -23.4235 -23.5372 -24.2005 -25.3068 -26.9084 -28.5795 -29.6287 -29.8631 -29.1599 -27.5206 -25.3685 -22.8795 -20.7049 -19.7259 -19.0407 -19.0394 -19.2059 -19.2816 -19.6318 -20.0928 -20.9181 -22.2646 -24.5129 -27.2413 -30.2142 -32.7679 -34.5799 -34.9647 -34.127 -32.0496 -29.2585 -26.8171 -24.483 -22.8902 -21.7337 -21.1142 -20.8368 -20.6818 -20.556 -20.5526 -20.8633 -21.6757 -23.3952 -25.9362 -29.278 -32.1888 -34.0315 -34.5968 -33.6071 -31.102 -28.0091 -25.0111 -22.9061 -21.7757 -21.6137 -21.4601 -21.5566 -22.0006 -22.6612 -23.0919 -23.6231 -24.0203 -24.4266 -24.724 -24.4975 -24.3275 -23.9581 -23.7411 -23.4492 -23.0063 -22.9781 -22.8238 -22.8219 -22.874 -22.9689 -22.9101 -23.1095 -23.2167 -23.2169 -23.686 -25.0751 -27.5284 -30.6983 -34.9935 -39.372 -43.291 -45.6989 -45.6188 -43.0844 -39.1969 -34.6662 -29.8034 -26.0954 -23.6634 -23.0048 -22.8701 -22.8718 -22.8407 -22.7396 -22.844 -22.7788 -22.7345 -22.8907 -23.0723 -23.7255 -25.09 -27.1341 -29.7264 -31.7015 -32.838 -32.6358 -30.9637 -28.5457 -25.6629 -23.0985 -21.6367 -20.9101 -20.5403 -20.5671 -20.9796 -21.3269 -21.9221 -22.3223 -22.7653 -23.3857 -24.6829 -26.4568 -28.4229 -29.8057 -30.4739 -30.1579 -28.8267 -26.745 -24.5227 -22.3165 -20.8258 -20.0249 -19.8307 -19.6773 -19.9274 -20.2362 -20.6144 -20.9236 -21.4696 -21.6839 -22.0593 -22.2621 -22.5071 -22.5021 -22.4094 -22.5248 -22.4495 -22.2978 -22.1257 -21.9741 -21.7053 -21.8184 -21.8577 -21.8242 -22.0926 -22.2309 -22.7398 -23.7413 -25.1828 -27.1052 -29.0929 -31.067 -32.9542 -34.4652 -34.8116 -34.4384 -32.9947 -30.8404 -28.2836 -25.5964 -23.3522 -21.6375 -20.9389 -20.4457 -20.2533 -20.5254 -20.1449 -20.4296 -20.4509 -20.2326 -20.1982 -20.1732 -20.0882 -20.2195 -20.164 -20.212 -20.4974 -20.6613 -20.7816 -20.9602 -20.8932 -21.1608 -21.2153 -21.4246 -21.7058 -22.1454 -22.878 -23.8073 -25.2821 -27.1487 -29.1561 -31.0973 -32.9701 -34.6388 -35.873 -35.8615 -34.6101 -32.6149 -30.2845 -27.3766 -24.7671 -22.7089 -21.2132 -20.2383 -19.9713 -19.8989 -19.8595 -20.1538 -20.2885 -20.4334 -20.8031 -20.9046 -20.7137 -20.7635 -20.6086 -20.4627 -20.3445 -20.2674 -20.3351 -20.4026 -20.6622 -20.6874 -20.9584 -21.046 -21.4132 -21.5435 -22.0249 -22.4511 -22.686 -22.8854 -23.32 -23.884 -24.3638 -24.9615 -25.4532 -26.201 -26.9703 -28.3173 -30.734 -33.7677 -37.2819 -40.1018 -42.8954 -45.0847 -46.1062 -46.4261 -46.5427 -46.5832 -47.2081 -47.9491 -48.8632 -50.0635 -51.1437 -52.0667 -52.5179 -51.9495 -49.1998 -45.4209 -40.5524 -35.1473 -30.1827 -25.8145 -22.9936 -22.1427 -22.1877 -22.8613 -23.4821 -24.026 -24.4128 -24.3571 -24.2022 -23.6157 -23.4152 -22.5214 -22.3355 -21.87 -22.0328 -21.8865 -21.981 -21.7719 -21.6863 -21.341 -20.7141 -20.3712 -20.1043 -20.0892 -20.0903 -20.2247 -20.0981 -20.1877 -20.1524 -20.4685 -21.0734 -21.9991 -23.7781 -26.5099 -29.3107 -31.682 -32.734 -32.8672 -31.2232 -28.8508 -26.0242 -23.5847 -21.9624 -21.432 -21.1872 -21.0491 -21.2033 -21.2607 -21.5706 -21.961 -22.9552 -24.3005 -26.186 -28.7147 -30.9742 -33.2398 -34.9162 -35.4191 -34.6096 -32.6989 -30.3305 -27.6414 -25.1919 -23.1693 -21.9777 -21.5008 -21.1589 -21.0828 -21.1281 -21.2447 -21.4188 -21.6362 -21.7976 -21.8786 -21.7557 -21.9107 -21.9201 -22.2869 -22.4479 -22.7732 -22.8974 -23.0906 -23.2681 -23.0848 -23.4488 -23.2951 -23.446 -23.6347 -23.3805 -23.6366 -23.4589 -23.3463 -23.1293 -23.0441 -22.9288 -22.7361 -22.8918 -22.8564 -22.6118 -22.4608 -22.1925 -21.7893 -21.0222 -20.353 -19.6425 -19.2197 -19.062 -19.0154 -19.2414 -19.3966 -19.8145 -20.0255 -20.5774 -20.7775 -20.9374 -20.9355 -20.9926 -20.997 -20.674 -20.8293 -20.648 -20.5804 -20.8242 -20.9137 -20.9355 -21.0909 -21.4272 -21.6919 -21.9913 -22.4362 -22.4009 -22.5548 -22.7729 -22.8694 -23.0091 -23.4153 -23.715 -24.6041 -25.512 -27.1461 -29.397 -32.351 -36.011 -39.3245 -42.4341 -44.9155 -46.6166 -47.3224 -47.7913 -48.0028 -48.2017 -48.7532 -49.619 -50.5714 -51.8385 -52.739 -52.8986 -52.167 -49.8405 -46.541 -41.7412 -36.9636 -32.5331 -29.1805 -26.5484 -24.9089 -24.1237 -24.0146 -24.2059 -24.5327 -24.7841 -25.0397 -25.1775 -25.1943 -25.1355 -25.149 -25.3383 -25.7899 -26.9728 -28.4431 -29.3491 -30.2505 -30.328 -29.8226 -28.5862 -26.7681 -25.0541 -23.7613 -23.1781 -22.7346 -22.7198 -22.6297 -22.8895 -23.1226 -23.797 -25.0491 -26.9547 -29.122 -31.9074 -34.3088 -35.9787 -36.3086 -35.323 -33.7115 -30.8145 -28.2148 -26.2247 -24.9333 -24.3711 -24.2336 -24.4052 -24.9296 -25.0273 -25.1197 -25.2254 -25.3502 -25.7903 -26.5674 -28.0932 -30.0138 -31.8522 -32.8783 -32.9976 -32.2186 -30.2225 -27.8288 -25.214 -23.2086 -22.1772 -21.7257 -21.277 -21.3718 -21.3949 -21.3385 -21.4561 -21.6635 -21.6382 -21.766 -22.1153 -22.5132 -22.618 -22.826 -22.8615 -22.6689 -22.3956 -21.8549 -21.2063 -20.7998 -20.4398 -20.1417 -20.0891 -20.4529 -20.7509 -21.2026 -21.5674 -22.1242 -22.9041 -23.6507 -25.2219 -27.4434 -30.2466 -33.0245 -34.5082 -35.0463 -33.639 -31.0789 -27.5338 -24.0555 -20.8002 -18.6522 -17.6595 -17.3428 -17.4173 -17.84 -18.3277 -18.4633 -18.8478 -19.0908 -19.0821 -19.2078 -19.2854 -19.0977 -19.0184 -19.0801 -18.8275 -19.232 -18.9857 -19.5187 -19.6236 -19.7668 -19.9658 -20.2473 -20.6305 -21.1162 -21.2732 -21.4907 -21.6724 -22.0507 -21.8551 -22.0947 -22.4029 -23.638 -25.3297 -27.7585 -31.1569 -35.0845 -38.7698 -41.7685 -44.0085 -45.2219 -45.3871 -45.1592 -44.7507 -44.3558 -44.5697 -44.8382 -45.5488 -46.4885 -47.6439 -48.5854 -48.7219 -47.517 -45.3437 -41.6076 -37.0164 -32.2941 -27.9557 -24.5785 -22.3452 -21.3649 -20.9725 -21.0569 -21.3411 -21.5598 -21.5375 -21.7357 -21.3582 -21.3737 -21.0372 -20.8449 -20.8455 -20.885 -20.9771 -20.9551 -20.8825 -20.8257 -20.2744 -19.6549 -19.0307 -18.5361 -17.9399 -17.6797 -17.7419 -17.8116 -18.1197 -18.1313 -18.7116 -19.3518 -20.111 -21.7638 -24.1988 -26.5676 -28.7713 -30.164 -30.5224 -29.6811 -27.9735 -25.778 -23.5638 -21.8745 -20.7204 -19.9361 -19.7846 -19.3789 -19.3839 -19.2672 -19.3877 -19.5693 -19.6146 -19.9436 -20.3752 -20.5472 -20.8264 -20.945 -21.1369 -21.1966 -21.1673 -21.1081 -20.9632 -20.7874 -20.6075 -20.7161 -20.5287 -20.8027 -20.8053 -21.0958 -21.2146 -21.423 -21.929 -22.7537 -24.1771 -26.1402 -28.5895 -31.3233 -33.358 -34.5215 -34.1024 -32.8707 -30.6216 -27.9437 -25.2886 -23.2935 -21.9439 -21.2589 -20.9051 -20.6544 -20.8664 -20.8552 -21.5031 -22.2741 -23.5703 -25.6697 -28.3862 -30.8618 -32.7989 -34.3186 -34.5149 -33.2115 -30.8953 -28.1329 -26.0093 -23.7664 -22.2282 -21.2597 -20.8951 -20.6922 -20.6604 -20.8918 -21.2299 -21.2437 -21.7268 -21.9791 -22.4913 -22.6716 -22.8076 -22.962 -23.0535 -23.122 -23.083 -22.6385 -22.455 -22.2207 -22.1227 -21.896 -21.7126 -21.6517 -21.4118 -21.2539 -21.0886 -20.904 -20.8906 -20.9163 -21.3496 -23.0061 -24.9464 -27.5641 -30.0266 -31.8088 -32.4467 -31.9551 -29.9571 -27.8412 -25.3051 -23.4073 -21.9367 -20.9815 -20.4607 -20.216 -19.7571 -19.7535 -20.1197 -20.7766 -21.8869 -23.4757 -25.8056 -28.7436 -31.4237 -32.9333 -33.4904 -32.6263 -30.3355 -27.2964 -24.1431 -21.748 -20.3111 -19.6199 -19.3242 -19.4902 -19.7794 -20.0518 -20.0414 -20.3034 -20.3911 -20.3045 -20.3769 -20.5649 -21.0204 -21.5614 -21.9978 -22.3435 -22.5252 -22.504 -22.4101 -22.0081 -22.0831 -22.0822 -22.2231 -22.5792 -23.1319 -23.6008 -24.009 -24.289 -24.527 -24.6655 -25.2378 -25.9675 -26.9007 -27.9917 -28.9159 -29.1845 -28.8922 -27.5724 -25.8422 -23.9494 -22.4083 -21.5243 -21.4468 -21.6233 -21.7262 -21.9969 -22.0678 -22.0275 -22.0952 -21.8379 -21.4676 -21.1859 -21.0977 -20.6418 -20.6319 -20.607 -20.3126 -20.2344 -19.9555 -19.5725 -19.2896 -19.2054 -19.1311 -19.0104 -18.7369 -18.6181 -18.7227 -18.7251 -18.7846 -18.8438 -18.9752 -19.0349 -19.2948 -19.4282 -19.4562 -19.5054 -19.3044 -19.5946 -19.5888 -19.6511 -19.7602 -19.8081 -20.08 -20.6077 -21.0809 -21.6449 -22.3701 -23.3697 -24.8715 -26.5988 -28.3021 -29.4703 -30.6861 -31.5382 -32.0848 -32.5096 -32.0054 -31.1697 -30.0136 -28.1386 -26.0796 -24.0244 -22.2168 -20.9423 -20.0185 -19.6874 -19.3129 -19.3767 -19.3756 -19.6807 -20.0861 -20.7055 -21.2911 -21.9537 -22.5134 -23.0162 -23.1874 -23.0497 -22.9757 -22.6481 -22.2368 -21.8304 -21.2333 -20.7383 -20.4668 -20.3143 -20.0248 -19.9627 -19.8283 -19.8305 -19.8264 -19.6108 -19.5639 -19.2579 -19.0734 -18.9253 -18.3852 -18.1166 -17.8694 -17.7747 -17.5923 -17.2383 -17.4382 -17.3997 -17.341 -17.2238 -17.1652 -17.0108 -17.048 -17.0374 -16.9434 -16.9983 -17.0935 -17.307 -17.5927 -17.9311 -18.0927 -18.2108 -18.4744 -18.7973 -19.0842 -18.7583 -18.9045 -18.7578 -18.6485 -18.4836 -18.6186 -18.2923 -18.2369 -18.2113 -18.3357 -18.2476 -18.5355 -18.4998 -18.7726 -18.8187 -18.9176 -18.8066 -18.8192 -18.6478 -18.6288 -18.5686 -18.5395 -18.4063 -18.2611 -18.4372 -18.4045 -18.3573 -18.6433 -18.6524 -18.8425 -18.9279 -18.9918 -18.9075 -19.1216 -18.8611 -18.7539 -18.8398 -18.7438 -18.6803 -18.7645 -18.4068 -18.5244 -18.479 -18.4101 -18.5367 -18.749 -18.9082 -19.2364 -19.3482 -19.6635 -19.7592 -20.1171 -20.3532 -20.4089 -20.3866 -20.6183 -20.4567 -20.4811 -20.3666 -20.3084 -20.2969 -20.2092 -20.1243 -20.0682 -20.0994 -20.1242 -20.5138 -20.309 -20.3969 -20.5224 -20.4136 -20.247 -20.3441 -20.1197 -19.6146 -19.5689 -19.1386 -18.8917 -18.7436 -18.6926 -18.8216 -18.7124 -18.7097 -18.9096 -19.1052 -18.8878 -18.9882 -18.9847 -19.1193 -18.8774 -19.0649 -19.106 -19.428 -19.5553 -19.813 -19.9772 -19.9498 -20.1579 -19.9841 -20.0402 -20.0737 -20.0539 -20.2022 -20.3205 -20.3375 -20.3677 -20.4958 -20.6122 -20.7192 -20.6928 -20.772 -20.8753 -20.8846 -21.2495 -21.4351 -21.4603 -21.5772 -21.6008 -21.8309 -21.4385 -21.5949 -21.7552 -21.608 -21.5663 -21.5271 -21.4878 -21.568 -21.573 -21.6501 -21.8905 -21.9186 -22.1948 -22.3154 -23.0767 -23.517 -24.2606 -25.1889 -25.8819 -27.0939 -27.9091 -28.8709 -29.6822 -30.5465 -31.4983 -32.7503 -35.3351 -39.099 -44.1129 -50.007 -56.2466 -62.0749 -66.5396 -69.7291 -71.2146 -71.7395 -72.1739 -72.7452 -73.6841 -74.8674 -76.3149 -77.7886 -79.5897 -81.1304 -81.9268 -82.2565 -82.4197 -82.2436 -82.4945 -82.472 -82.7845 -82.9527 -82.9509 -82.7845 -82.5385 -81.9059 -81.4429 -80.7394 -80.2036 -79.9272 -79.9735 -80.3118 -80.2411 -79.6753 -78.7096 -77.5125 -74.2785 -69.4427 -65.2144", + "energy_timestep": "0.011609977324263039", + "breathiness": "-68.987 -64.3189 -61.0924 -57.3045 -53.5403 -50.6384 -48.2766 -46.6099 -45.671 -44.8201 -44.4643 -44.6199 -44.626 -44.6507 -45.2028 -45.8809 -46.9277 -48.1074 -49.5236 -51.4416 -53.5548 -55.7004 -57.8713 -59.3856 -60.9157 -61.4132 -60.4383 -58.3081 -55.5858 -52.6239 -49.9316 -47.9821 -46.8419 -46.8444 -47.2533 -47.8338 -48.1853 -48.7049 -49.2432 -50.0128 -51.3484 -52.575 -53.9475 -55.0577 -56.1453 -57.3865 -58.6301 -59.8974 -61.2149 -61.8773 -62.7816 -62.7377 -62.8628 -62.3664 -61.9179 -61.6208 -61.0136 -61.0296 -60.7592 -60.6082 -60.8829 -60.8775 -60.8049 -60.2136 -58.4128 -55.9817 -52.1981 -48.3897 -44.2964 -41.1097 -38.784 -38.367 -39.4971 -41.908 -44.7855 -48.0491 -50.539 -52.6538 -54.1029 -55.0451 -55.7508 -56.3531 -56.7869 -57.1077 -57.3484 -57.1253 -56.9098 -56.5118 -56.4196 -55.851 -55.8814 -55.9102 -55.7707 -55.9394 -55.8341 -55.7515 -55.6628 -55.0569 -54.2491 -52.5905 -50.1393 -47.1414 -43.6475 -39.9501 -36.6848 -33.9995 -31.8543 -30.6927 -30.1888 -29.9948 -30.3128 -30.7145 -32.1835 -34.6159 -38.0598 -41.8143 -45.6477 -49.0268 -51.6957 -53.4403 -54.309 -54.4381 -55.0708 -55.1714 -55.484 -55.732 -55.9124 -55.7966 -55.6633 -54.9814 -54.2303 -53.6399 -52.915 -52.4271 -52.2902 -52.2103 -52.5408 -52.7471 -52.9381 -53.0179 -52.9773 -52.873 -52.922 -52.9578 -53.0632 -53.0151 -53.3102 -53.0049 -52.9967 -52.7505 -52.7788 -52.5551 -52.4445 -51.9768 -51.7888 -51.4338 -51.5227 -51.552 -51.7273 -52.0535 -52.1807 -51.9684 -50.6179 -48.9276 -46.3052 -43.2728 -40.2175 -37.3358 -35.0481 -33.2682 -32.5595 -32.1834 -32.2977 -32.8787 -34.7484 -37.4073 -40.8322 -44.4658 -47.9498 -50.9725 -53.4069 -55.2218 -56.1608 -56.731 -56.9437 -56.3941 -54.497 -51.7657 -48.1804 -44.5455 -41.1811 -38.0826 -36.5005 -35.7679 -35.8065 -36.743 -38.3981 -40.9262 -44.0138 -47.0557 -50.2431 -53.0322 -55.4415 -57.094 -57.8132 -57.8629 -57.7272 -57.0013 -55.9972 -55.1953 -54.2013 -53.2856 -52.5289 -51.7795 -51.3325 -51.2469 -51.318 -51.6401 -52.3221 -52.8518 -53.3064 -53.6634 -53.7083 -53.646 -53.4625 -52.9444 -51.9086 -50.6598 -48.472 -45.8356 -43.267 -40.4148 -38.1899 -36.6145 -36.3237 -37.0581 -39.043 -42.0395 -45.2659 -48.755 -51.7915 -54.4823 -56.5308 -57.7244 -58.7178 -58.9291 -58.5107 -56.8764 -54.573 -51.3053 -47.6179 -43.6054 -40.2588 -37.5906 -36.1982 -35.8864 -36.6149 -38.1628 -40.539 -43.5652 -46.5421 -49.5568 -52.1593 -54.0769 -55.353 -56.2016 -56.8209 -57.5277 -57.7726 -57.5402 -56.3675 -54.3106 -51.8698 -49.1171 -46.7633 -45.2067 -44.844 -45.952 -47.6109 -49.3868 -51.2933 -52.6103 -53.0004 -53.0325 -52.9877 -53.1184 -53.1575 -53.5371 -53.8872 -54.1793 -54.6761 -54.6649 -54.7585 -54.7481 -54.4668 -54.5458 -54.4991 -54.697 -55.2058 -55.4152 -55.8113 -55.9338 -55.8134 -55.6954 -55.5038 -55.4389 -55.2309 -55.59 -55.9904 -56.6968 -57.1339 -57.7767 -57.9558 -57.9563 -57.9286 -58.0269 -57.9091 -57.4993 -56.8721 -55.5058 -54.021 -52.0983 -50.5886 -49.1923 -48.3313 -47.8299 -48.2313 -49.1706 -50.4457 -51.9823 -53.7129 -55.4732 -57.4081 -58.8312 -59.6447 -59.0453 -57.6627 -55.8548 -53.7896 -51.5064 -50.1914 -49.8111 -50.1477 -50.4869 -51.299 -51.5473 -52.1465 -52.5749 -52.7632 -53.07 -53.2627 -53.3926 -53.222 -52.8146 -51.8914 -50.7166 -49.7898 -48.888 -48.571 -49.4353 -50.8446 -52.5906 -54.5045 -55.8156 -56.9812 -57.7916 -58.286 -59.0919 -59.9684 -60.8863 -61.3431 -61.2143 -60.3026 -58.0205 -54.8161 -51.1736 -47.18 -43.7579 -41.3738 -40.7998 -42.1796 -44.621 -47.4541 -50.2201 -52.8768 -55.2007 -56.7924 -58.1782 -59.7325 -60.9948 -61.9477 -62.8613 -63.5423 -63.6287 -62.7393 -60.709 -57.894 -54.9331 -51.7708 -49.1838 -47.6899 -47.6239 -48.7137 -50.1223 -51.5493 -52.9807 -53.8393 -54.4722 -54.9749 -55.53 -55.8934 -56.4238 -56.5975 -56.1537 -54.7722 -52.2176 -49.2487 -45.8112 -42.5867 -40.0285 -39.3783 -40.1546 -42.2119 -45.0581 -47.9834 -51.0353 -53.2901 -55.0564 -56.0787 -56.8883 -57.2162 -57.3158 -57.5202 -57.7257 -57.7282 -57.7737 -57.5848 -56.4807 -55.2651 -54.0071 -52.8664 -52.4458 -52.4346 -53.2598 -54.7446 -56.4817 -58.3631 -59.8274 -60.6142 -61.0246 -61.259 -61.1334 -61.305 -61.5553 -61.8669 -62.2289 -62.3231 -62.6264 -62.5355 -62.33 -62.2271 -61.793 -61.7121 -61.5725 -61.3872 -61.6393 -61.4512 -61.4329 -61.2078 -60.5271 -59.5793 -58.1374 -56.4319 -54.5258 -52.8626 -51.4834 -50.6399 -50.2933 -50.2947 -50.6025 -50.7857 -51.0665 -52.1446 -53.3222 -54.731 -56.423 -58.2714 -59.4193 -60.2715 -61.1537 -61.8107 -62.5671 -62.745 -62.8518 -62.3801 -61.6299 -59.6628 -57.3889 -54.8367 -52.4427 -50.6068 -49.3851 -49.0948 -49.4908 -50.3218 -50.9957 -51.726 -52.6485 -53.4486 -54.3077 -55.4426 -56.8672 -58.4611 -59.919 -60.7472 -60.3986 -58.4124 -55.2714 -51.3692 -47.1717 -43.3378 -40.9383 -40.3392 -41.9695 -44.533 -47.6368 -50.833 -53.4 -55.5244 -56.7543 -57.5025 -57.8338 -58.1949 -58.9361 -60.0742 -61.2682 -62.5144 -63.7767 -64.8201 -65.6367 -66.2904 -66.6499 -66.8286 -66.9513 -66.9509 -67.3204 -66.8376 -66.9608 -66.5065 -65.807 -65.1023 -63.6899 -61.3092 -58.0767 -54.1618 -49.6164 -45.2901 -41.4039 -38.3288 -36.7816 -36.2537 -36.3639 -37.3767 -39.0019 -41.1821 -43.6949 -46.0674 -48.3157 -50.1329 -51.6488 -52.5634 -53.2426 -54.0081 -54.6659 -54.9413 -55.3676 -55.4677 -55.562 -55.6386 -55.5426 -55.9115 -55.7412 -56.1454 -56.4644 -56.8184 -57.2834 -57.8375 -58.3892 -58.9324 -59.2697 -59.6648 -59.5719 -58.5967 -56.4849 -52.9369 -49.1119 -44.9859 -41.1909 -38.2737 -36.7337 -36.2933 -36.5891 -37.4728 -38.6812 -40.6558 -43.1847 -45.8757 -48.5489 -51.1162 -52.9532 -53.9756 -54.3827 -54.1196 -53.8539 -53.7141 -53.6233 -53.5216 -54.0586 -53.9496 -54.0983 -54.3425 -54.435 -54.5953 -55.085 -55.4297 -55.8578 -56.279 -56.0506 -56.1465 -56.2062 -56.2532 -56.828 -57.2134 -57.9166 -58.3607 -58.9357 -59.2506 -59.4931 -60.0918 -60.3052 -60.8405 -61.0255 -60.9927 -60.3529 -59.5041 -58.3813 -57.0235 -55.7756 -54.213 -52.5229 -50.9504 -49.4018 -48.3024 -47.4901 -47.022 -47.2905 -48.2793 -50.0998 -51.7914 -53.6962 -55.6204 -56.8986 -57.3099 -57.0605 -56.4091 -55.5576 -54.7226 -54.3594 -54.3351 -54.0007 -54.5272 -55.0948 -56.3296 -57.848 -59.8053 -61.7918 -63.125 -63.9297 -63.9795 -63.4273 -62.9149 -62.2053 -61.9346 -61.0888 -60.3665 -59.1077 -57.8382 -56.7971 -55.7931 -55.311 -55.1832 -55.3312 -55.8271 -56.3205 -57.0557 -57.7931 -58.5564 -59.6522 -60.7366 -61.913 -62.7506 -63.5455 -63.8914 -63.9564 -63.4938 -62.8329 -62.1447 -62.2498 -62.4974 -62.8472 -63.417 -63.8128 -64.0702 -64.1024 -64.1606 -63.9227 -63.7693 -63.2668 -61.8985 -59.4793 -56.1322 -52.0101 -47.9359 -43.8065 -41.0139 -39.2798 -39.7117 -41.0857 -43.7165 -46.4865 -49.2868 -51.6936 -53.6118 -54.968 -55.8139 -56.3855 -56.906 -57.4446 -58.0542 -58.2175 -58.6738 -58.7314 -58.7521 -58.7548 -58.9664 -59.4513 -59.8863 -60.681 -61.4958 -62.5862 -63.7049 -64.8597 -65.8588 -66.6424 -67.0054 -67.1553 -66.9987 -66.5707 -66.0202 -65.4216 -64.9867 -64.729 -64.5907 -64.5715 -64.4348 -64.0295 -63.1911 -61.9037 -60.1087 -58.2325 -56.1438 -54.1659 -52.8235 -52.0335 -51.8412 -52.3409 -52.539 -53.0571 -53.3512 -53.7536 -53.9493 -54.2906 -54.3294 -54.4602 -54.6426 -54.6631 -54.8765 -54.9748 -55.3692 -55.669 -55.7409 -56.0721 -56.1008 -56.3311 -56.5433 -56.9013 -57.3338 -57.498 -57.8841 -57.9337 -58.3185 -58.5901 -59.0803 -59.8483 -60.7426 -61.6322 -62.1024 -62.3693 -61.8972 -61.3935 -60.3917 -59.3531 -58.036 -56.2221 -54.6135 -52.8915 -51.4429 -50.4692 -49.7566 -49.6342 -50.1842 -51.5734 -53.209 -55.3158 -57.0676 -57.6432 -57.1179 -55.6133 -53.2515 -50.4922 -48.4225 -47.2634 -47.037 -47.8416 -48.8531 -50.0871 -51.3168 -52.9534 -54.4109 -56.3329 -58.2673 -59.8216 -61.361 -62.3162 -63.0927 -62.7404 -61.3187 -58.5294 -54.6958 -50.673 -46.3475 -43.4808 -42.307 -42.633 -44.3039 -46.5678 -49.3216 -51.6423 -53.5479 -54.4466 -54.6425 -54.584 -54.0983 -53.0982 -51.4551 -49.8357 -47.5214 -45.1848 -43.5013 -41.8008 -41.5188 -42.3293 -44.1383 -46.749 -49.0489 -51.2646 -53.1575 -54.6156 -55.9518 -57.2348 -58.811 -60.5804 -62.0462 -63.1115 -64.0166 -63.6762 -61.8607 -58.7382 -54.7543 -50.2549 -45.8665 -42.6737 -41.4163 -42.1083 -44.1654 -47.3103 -50.2475 -52.8206 -54.6788 -55.6882 -55.6656 -55.6091 -55.3 -55.4358 -55.6203 -56.1491 -56.9057 -57.9963 -58.9045 -59.6085 -59.9877 -59.9257 -59.1026 -58.2039 -57.1635 -56.1896 -55.4292 -55.0048 -54.6466 -54.8239 -55.556 -56.4956 -58.082 -59.4891 -60.0821 -59.834 -58.277 -55.6539 -52.5435 -49.2284 -46.8337 -45.2979 -44.8027 -45.9772 -47.638 -49.2628 -50.8624 -52.3241 -53.1811 -53.5564 -53.3468 -53.2708 -53.2693 -53.7788 -53.999 -54.4611 -54.7014 -54.7173 -54.6251 -54.4219 -54.1655 -54.2624 -54.7182 -54.8209 -55.3701 -55.5575 -55.6695 -55.6737 -55.3207 -55.2447 -55.1461 -55.0098 -55.0444 -55.0418 -55.2706 -55.779 -56.1901 -56.6451 -56.8187 -56.8015 -56.7551 -56.6477 -56.3202 -55.8696 -55.2149 -54.4157 -53.0111 -51.4445 -49.6655 -48.2249 -47.2302 -46.397 -45.8515 -45.6667 -45.8663 -46.5453 -47.9085 -49.8196 -51.8643 -53.0745 -53.5444 -53.3777 -52.0344 -50.1777 -48.7538 -47.8199 -47.9469 -48.6447 -50.092 -52.1589 -54.2537 -56.3221 -58.3121 -60.017 -61.2865 -62.2646 -62.523 -62.5927 -62.1629 -61.8848 -61.9714 -62.1683 -63.0094 -63.3754 -63.6052 -63.5368 -62.8964 -62.1469 -61.1238 -60.2062 -59.4832 -58.7611 -58.0806 -57.6068 -57.0013 -56.7068 -56.2423 -55.2448 -53.5091 -51.2665 -48.4032 -45.0716 -41.9107 -39.3946 -37.8984 -37.5513 -38.7732 -41.0194 -44.1122 -47.3002 -50.5678 -53.2565 -55.4596 -56.7143 -57.427 -57.8238 -57.7385 -57.588 -57.2888 -56.7373 -56.0168 -55.4823 -54.7226 -54.1322 -53.6223 -53.3396 -53.3004 -53.4994 -53.6645 -53.966 -54.3497 -54.9624 -55.4405 -55.9905 -56.8946 -57.4747 -57.6143 -57.2976 -55.7339 -53.1991 -49.9888 -46.5826 -43.1123 -40.6162 -39.1641 -38.7379 -39.5119 -41.2468 -43.8595 -47.0783 -50.3951 -53.3201 -55.9593 -57.7108 -58.8571 -59.3629 -59.3423 -59.0804 -58.3044 -56.7931 -54.8936 -52.0827 -48.5537 -45.0876 -41.7263 -39.1288 -37.798 -37.5767 -39.1131 -41.3882 -44.2 -47.3097 -49.9121 -51.5572 -52.795 -53.4478 -53.7097 -54.0358 -54.2871 -54.9039 -55.1275 -55.0622 -54.9714 -54.7018 -54.3234 -53.8237 -53.8199 -53.9192 -54.3573 -54.8263 -55.1405 -55.3609 -55.3596 -55.2368 -54.8651 -54.8651 -54.8822 -55.2245 -55.4691 -55.5297 -54.8907 -53.9003 -52.1618 -49.9605 -47.0324 -44.5655 -42.3204 -40.5818 -40.0648 -40.9041 -43.4579 -46.66 -50.0959 -53.1165 -55.6446 -57.068 -57.7858 -57.9418 -58.2048 -58.5168 -59.0898 -59.0823 -58.3148 -56.8164 -54.3137 -51.6952 -49.2425 -47.6914 -47.2468 -48.0794 -49.1324 -50.7912 -52.0667 -53.0494 -53.8221 -54.2183 -54.5898 -55.1158 -56.1274 -56.911 -57.7687 -58.3824 -58.7173 -58.8267 -58.2426 -57.3341 -55.9867 -54.3073 -53.1233 -52.0545 -51.4567 -51.2496 -51.3718 -51.6928 -52.2972 -52.9497 -53.8268 -54.6866 -56.309 -57.9521 -60.1594 -61.8923 -63.392 -63.9609 -64.4547 -63.8833 -63.1596 -62.2222 -61.3683 -61.1545 -60.694 -60.7775 -61.0253 -61.5436 -61.9357 -61.9362 -62.0132 -61.9542 -61.9068 -62.0433 -61.8894 -61.899 -62.1727 -62.1649 -62.1698 -62.1662 -61.9492 -61.8245 -61.6561 -60.9684 -60.327 -59.3207 -58.1919 -57.2508 -56.2878 -55.8576 -55.4004 -54.9457 -54.6934 -54.4446 -54.2525 -54.234 -54.0697 -54.068 -54.3063 -54.3463 -54.4102 -54.3179 -54.2866 -54.2062 -54.0812 -54.1071 -54.3666 -54.7433 -55.3911 -55.9516 -56.3573 -56.1704 -54.8705 -52.6083 -49.3294 -45.2469 -41.4859 -37.9916 -35.1188 -33.237 -32.2195 -31.7622 -31.6504 -32.0457 -33.1208 -35.0085 -37.941 -41.3816 -45.0342 -48.6508 -51.1877 -53.1171 -54.2401 -54.3454 -54.4656 -54.555 -54.877 -55.2281 -55.374 -55.6607 -55.5909 -55.4622 -55.2379 -55.3297 -55.1017 -54.7721 -54.476 -54.2928 -54.1038 -53.8029 -53.6293 -53.7558 -53.8669 -54.0288 -54.1705 -54.5873 -54.7141 -54.8413 -54.8863 -54.8243 -54.602 -54.1827 -53.9509 -54.0196 -53.9864 -54.1606 -54.1696 -54.3787 -54.1573 -53.7655 -53.2905 -52.7283 -52.4224 -52.1649 -51.6478 -51.5226 -51.0673 -50.9699 -50.7439 -50.8721 -51.0046 -51.3314 -51.9045 -52.4349 -52.8437 -53.2663 -53.4047 -53.4223 -53.6278 -53.4194 -53.353 -53.1004 -53.0914 -52.9864 -52.8946 -52.6166 -52.6108 -52.723 -52.7742 -52.9851 -53.339 -53.4427 -53.9982 -53.908 -53.9317 -53.6298 -53.0566 -52.328 -51.6303 -50.8903 -50.425 -50.2071 -50.203 -50.4793 -50.7269 -51.0092 -51.0874 -51.1355 -51.1453 -51.1346 -50.7377 -50.927 -50.7233 -50.877 -51.0061 -51.1111 -51.3807 -51.5827 -52.1116 -52.3901 -52.8331 -53.1539 -53.1072 -53.3473 -53.199 -53.0432 -53.1331 -53.0344 -53.1215 -53.0087 -53.0511 -53.0823 -53.1328 -53.424 -53.3227 -53.5651 -53.4621 -53.5964 -54.016 -54.281 -54.4761 -54.9263 -55.2899 -55.613 -55.9876 -56.3824 -56.5314 -56.5732 -56.6727 -56.2382 -56.0198 -55.5596 -55.0017 -54.5655 -53.917 -53.5994 -53.393 -53.1248 -53.1911 -52.987 -53.144 -53.5522 -53.9644 -54.2828 -54.6409 -54.6722 -54.7589 -54.5238 -53.9537 -53.1804 -52.8215 -52.2896 -51.875 -51.5467 -51.3904 -51.4573 -51.7038 -51.9135 -52.3933 -52.6759 -53.0833 -53.6067 -54.0378 -54.3047 -54.5553 -54.1737 -53.8516 -53.1688 -52.5993 -52.2408 -51.9324 -51.8074 -51.9192 -52.4091 -52.9648 -53.9542 -55.5969 -56.8675 -57.9047 -58.4294 -58.5807 -58.5339 -58.2961 -57.827 -57.6024 -56.8888 -56.5426 -56.5275 -56.4701 -56.8181 -57.5002 -58.6691 -60.0952 -61.6493 -62.9092 -64.0569 -65.1172 -65.365 -65.4016 -65.0677 -64.2829 -63.1836 -61.5961 -59.8814 -58.7576 -58.1326 -58.8159 -60.6683 -63.085 -66.1606 -68.8149 -71.0262 -72.6802 -73.954 -75.3697 -76.619 -78.0454 -79.4245 -81.0939 -82.5824 -84.0567 -85.1098 -85.5096 -85.8208 -85.8318 -85.9604 -86.469 -87.152 -88.0377 -88.5062 -88.3646 -87.7617 -86.8444 -85.5661 -84.2786 -83.4264 -82.8996 -82.8371 -83.3658 -83.7583 -84.1166 -84.1742 -83.8346 -82.8483 -80.5313 -77.4644", + "breathiness_timestep": "0.011609977324263039" + } +] \ No newline at end of file diff --git a/samples/07_春江花月夜.ds b/samples/07_春江花月夜.ds new file mode 100644 index 0000000..26d1045 --- /dev/null +++ b/samples/07_春江花月夜.ds @@ -0,0 +1,828 @@ +[ + { + "offset": 19.46849315068493, + "text": "SP chun jiang chao shui lian hai ping SP", + "ph_seq": "SP ch un j iang ch ao sh ui l ian h ai p ing SP", + "ph_num": "2 2 2 2 2 2 2 1 1", + "note_seq": "rest A2 E3 E3 G3 A3 A3 B3 A3 A3 G3 A3 G3 E3 rest", + "note_dur": "0.2575 0.4110 0.4110 0.4110 0.4110 0.8219 0.2055 0.2055 0.4110 1.2329 0.1027 0.1027 0.2055 0.8219 0.1000", + "note_slur": "0 0 0 0 0 0 0 1 1 0 1 1 1 1 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 26.047260273972604, + "text": "SP hai shang ming yue gong SP", + "ph_seq": "SP h ai sh ang m ing y ve g ong SP", + "ph_num": "2 2 2 2 2 1 1", + "note_seq": "rest D3 E3 E3 G3 E3 E3 rest", + "note_dur": "0.2541 0.4110 0.4110 0.2055 0.2055 0.4110 0.4110 0.1000", + "note_slur": "0 0 0 0 1 0 0 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 28.50958904109589, + "text": "SP chao sheng SP", + "ph_seq": "SP ch ao sh eng SP", + "ph_num": "2 2 1 1", + "note_seq": "rest A2 E3 rest", + "note_dur": "0.2575 0.8219 1.6438 0.1000", + "note_slur": "0 0 0 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 32.70308219178082, + "text": "SP yan yan sui bo qian wan li SP", + "ph_seq": "SP y En y En s ui b o q ian w an l i SP", + "ph_num": "2 2 2 2 2 2 2 1 1", + "note_seq": "rest D3 A2 D3 E3 F3 B3 C4 B3 A3 B3 rest", + "note_dur": "0.1736 0.4110 0.4110 0.4110 0.4110 0.8219 0.2055 0.6164 1.2329 0.4110 0.6164 0.1000", + "note_slur": "0 0 0 0 0 0 0 1 0 1 1 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 39.197945205479456, + "text": "SP he chu chun jiao wu yue SP", + "ph_seq": "SP h e ch u ch un j iao w u y ve SP", + "ph_num": "2 2 2 2 2 2 1 1", + "note_seq": "rest A3 B3 B3 B3 B3 B3 D4 E4 rest", + "note_dur": "0.2541 0.2055 0.2055 0.4110 0.4110 0.4110 0.8219 0.2055 0.4110 0.1000", + "note_slur": "0 0 1 0 0 0 0 0 1 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 42.482191780821914, + "text": "SP ming SP", + "ph_seq": "SP m ing SP", + "ph_num": "2 1 1", + "note_seq": "rest B3 rest", + "note_dur": "0.2575 1.2329 0.1000", + "note_slur": "0 0 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 45.79383561643836, + "text": "SP jiang liu wan zhuan rao fang dian SP", + "ph_seq": "SP j iang l iu w an zh uan r ao f ang d ian SP", + "ph_num": "2 2 2 2 2 2 2 1 1", + "note_seq": "rest A3 G3 G3 A3 C4 B3 C4 D4 E4 rest", + "note_dur": "0.2336 0.2055 0.2055 0.4110 0.4110 0.4110 0.8219 0.8219 0.2055 1.8493 0.1000", + "note_slur": "0 0 1 0 0 0 0 0 0 1 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 52.423972602739724, + "text": "SP yue zhao hua lin jie si xian SP", + "ph_seq": "SP y ve zh ao h ua l in j ie s i0 x ian SP", + "ph_num": "2 2 2 2 2 2 2 1 1", + "note_seq": "rest D4 C4 D4 E4 F4 G4 A4 G#4 E4 rest", + "note_dur": "0.1788 0.4110 0.4110 0.4110 0.4110 0.8219 0.2055 0.6164 1.2329 1.2329 0.1000", + "note_slur": "0 0 0 0 0 0 0 1 0 1 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 58.911986301369865, + "text": "SP kong li liu shuang bu jue fei SP", + "ph_seq": "SP k ong l i l iu sh uang b u j ve f ei SP", + "ph_num": "2 2 2 2 2 2 2 1 1", + "note_seq": "rest D4 A3 D4 E4 F4 A#4 C5 B4 A4 rest", + "note_dur": "0.2661 0.4110 0.4110 0.4110 0.4110 0.8219 0.2055 0.6164 1.6438 0.6164 0.1000", + "note_slur": "0 0 0 0 0 0 0 1 0 1 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 65.47876712328767, + "text": "SP ting shang bai sha kan bu jian SP", + "ph_seq": "SP t ing sh ang b ai sh a k an b u j ian SP", + "ph_num": "2 2 2 2 2 2 2 1 1", + "note_seq": "rest A3 B3 B3 B3 C4 D4 E4 D4 D4 E4 F4 E4 rest", + "note_dur": "0.2747 0.2055 0.2055 0.4110 0.4110 0.4110 0.2055 0.4110 0.2055 0.4110 0.2055 0.1027 2.5685 0.1000", + "note_slur": "0 0 1 0 0 0 0 1 1 0 0 1 1 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 72.07465753424658, + "text": "SP ha SP", + "ph_seq": "SP h a SP", + "ph_num": "2 1 1", + "note_seq": "rest E4 A4 G4 E4 rest", + "note_dur": "0.2541 0.4110 0.4110 0.4110 1.4384 0.1000", + "note_slur": "0 0 1 1 1 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 75.36232876712329, + "text": "SP ha SP", + "ph_seq": "SP h a SP", + "ph_num": "2 1 1", + "note_seq": "rest E4 C5 B4 E4 G4 C4 D#4 D4 F4 E4 B3 rest", + "note_dur": "0.2541 0.4110 0.4110 0.4110 1.2329 0.4110 0.4110 0.1027 1.1301 0.1027 0.1027 1.0274 0.1000", + "note_slur": "0 0 1 1 1 1 1 1 1 1 1 1 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 81.68082191780822, + "text": "SP a SP", + "ph_seq": "SP a SP", + "ph_num": "1 1 1", + "note_seq": "rest C4 D#4 D4 E4 A4 B4 A4 G#4 B4 rest", + "note_dur": "0.1000 0.4110 0.1027 0.4110 0.7192 0.2055 0.1027 0.1027 0.7705 0.0514 0.1000", + "note_slur": "0 0 1 1 1 1 1 1 1 1 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 85.22534246575341, + "text": "SP ha SP", + "ph_seq": "SP h a SP", + "ph_num": "2 1 1", + "note_seq": "rest E4 A4 G4 E4 rest", + "note_dur": "0.2541 0.4110 0.4110 0.4110 1.4384 0.1000", + "note_slur": "0 0 1 1 1 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 88.51301369863013, + "text": "SP ha SP", + "ph_seq": "SP h a SP", + "ph_num": "2 1 1", + "note_seq": "rest E4 C5 B4 E4 G4 C4 D#4 D4 E4 B3 rest", + "note_dur": "0.2541 0.4110 0.4110 0.4110 1.2329 0.4110 0.4110 0.1027 1.1301 0.2055 1.0274 0.1000", + "note_slur": "0 0 1 1 1 1 1 1 1 1 1 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 94.83150684931506, + "text": "SP a SP", + "ph_seq": "SP a SP", + "ph_num": "1 1 1", + "note_seq": "rest C4 D4 E4 A4 G#4 B4 rest", + "note_dur": "0.1000 0.4110 0.5137 0.7192 0.4110 0.6164 0.8219 0.1000", + "note_slur": "0 0 1 1 1 1 1 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 98.39657534246575, + "text": "SP jiang tian yi se wu xian chen SP", + "ph_seq": "SP j iang t ian y i s e w u x ian ch en SP", + "ph_num": "2 2 2 2 2 2 2 1 1", + "note_seq": "rest A2 E3 E3 G3 A3 B3 A3 A3 G3 A3 G3 E3 rest", + "note_dur": "0.2336 0.4110 0.4110 0.4110 0.4110 0.8219 0.4110 0.4110 1.2329 0.1370 0.1370 0.1370 0.8219 0.1000", + "note_slur": "0 0 0 0 0 0 0 1 0 1 1 1 1 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 104.97191780821917, + "text": "SP jiao jiao kong zhong gu SP", + "ph_seq": "SP j iao j iao k ong zh ong g u SP", + "ph_num": "2 2 2 2 2 1 1", + "note_seq": "rest D3 E3 G3 E3 E3 rest", + "note_dur": "0.2336 0.4110 0.4110 0.4110 0.4110 0.4110 0.1000", + "note_slur": "0 0 0 0 0 0 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 107.49246575342465, + "text": "SP yue lun SP", + "ph_seq": "SP y ve l un SP", + "ph_num": "2 2 1 1", + "note_seq": "rest A2 D3 E3 rest", + "note_dur": "0.1788 0.8219 0.2055 0.6164 0.1000", + "note_slur": "0 0 0 1 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 111.5472602739726, + "text": "SP jiang pan he ren chu jian yue SP", + "ph_seq": "SP j iang p an h e r en ch u j ian y ve SP", + "ph_num": "2 2 2 2 2 2 2 1 1", + "note_seq": "rest D3 A2 D3 E3 F3 C4 B3 A3 B3 rest", + "note_dur": "0.2336 0.4110 0.4110 0.4110 0.4110 0.8219 0.8219 1.2329 0.4110 0.4110 0.1000", + "note_slur": "0 0 0 0 0 0 0 0 1 1 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 118.12260273972602, + "text": "SP jiang yue he nian chu zhao ren SP", + "ph_seq": "SP j iang y ve h e n ian ch u zh ao r en SP", + "ph_num": "2 2 2 2 2 2 2 1 1", + "note_seq": "rest A3 B3 B3 B3 B3 B3 D4 E4 B3 B3 rest", + "note_dur": "0.2336 0.2055 0.2055 0.4110 0.4110 0.4110 0.8219 0.2055 0.2055 0.4110 1.6438 0.1000", + "note_slur": "0 0 1 0 0 0 0 0 1 1 0 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 123.90513698630137, + "text": "SP ren sheng dai dai wu qiong yi SP", + "ph_seq": "SP r en sh eng d ai d ai w u q iong y i SP", + "ph_num": "2 2 2 2 2 2 2 1 1", + "note_seq": "rest D4 E4 D4 C4 C4 C4 B3 A3 A3 rest", + "note_dur": "0.2045 0.2055 0.2055 0.4110 0.4110 0.4110 0.4110 0.2055 0.2055 0.4110 0.1000", + "note_slur": "0 0 1 0 0 0 0 0 1 0 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 127.16369863013698, + "text": "SP jiang yue nian nian wang xiang si SP", + "ph_seq": "SP j iang y ve n ian n ian w ang x iang s i0 SP", + "ph_num": "2 2 2 2 2 2 2 1 1", + "note_seq": "rest B3 C4 C4 E4 E4 E4 D4 B3 rest", + "note_dur": "0.2336 0.4110 0.4110 0.2055 0.2055 0.4110 0.4110 0.4110 0.8219 0.1000", + "note_slur": "0 0 0 0 1 0 0 0 0 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 131.29383561643837, + "text": "SP bu zhi jiang yue nai he ren SP", + "ph_seq": "SP b u zh ir j iang y ve n ai h e r en SP", + "ph_num": "2 2 2 2 2 2 2 1 1", + "note_seq": "rest B3 C4 C4 C4 B3 A3 G3 F3 rest", + "note_dur": "0.2130 0.1027 0.1027 0.6164 0.4110 0.4110 0.4110 0.2055 0.2055 0.1000", + "note_slur": "0 0 1 0 0 0 0 0 0 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 134.17226027397263, + "text": "SP dan jian chang jiang song liu shui SP", + "ph_seq": "SP d an j ian ch ang j iang s ong l iu sh ui SP", + "ph_num": "2 2 2 2 2 2 2 1 1", + "note_seq": "rest F3 G3 F3 G3 A3 A3 C4 B3 rest", + "note_dur": "0.2113 0.2055 0.2055 0.4110 0.4110 0.4110 0.2055 0.2055 1.0274 0.1000", + "note_slur": "0 0 0 0 0 0 0 1 0 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 137.86917808219175, + "text": "SP bai yun yi pian qu you you SP", + "ph_seq": "SP b ai y vn y i p ian q v y ou y ou SP", + "ph_num": "2 2 2 2 2 2 2 1 1", + "note_seq": "rest E4 G4 A4 G4 E4 D4 C4 D4 rest", + "note_dur": "0.2130 0.4110 0.2055 0.2055 0.4110 0.4110 0.4110 0.2055 0.6164 0.1000", + "note_slur": "0 0 0 1 0 0 0 0 0 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 141.10034246575344, + "text": "SP qing feng pu shang bu sheng chou SP", + "ph_seq": "SP q ing f eng p u sh ang b u sh eng ch ou SP", + "ph_num": "2 2 2 2 2 2 2 1 1", + "note_seq": "rest C4 A3 A3 C4 D4 E4 G4 E4 rest", + "note_dur": "0.2695 0.2055 0.2055 0.4110 0.4110 0.4110 0.4110 0.2055 0.8219 0.1000", + "note_slur": "0 0 1 0 0 0 0 0 0 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 144.36917808219175, + "text": "SP shei jia jin ye pian zhou zi SP", + "ph_seq": "SP sh ei j ia j in y E p ian zh ou z i0 SP", + "ph_num": "2 2 2 2 2 2 2 1 1", + "note_seq": "rest D4 C4 D4 E4 F4 E4 D4 D4 rest", + "note_dur": "0.2884 0.4110 0.4110 0.4110 0.4110 0.4110 0.1027 0.1027 0.4110 0.1000", + "note_slur": "0 0 0 0 0 0 0 1 0 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 147.28013698630136, + "text": "SP he chu xiang si ming yue SP", + "ph_seq": "SP h e ch u x iang s i0 m ing y ve SP", + "ph_num": "2 2 2 2 2 2 1 1", + "note_seq": "rest F4 F4 E4 E4 G#4 A4 rest", + "note_dur": "0.2541 0.2055 0.2055 0.4110 0.4110 0.4110 0.2055 0.1000", + "note_slur": "0 0 0 0 0 0 0 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 149.3640410958904, + "text": "SP lou SP", + "ph_seq": "SP l ou SP", + "ph_num": "2 1 1", + "note_seq": "rest E4 rest", + "note_dur": "0.2250 1.0274 0.1000", + "note_slur": "0 0 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 150.9667808219178, + "text": "SP ke lian lou shang SP", + "ph_seq": "SP k e l ian l ou sh ang SP", + "ph_num": "2 2 2 2 1 1", + "note_seq": "rest B4 B4 A4 A4 rest", + "note_dur": "0.2661 0.2055 0.2055 0.2055 0.3082 0.1000", + "note_slur": "0 0 0 0 0 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 152.28698630136984, + "text": "SP yue pai huai SP", + "ph_seq": "SP y ve p ai h uai SP", + "ph_num": "2 2 2 1 1", + "note_seq": "rest E4 D4 D4 rest", + "note_dur": "0.1788 0.2055 0.2055 0.3082 0.1000", + "note_slur": "0 0 0 0 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 153.99246575342465, + "text": "SP ying zhao li ren SP", + "ph_seq": "SP y ing zh ao l i r en SP", + "ph_num": "2 2 2 2 1 1", + "note_seq": "rest D4 C4 C4 D4 D4 rest", + "note_dur": "0.1171 0.2055 0.2055 0.2055 0.2055 0.4110 0.1000", + "note_slur": "0 0 0 0 1 0 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 155.53184931506848, + "text": "SP zhuang jing tai SP", + "ph_seq": "SP zh uang j ing t ai SP", + "ph_num": "2 2 2 1 1", + "note_seq": "rest D4 C4 A3 rest", + "note_dur": "0.2216 0.2055 0.2055 0.3082 0.1000", + "note_slur": "0 0 0 0 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 157.28013698630136, + "text": "SP yu hu lian zhong SP", + "ph_seq": "SP y v h u l ian zh ong SP", + "ph_num": "2 2 2 2 1 1", + "note_seq": "rest A3 C4 C4 D4 D4 rest", + "note_dur": "0.1171 0.2055 0.2055 0.2055 0.2055 0.2055 0.1000", + "note_slur": "0 0 0 0 1 0 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 158.39657534246575, + "text": "SP juan SP", + "ph_seq": "SP j van SP", + "ph_num": "2 1 1", + "note_seq": "rest D4 rest", + "note_dur": "0.2336 0.2055 0.1000", + "note_slur": "0 0 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 158.82808219178082, + "text": "SP bu SP", + "ph_seq": "SP b u SP", + "ph_num": "2 1 1", + "note_seq": "rest E4 rest", + "note_dur": "0.2130 0.2055 0.1000", + "note_slur": "0 0 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 159.18253424657536, + "text": "SP qu SP", + "ph_seq": "SP q v SP", + "ph_num": "2 1 1", + "note_seq": "rest F4 rest", + "note_dur": "0.2695 0.4110 0.1000", + "note_slur": "0 0 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 160.4736301369863, + "text": "SP da yi zhen shang fu huan lai SP", + "ph_seq": "SP d a y i zh en sh ang f u h uan l ai SP", + "ph_num": "2 2 2 2 2 2 2 1 1", + "note_seq": "rest E4 D4 E4 E4 G#4 A4 E4 E4 rest", + "note_dur": "0.2113 0.2055 0.2055 0.4110 0.4110 0.4110 0.2055 0.2055 0.8219 0.1000", + "note_slur": "0 0 0 0 0 0 0 1 0 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 164.0986301369863, + "text": "SP si shi xiang wang bu xiang wen SP", + "ph_seq": "SP s i0 sh ir x iang w ang b u x iang w en SP", + "ph_num": "2 2 2 2 2 2 2 1 1", + "note_seq": "rest E4 G4 A4 G4 E4 E4 D4 C4 C4 C4 D4 rest", + "note_dur": "0.2849 0.4110 0.2055 0.2055 0.2055 0.2055 0.4110 0.2055 0.2055 0.2055 0.2055 0.4110 0.1000", + "note_slur": "0 0 0 1 0 1 0 0 1 0 0 1 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 167.49246575342465, + "text": "SP yuan zhu yuan hua liu zhao jun SP", + "ph_seq": "SP y van zh u y van h ua l iu zh ao j vn SP", + "ph_num": "2 2 2 2 2 2 2 1 1", + "note_seq": "rest C4 A3 C4 D4 E4 G4 E4 rest", + "note_dur": "0.1788 0.4110 0.4110 0.4110 0.4110 0.4110 0.2055 0.4110 0.1000", + "note_slur": "0 0 0 0 0 0 0 0 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 170.70479452054792, + "text": "SP hong yan chang fei guang bu du SP", + "ph_seq": "SP h ong y En ch ang f ei g uang b u d u SP", + "ph_num": "2 2 2 2 2 2 2 1 1", + "note_seq": "rest D4 C4 C4 D4 E4 F4 E4 D4 rest", + "note_dur": "0.2541 0.2055 0.2055 0.4110 0.4110 0.4110 0.4110 0.2055 0.4110 0.1000", + "note_slur": "0 0 1 0 0 0 0 0 0 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 173.71849315068494, + "text": "SP yu long qian yue shui cheng wen SP", + "ph_seq": "SP y v l ong q ian y ve sh ui ch eng w en SP", + "ph_num": "2 2 2 2 2 2 2 1 1", + "note_seq": "rest E4 F4 F4 E4 E4 G#4 A4 E4 E4 rest", + "note_dur": "0.1171 0.1027 0.1027 0.2055 0.4110 0.4110 0.4110 0.2055 0.2055 1.0274 0.1000", + "note_slur": "0 0 1 0 0 0 0 0 1 0 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 177.30239726027398, + "text": "SP zuo ye xian tan meng luo hua SP", + "ph_seq": "SP z uo y E x ian t an m eng l uo h ua SP", + "ph_num": "2 2 2 2 2 2 2 1 1", + "note_seq": "rest G4 A4 A4 G4 G4 F4 E4 E4 F4 rest", + "note_dur": "0.2318 0.2055 0.2055 0.4110 0.4110 0.4110 0.2055 0.1027 0.3082 0.4110 0.1000", + "note_slur": "0 0 1 0 0 0 0 1 0 0 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 180.14486301369863, + "text": "SP ke lian chun ban bu huan jia SP", + "ph_seq": "SP k e l ian ch un b an b u h uan j ia SP", + "ph_num": "2 2 2 2 2 2 2 1 1", + "note_seq": "rest F4 F4 E4 E4 E4 D4 E4 rest", + "note_dur": "0.2661 0.2055 0.2055 0.4110 0.4110 0.4110 0.4110 0.8219 0.1000", + "note_slur": "0 0 0 0 0 0 0 0 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 183.46506849315068, + "text": "SP jiang shui liu chun qu yu jin SP", + "ph_seq": "SP j iang sh ui l iu ch un q v y v j in SP", + "ph_num": "2 2 2 2 2 2 2 1 1", + "note_seq": "rest B3 C4 C4 B3 B3 B3 C4 D4 rest", + "note_dur": "0.2336 0.1027 0.1027 0.2055 0.4110 0.4110 0.4110 0.2055 0.8219 0.1000", + "note_slur": "0 0 1 0 0 0 0 0 0 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 186.7527397260274, + "text": "SP jiang tan luo yue fu xi xia SP", + "ph_seq": "SP j iang t an l uo y ve f u x i x ia SP", + "ph_num": "2 2 2 2 2 2 2 1 1", + "note_seq": "rest E4 D4 E4 E4 G#4 A4 E4 rest", + "note_dur": "0.2336 0.2055 0.2055 0.4110 0.4110 0.4110 0.2055 1.4384 0.1000", + "note_slur": "0 0 0 0 0 0 0 0 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 190.4308219178082, + "text": "SP ha SP", + "ph_seq": "SP h a SP", + "ph_num": "2 1 1", + "note_seq": "rest E4 A4 G4 E4 rest", + "note_dur": "0.2541 0.4110 0.4110 0.4110 1.6438 0.1000", + "note_slur": "0 0 1 1 1 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 193.71849315068494, + "text": "SP ha SP", + "ph_seq": "SP h a SP", + "ph_num": "2 1 1", + "note_seq": "rest E4 C5 B4 E4 rest", + "note_dur": "0.2541 0.4110 0.4110 0.4110 0.8219 0.1000", + "note_slur": "0 0 1 1 1 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 196.18424657534246, + "text": "SP ha SP", + "ph_seq": "SP h a SP", + "ph_num": "2 1 1", + "note_seq": "rest G4 C4 D#4 D4 F4 E4 B3 rest", + "note_dur": "0.2541 0.4110 0.4110 0.1027 1.1301 0.1027 0.2055 0.9247 0.1000", + "note_slur": "0 0 1 1 1 1 1 1 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 200.03698630136984, + "text": "SP a SP", + "ph_seq": "SP a SP", + "ph_num": "1 1 1", + "note_seq": "rest C4 D#4 D4 E4 A4 G#4 B4 rest", + "note_dur": "0.1000 0.4110 0.1027 0.3082 0.8219 0.4110 0.4110 0.9247 0.1000", + "note_slur": "0 0 1 1 1 1 1 1 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 203.58150684931508, + "text": "SP ha SP", + "ph_seq": "SP h a SP", + "ph_num": "2 1 1", + "note_seq": "rest E4 A4 G4 E4 rest", + "note_dur": "0.2541 0.4110 0.4110 0.4110 1.6438 0.1000", + "note_slur": "0 0 1 1 1 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 206.86917808219175, + "text": "SP ha SP", + "ph_seq": "SP h a SP", + "ph_num": "2 1 1", + "note_seq": "rest E4 C5 B4 E4 G4 C4 D#4 D4 rest", + "note_dur": "0.2541 0.4110 0.4110 0.4110 1.2329 0.4110 0.4110 0.1027 1.1301 0.1000", + "note_slur": "0 0 1 1 1 1 1 1 1 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 211.74931506849313, + "text": "SP a SP", + "ph_seq": "SP a SP", + "ph_num": "1 1 1", + "note_seq": "rest B3 rest", + "note_dur": "0.1000 1.0274 0.1000", + "note_slur": "0 0 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 213.1876712328767, + "text": "SP a SP", + "ph_seq": "SP a SP", + "ph_num": "1 1 1", + "note_seq": "rest C4 D#4 D4 F4 E4 A4 G#4 B4 rest", + "note_dur": "0.1000 0.4110 0.1027 0.5137 0.1027 0.5137 0.4110 0.4110 1.8493 0.1000", + "note_slur": "0 0 1 1 1 1 1 1 1 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 219.1585616438356, + "text": "SP xie yue chen chen cang hai wu SP", + "ph_seq": "SP x ie y ve ch en ch en c ang h ai w u SP", + "ph_num": "2 2 2 2 2 2 2 1 1", + "note_seq": "rest A3 E4 E4 G4 A4 A4 B4 A4 A4 G4 A4 G4 E4 rest", + "note_dur": "0.2935 0.4110 0.4110 0.4110 0.4110 0.8219 0.2055 0.2055 0.4110 1.2329 0.1027 0.1027 0.2055 1.0274 0.1000", + "note_slur": "0 0 0 0 0 0 0 1 1 0 1 1 1 1 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 225.79383561643837, + "text": "SP jie shi xiao xiang wu xian lu SP", + "ph_seq": "SP j ie sh ir x iao x iang w u x ian l u SP", + "ph_num": "2 2 2 2 2 2 2 1 1", + "note_seq": "rest D4 E4 G4 E4 D4 E4 A3 D4 E4 D4 E4 D4 B3 rest", + "note_dur": "0.2336 0.4110 0.4110 0.4110 0.4110 0.2055 0.6164 0.4110 0.2055 1.4384 0.1027 0.1027 0.2055 1.0274 0.1000", + "note_slur": "0 0 0 0 0 0 1 0 0 1 1 1 1 1 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 232.38972602739727, + "text": "SP bu zhi cheng yue ji ren gui SP", + "ph_seq": "SP b u zh ir ch eng y ve j i r en g ui SP", + "ph_num": "2 2 2 2 2 2 2 1 1", + "note_seq": "rest D4 A3 A3 C#4 D4 E4 F4 A4 C5 B4 A4 B4 A4 rest", + "note_dur": "0.2130 0.2055 0.2055 0.4110 0.2055 0.2055 0.4110 0.8219 0.2055 0.6164 1.2329 0.1027 0.1027 0.8219 0.1000", + "note_slur": "0 0 1 0 0 1 0 0 0 1 0 1 1 1 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + }, + { + "offset": 238.95308219178082, + "text": "SP luo yue yao qing man jiang shu SP", + "ph_seq": "SP l uo y ve y ao q ing m an j iang sh u SP", + "ph_num": "2 2 2 2 2 2 2 1 1", + "note_seq": "rest A4 B4 B4 B4 B4 B4 C5 D5 E5 rest", + "note_dur": "0.2250 0.2055 0.2055 0.4110 0.4110 1.2329 0.4110 0.4110 0.2055 6.3699 0.1000", + "note_slur": "0 0 1 0 0 0 0 0 0 1 0", + "input_type": "phoneme", + "gender_timestep": null, + "gender": null, + "velocity_timestep": null, + "velocity": null + } +] \ No newline at end of file diff --git a/samples/credits.txt b/samples/credits.txt new file mode 100644 index 0000000..d1eb0ca --- /dev/null +++ b/samples/credits.txt @@ -0,0 +1,42 @@ +## 00_我多想说再见啊 + +MIDI: 班超BanC +Pitch reference: Synthesizer V AI Mai +Tuning: 飞弦p https://space.bilibili.com/5347090; YQ之神 https://space.bilibili.com/102844209 + + +## 01_逍遥仙 + +Tuning: 赤松_Akamatsu https://space.bilibili.com/29902857; YQ之神 https://space.bilibili.com/102844209 + + +## 02_一半一半 + +Tuning: 笛鹿FlutyDeer https://space.bilibili.com/386270936 + + +## 03_撒娇八连 + +Pitch reference: 瑶摆桃桃烤地瓜 https://space.bilibili.com/23346333 + + +## 04_仙瑶 + +Tuning: 笛鹿FlutyDeer https://space.bilibili.com/386270936 + + +## 05_恋人心 + +Tuning: 笛鹿FlutyDeer https://space.bilibili.com/386270936 + + +## 06_不谓侠 + +MIDI: 帝国妖月 +Tuning: ZhiBinShyu with PitchDiffusion https://www.bilibili.com/video/BV12T411t7Qg + + +## 07_春江花月夜 + +Source: https://www.vsqx.top/project/vn8437 +MIDI: 何念生 https://www.vsqx.top/space/2960 diff --git a/scripts/binarize.py b/scripts/binarize.py new file mode 100644 index 0000000..74abd2b --- /dev/null +++ b/scripts/binarize.py @@ -0,0 +1,25 @@ +import importlib +import os +import sys +from pathlib import Path + +root_dir = Path(__file__).parent.parent.resolve() +os.environ['PYTHONPATH'] = str(root_dir) +sys.path.insert(0, str(root_dir)) + +from utils.hparams import set_hparams, hparams + +set_hparams() + + +def binarize(): + binarizer_cls = hparams["binarizer_cls"] + pkg = ".".join(binarizer_cls.split(".")[:-1]) + cls_name = binarizer_cls.split(".")[-1] + binarizer_cls = getattr(importlib.import_module(pkg), cls_name) + print("| Binarizer: ", binarizer_cls) + binarizer_cls().process() + + +if __name__ == '__main__': + binarize() diff --git a/scripts/drop_spk.py b/scripts/drop_spk.py new file mode 100644 index 0000000..6a19d09 --- /dev/null +++ b/scripts/drop_spk.py @@ -0,0 +1,72 @@ +import torch +import argparse +import pathlib +import re + + +def modify_spk_embed(spk_embed): + num_spk, hidden_size = spk_embed.shape + all_ids = set(range(num_spk)) + if args.drop is not None: + drop_ids = set([int(i) for i in args.drop.split(',') if i != '']).intersection(all_ids) + else: + drop_ids = all_ids - set([int(i) for i in args.retain.split(',') if i != '']) + + fill_list = None + if args.fill == 'zeros': + fill_list = [0. for _ in drop_ids] + elif args.fill == 'random': + fill_list = [torch.randn(1, hidden_size, dtype=torch.float32, device='cpu') for _ in drop_ids] + elif args.fill == 'mean': + mean = torch.mean(spk_embed, dim=0, keepdim=True) + fill_list = [mean for _ in drop_ids] + elif args.fill == 'cyclic': + retain_ids = sorted(all_ids - drop_ids) + num_retain = len(retain_ids) + fill_list = [spk_embed[retain_ids[i % num_retain], :] for i, _ in enumerate(drop_ids)] + + for spk_id, fill in zip(sorted(drop_ids), fill_list): + spk_embed[spk_id, :] = fill + + +parser = argparse.ArgumentParser(description='Drop or edit spk_embed in a checkpoint.') +parser.add_argument('input', type=str, help='Path to the input file') +parser.add_argument('output', type=str, help='Path to the output file') +drop_retain_group = parser.add_mutually_exclusive_group() +drop_retain_group.add_argument('--drop', type=str, required=False, metavar='ID,ID,...', + help='Drop specific speaker IDs.') +drop_retain_group.add_argument('--retain', type=str, required=False, metavar='ID,ID,...', + help='Retain specific speaker IDs and drop all the others.') +parser.add_argument('--fill', type=str, required=False, default='zeros', metavar='METHOD', + choices=['zeros', 'random', 'mean', 'cyclic'], + help='Specify a filling method for the dropped embedding. ' + 'Available methods: zeros, random, mean, cyclic') +parser.add_argument('--overwrite', required=False, default=False, + action='store_true', help='Overwrite if the output file exists.') +args = parser.parse_args() +assert args.drop is not None or args.retain is not None, 'Either --drop or --retain should be specified.' +if args.drop and not re.fullmatch(r'(\d+)?(,\d+)*,?', args.drop): + print(f'Invalid format for --drop: \'{args.drop}\'') + exit(-1) +if args.retain and not re.fullmatch(r'(\d+)?(,\d+)*,?', args.retain): + print(f'Invalid format for --retain: \'{args.retain}\'') + exit(-1) + +import torch +input_ckpt = pathlib.Path(args.input).resolve() +output_ckpt = pathlib.Path(args.output).resolve() +assert input_ckpt.exists(), 'The input file does not exist.' +assert args.overwrite or not output_ckpt.exists(), \ + 'The output file already exists or is the same as the input file.\n' \ + 'This is not recommended because spk_embed dropping scripts may not be stable, ' \ + 'and you may be at risk of losing your model.\n' \ + 'If you are sure to OVERWRITE the existing file, please re-run this script with the \'--overwrite\' argument.' + +ckpt_loaded = torch.load(input_ckpt, map_location='cpu') +state_dict = ckpt_loaded['state_dict'] +if 'model.fs2.spk_embed.weight' in state_dict: + modify_spk_embed(state_dict['model.fs2.spk_embed.weight']) +if 'model.spk_embed.weight' in state_dict: + modify_spk_embed(state_dict['model.spk_embed.weight']) + +torch.save(ckpt_loaded, output_ckpt) diff --git a/scripts/export.py b/scripts/export.py new file mode 100644 index 0000000..537cdad --- /dev/null +++ b/scripts/export.py @@ -0,0 +1,294 @@ +import os +import pathlib +import re +import sys +from typing import List + +import click +import torch + +root_dir = pathlib.Path(__file__).resolve().parent.parent +os.environ['PYTHONPATH'] = str(root_dir) +sys.path.insert(0, str(root_dir)) + +from utils.hparams import set_hparams, hparams + + +def find_exp(exp): + if not (root_dir / 'checkpoints' / exp).exists(): + for subdir in (root_dir / 'checkpoints').iterdir(): + if not subdir.is_dir(): + continue + if subdir.name.startswith(exp): + print(f'| match ckpt by prefix: {subdir.name}') + exp = subdir.name + break + else: + raise click.BadParameter( + f'There are no matching exp starting with \'{exp}\' in \'checkpoints\' folder. ' + 'Please specify \'--exp\' as the folder name or prefix.' + ) + else: + print(f'| found ckpt by name: {exp}') + return exp + + +def parse_spk_settings(export_spk, freeze_spk): + if export_spk is None: + export_spk = [] + else: + export_spk = list(export_spk) + from utils.infer_utils import parse_commandline_spk_mix + spk_name_pattern = r'[0-9A-Za-z_-]+' + export_spk_mix = [] + for spk in export_spk: + assert '=' in spk or '|' not in spk, \ + 'You must specify an alias with \'NAME=\' for each speaker mix.' + if '=' in spk: + alias, mix = spk.split('=', maxsplit=1) + assert re.fullmatch(spk_name_pattern, alias) is not None, f'Invalid alias \'{alias}\' for speaker mix.' + export_spk_mix.append((alias, parse_commandline_spk_mix(mix))) + else: + export_spk_mix.append((spk, {spk: 1.0})) + freeze_spk_mix = None + if freeze_spk is not None: + assert '=' in freeze_spk or '|' not in freeze_spk, \ + 'You must specify an alias with \'NAME=\' for each speaker mix.' + if '=' in freeze_spk: + alias, mix = freeze_spk.split('=', maxsplit=1) + assert re.fullmatch(spk_name_pattern, alias) is not None, f'Invalid alias \'{alias}\' for speaker mix.' + freeze_spk_mix = (alias, parse_commandline_spk_mix(mix)) + else: + freeze_spk_mix = (freeze_spk, {freeze_spk: 1.0}) + return export_spk_mix, freeze_spk_mix + + +@click.group() +def main(): + pass + + +@main.command(help='Export DiffSinger acoustic model to ONNX format.') +@click.option( + '--exp', type=click.STRING, + required=True, metavar='EXP', callback=lambda ctx, param, value: find_exp(value), + help='Choose an experiment to export.' +) +@click.option( + '--ckpt', type=click.IntRange(min=0), + required=False, metavar='STEPS', + help='Checkpoint training steps.' +) +@click.option( + '--out', type=click.Path( + dir_okay=True, file_okay=False, + path_type=pathlib.Path, resolve_path=True + ), + required=False, + help='Output directory for the artifacts.' +) +@click.option( + '--freeze_gender', type=click.FloatRange(min=-1, max=1), + help='(for random pitch shifting) Freeze gender value into the model.' +) +@click.option( + '--freeze_velocity', is_flag=True, + help='(for random time stretching) Freeze default velocity value into the model.' +) +@click.option( + '--export_spk', type=click.STRING, + required=False, multiple=True, + help='(for multi-speaker models) Export one or more speaker or speaker mixture keys.' +) +@click.option( + '--freeze_spk', type=click.STRING, + required=False, + help='(for multi-speaker models) Freeze one speaker or speaker mixture into the model.' +) +def acoustic( + exp: str, + ckpt: int = None, + out: pathlib.Path = None, + freeze_gender: float = 0., + freeze_velocity: bool = False, + export_spk: List[str] = None, + freeze_spk: str = None +): + # Validate arguments + if export_spk and freeze_spk: + print('--export_spk is exclusive to --freeze_spk.') + exit(-1) + if out is None: + out = root_dir / 'artifacts' / exp + export_spk_mix, freeze_spk_mix = parse_spk_settings(export_spk, freeze_spk) + + # Load configurations + sys.argv = [ + sys.argv[0], + '--exp_name', + exp, + '--infer' + ] + set_hparams() + + # Export artifacts + from deployment.exporters import DiffSingerAcousticExporter + print(f'| Exporter: {DiffSingerAcousticExporter}') + exporter = DiffSingerAcousticExporter( + device=torch.device('cuda' if torch.cuda.is_available() else 'cpu'), + cache_dir=root_dir / 'deployment' / 'cache', + ckpt_steps=ckpt, + freeze_gender=freeze_gender, + freeze_velocity=freeze_velocity, + export_spk=export_spk_mix, + freeze_spk=freeze_spk_mix + ) + try: + exporter.export(out) + except KeyboardInterrupt: + exit(-1) + + +@main.command(help='Export DiffSinger variance model to ONNX format.') +@click.option( + '--exp', type=click.STRING, + required=True, metavar='EXP', callback=lambda ctx, param, value: find_exp(value), + help='Choose an experiment to export.' +) +@click.option( + '--ckpt', type=click.IntRange(min=0), + required=False, metavar='STEPS', + help='Checkpoint training steps.' +) +@click.option( + '--out', type=click.Path( + dir_okay=True, file_okay=False, + path_type=pathlib.Path, resolve_path=True + ), + required=False, + help='Output directory for the artifacts.' +) +@click.option( + '--freeze_glide', is_flag=True, + help='Freeze default glide embedding into the model.' +) +@click.option( + '--freeze_expr', is_flag=True, + help='Freeze default pitch expressiveness factor into the model.' +) +@click.option( + '--export_spk', type=click.STRING, + required=False, multiple=True, + help='(for multi-speaker models) Export one or more speaker or speaker mixture keys.' +) +@click.option( + '--freeze_spk', type=click.STRING, + required=False, + help='(for multi-speaker models) Freeze one speaker or speaker mixture into the model.' +) +def variance( + exp: str, + ckpt: int = None, + out: str = None, + freeze_glide: bool = False, + freeze_expr: bool = False, + export_spk: List[str] = None, + freeze_spk: str = None +): + # Validate arguments + if export_spk and freeze_spk: + print('--export_spk is exclusive to --freeze_spk.') + exit(-1) + if out is None: + out = root_dir / 'artifacts' / exp + export_spk_mix, freeze_spk_mix = parse_spk_settings(export_spk, freeze_spk) + + # Load configurations + sys.argv = [ + sys.argv[0], + '--exp_name', + exp, + '--infer' + ] + set_hparams() + from deployment.exporters import DiffSingerVarianceExporter + print(f'| Exporter: {DiffSingerVarianceExporter}') + exporter = DiffSingerVarianceExporter( + device=torch.device('cuda' if torch.cuda.is_available() else 'cpu'), + cache_dir=root_dir / 'deployment' / 'cache', + ckpt_steps=ckpt, + freeze_glide=freeze_glide, + freeze_expr=freeze_expr, + export_spk=export_spk_mix, + freeze_spk=freeze_spk_mix + ) + try: + exporter.export(out) + except KeyboardInterrupt: + exit(-1) + + +@main.command(help='Export NSF-HiFiGAN vocoder model to ONNX format.') +@click.option( + '--config', type=click.Path( + exists=True, file_okay=True, dir_okay=False, readable=True, + path_type=pathlib.Path, resolve_path=True + ), + required=True, + help='Specify a configuration file for the vocoder.' +) +@click.option( + '--ckpt', type=click.Path( + exists=True, file_okay=True, dir_okay=False, readable=True, + path_type=pathlib.Path, resolve_path=True + ), + required=False, + help='Specify a model path of the vocoder checkpoint.' +) +@click.option( + '--out', type=click.Path( + dir_okay=True, file_okay=False, + path_type=pathlib.Path, resolve_path=True + ), + required=False, + help='Output directory for the artifacts.' +) +@click.option( + '--name', type=click.STRING, + required=False, default='nsf_hifigan', show_default=False, + help='Specify filename (without suffix) of the target model file.' +) +def nsf_hifigan( + config: pathlib.Path, + ckpt: pathlib.Path = None, + out: pathlib.Path = None, + name: str = None +): + # Check arguments + if out is None: + out = root_dir / 'artifacts' / 'nsf_hifigan' + + # Load configurations + set_hparams(config.as_posix()) + if ckpt is None: + model_path = pathlib.Path(hparams['vocoder_ckpt']).resolve() + else: + model_path = ckpt + + # Export artifacts + from deployment.exporters import NSFHiFiGANExporter + print(f'| Exporter: {NSFHiFiGANExporter}') + exporter = NSFHiFiGANExporter( + device=torch.device('cuda' if torch.cuda.is_available() else 'cpu'), + cache_dir=root_dir / 'deployment' / 'cache', + model_path=model_path, + model_name=name + ) + try: + exporter.export(out) + except KeyboardInterrupt: + exit(-1) + + +if __name__ == '__main__': + main() diff --git a/scripts/infer.py b/scripts/infer.py new file mode 100644 index 0000000..ae08f5d --- /dev/null +++ b/scripts/infer.py @@ -0,0 +1,381 @@ +import json +import os +import pathlib +import sys +from collections import OrderedDict +from pathlib import Path + +import click +from typing import Tuple + +root_dir = Path(__file__).resolve().parent.parent +os.environ['PYTHONPATH'] = str(root_dir) +sys.path.insert(0, str(root_dir)) + + +def find_exp(exp): + if not (root_dir / 'checkpoints' / exp).exists(): + for subdir in (root_dir / 'checkpoints').iterdir(): + if not subdir.is_dir(): + continue + if subdir.name.startswith(exp): + print(f'| match ckpt by prefix: {subdir.name}') + exp = subdir.name + break + else: + raise click.BadParameter( + f'There are no matching exp starting with \'{exp}\' in \'checkpoints\' folder. ' + 'Please specify \'--exp\' as the folder name or prefix.' + ) + else: + print(f'| found ckpt by name: {exp}') + return exp + + +@click.group() +def main(): + pass + + +@main.command(help='Run DiffSinger acoustic model inference') +@click.argument( + 'proj', type=click.Path( + exists=True, file_okay=True, dir_okay=False, readable=True, + path_type=pathlib.Path, resolve_path=True + ), + metavar='DS_FILE' +) +@click.option( + '--exp', type=str, + required=True, metavar='EXP', + callback=lambda ctx, param, value: find_exp(value), + help='Selection of model' +) +@click.option( + '--ckpt', type=click.IntRange(min=0), + required=False, metavar='STEPS', + help='Selection of checkpoint training steps' +) +@click.option( + '--spk', type=click.STRING, + required=False, + help='Speaker name or mixture of speakers' +) +@click.option( + '--lang', type=click.STRING, + required=False, + help='Default language name' +) +@click.option( + '--out', type=click.Path( + file_okay=False, dir_okay=True, path_type=pathlib.Path + ), + required=False, + help='Path of the output folder' +) +@click.option( + '--title', type=click.STRING, + required=False, + help='Title of output file' +) +@click.option( + '--num', type=click.IntRange(min=1), + required=False, default=1, + help='Number of runs' +) +@click.option( + '--key', type=click.INT, + required=False, default=0, + help='Key transition of pitch' +) +@click.option( + '--gender', type=click.FloatRange(min=-1, max=1), + required=False, + help='Formant shifting (gender control)' +) +@click.option( + '--seed', type=click.INT, + required=False, default=-1, + help='Random seed of the inference' +) +@click.option( + '--depth', type=click.FloatRange(min=0, max=1), + required=False, + help='Shallow diffusion depth' +) +@click.option( + '--steps', type=click.IntRange(min=1), + required=False, + help='Diffusion sampling steps' +) +@click.option( + '--mel', is_flag=True, + help='Save intermediate mel format instead of waveform' +) +def acoustic( + proj: pathlib.Path, + exp: str, + ckpt: int, + spk: str, + lang: str, + out: pathlib.Path, + title: str, + num: int, + key: int, + gender: float, + seed: int, + depth: float, + steps: int, + mel: bool +): + name = proj.stem if not title else title + if out is None: + out = proj.parent + + with open(proj, 'r', encoding='utf-8') as f: + params = json.load(f) + + if not isinstance(params, list): + params = [params] + + if len(params) == 0: + print('The input file is empty.') + exit() + + from utils.infer_utils import trans_key, parse_commandline_spk_mix + + if key != 0: + params = trans_key(params, key) + key_suffix = '%+dkey' % key + if not title: + name += key_suffix + print(f'| key transition: {key:+d}') + + sys.argv = [ + sys.argv[0], + '--exp_name', + exp, + '--infer' + ] + from utils.hparams import set_hparams, hparams + set_hparams() + + # Check for vocoder path + assert mel or (root_dir / hparams['vocoder_ckpt']).exists(), \ + f'Vocoder ckpt \'{hparams["vocoder_ckpt"]}\' not found. ' \ + f'Please put it to the checkpoints directory to run inference.' + + # For compatibility: + # migrate timesteps, K_step, K_step_infer, diff_speedup to time_scale_factor, T_start, T_start_infer, sampling_steps + if 'diff_speedup' not in hparams and 'pndm_speedup' in hparams: + hparams['diff_speedup'] = hparams['pndm_speedup'] + if 'T_start' not in hparams: + hparams['T_start'] = 1 - hparams['K_step'] / hparams['timesteps'] + if 'T_start_infer' not in hparams: + hparams['T_start_infer'] = 1 - hparams['K_step_infer'] / hparams['timesteps'] + if 'sampling_steps' not in hparams: + if hparams['use_shallow_diffusion']: + hparams['sampling_steps'] = hparams['K_step_infer'] // hparams['diff_speedup'] + else: + hparams['sampling_steps'] = hparams['timesteps'] // hparams['diff_speedup'] + if 'time_scale_factor' not in hparams: + hparams['time_scale_factor'] = hparams['timesteps'] + + if depth is not None: + assert depth <= 1 - hparams['T_start'], ( + f"Depth should not be larger than 1 - T_start ({1 - hparams['T_start']})" + ) + hparams['K_step_infer'] = round(hparams['timesteps'] * depth) + hparams['T_start_infer'] = 1 - depth + if steps is not None: + if hparams['use_shallow_diffusion']: + step_size = (1 - hparams['T_start_infer']) / steps + if 'K_step_infer' in hparams: + hparams['diff_speedup'] = round(step_size * hparams['K_step_infer']) + else: + if 'timesteps' in hparams: + hparams['diff_speedup'] = round(hparams['timesteps'] / steps) + hparams['sampling_steps'] = steps + + spk_mix = parse_commandline_spk_mix(spk) if hparams['use_spk_id'] and spk is not None else None + for param in params: + if gender is not None and hparams['use_key_shift_embed']: + param['gender'] = gender + if spk_mix is not None: + param['spk_mix'] = spk_mix + if lang is not None: + param['lang'] = lang + + from inference.ds_acoustic import DiffSingerAcousticInfer + infer_ins = DiffSingerAcousticInfer(load_vocoder=not mel, ckpt_steps=ckpt) + print(f'| Model: {type(infer_ins.model)}') + + try: + infer_ins.run_inference( + params, out_dir=out, title=name, num_runs=num, + spk_mix=spk_mix, seed=seed, save_mel=mel + ) + except KeyboardInterrupt: + exit(-1) + + +@main.command(help='Run DiffSinger variance model inference') +@click.argument( + 'proj', type=click.Path( + exists=True, file_okay=True, dir_okay=False, readable=True, + path_type=pathlib.Path, resolve_path=True + ), + metavar='DS_FILE' +) +@click.option( + '--exp', type=str, + required=True, metavar='EXP', + callback=lambda ctx, param, value: find_exp(value), + help='Selection of model' +) +@click.option( + '--ckpt', type=click.IntRange(min=0), + required=False, metavar='STEPS', + help='Selection of checkpoint training steps' +) +@click.option( + '--predict', type=click.STRING, + multiple=True, metavar='TAGS', + help='Parameters to predict' +) +@click.option( + '--spk', type=click.STRING, + required=False, + help='Speaker name or mixture of speakers' +) +@click.option( + '--lang', type=click.STRING, + required=False, + help='Default language name' +) +@click.option( + '--out', type=click.Path( + file_okay=False, dir_okay=True, path_type=pathlib.Path + ), + required=False, + help='Path of the output folder' +) +@click.option( + '--title', type=click.STRING, + required=False, + help='Title of output file' +) +@click.option( + '--num', type=click.IntRange(min=1), + required=False, default=1, + help='Number of runs' +) +@click.option( + '--key', type=click.INT, + required=False, default=0, + help='Key transition of pitch' +) +@click.option( + '--expr', type=click.FloatRange(min=0, max=1), + required=False, help='Static expressiveness control' +) +@click.option( + '--seed', type=click.INT, + required=False, default=-1, + help='Random seed of the inference' +) +@click.option( + '--steps', type=click.IntRange(min=1), + required=False, + help='Diffusion sampling steps' +) +def variance( + proj: pathlib.Path, + exp: str, + ckpt: int, + spk: str, + lang: str, + predict: Tuple[str], + out: pathlib.Path, + title: str, + num: int, + key: int, + expr: float, + seed: int, + steps: int +): + name = proj.stem if not title else title + if out is None: + out = proj.parent + if (not out or out.resolve() == proj.parent.resolve()) and not title: + name += '_variance' + + with open(proj, 'r', encoding='utf-8') as f: + params = json.load(f) + + if not isinstance(params, list): + params = [params] + params = [OrderedDict(p) for p in params] + + if len(params) == 0: + print('The input file is empty.') + exit() + + from utils.infer_utils import trans_key, parse_commandline_spk_mix + + if key != 0: + params = trans_key(params, key) + key_suffix = '%+dkey' % key + if not title: + name += key_suffix + print(f'| key transition: {key:+d}') + + sys.argv = [ + sys.argv[0], + '--exp_name', + exp, + '--infer' + ] + from utils.hparams import set_hparams, hparams + set_hparams() + + # For compatibility: + # migrate timesteps, K_step, K_step_infer, diff_speedup to time_scale_factor, T_start, T_start_infer, sampling_steps + if 'diff_speedup' not in hparams and 'pndm_speedup' in hparams: + hparams['diff_speedup'] = hparams['pndm_speedup'] + if 'sampling_steps' not in hparams: + hparams['sampling_steps'] = hparams['timesteps'] // hparams['diff_speedup'] + if 'time_scale_factor' not in hparams: + hparams['time_scale_factor'] = hparams['timesteps'] + + if steps is not None: + if 'timesteps' in hparams: + hparams['diff_speedup'] = round(hparams['timesteps'] / steps) + hparams['sampling_steps'] = steps + + spk_mix = parse_commandline_spk_mix(spk) if hparams['use_spk_id'] and spk is not None else None + for param in params: + if expr is not None: + param['expr'] = expr + if spk_mix is not None: + param['ph_spk_mix_backup'] = param.get('ph_spk_mix') + param['spk_mix_backup'] = param.get('spk_mix') + param['ph_spk_mix'] = param['spk_mix'] = spk_mix + if lang is not None: + param['lang'] = lang + + from inference.ds_variance import DiffSingerVarianceInfer + infer_ins = DiffSingerVarianceInfer(ckpt_steps=ckpt, predictions=set(predict)) + print(f'| Model: {type(infer_ins.model)}') + + try: + infer_ins.run_inference( + params, out_dir=out, title=name, + num_runs=num, seed=seed + ) + except KeyboardInterrupt: + exit(-1) + + +if __name__ == '__main__': + main() diff --git a/scripts/train.py b/scripts/train.py new file mode 100644 index 0000000..d4a2236 --- /dev/null +++ b/scripts/train.py @@ -0,0 +1,31 @@ +import importlib +import os + +import sys +from pathlib import Path + +root_dir = Path(__file__).parent.parent.resolve() +os.environ['PYTHONPATH'] = str(root_dir) +sys.path.insert(0, str(root_dir)) + +os.environ['TORCH_CUDNN_V8_API_ENABLED'] = '1' # Prevent unacceptable slowdowns when using 16 precision + +from utils.hparams import set_hparams, hparams + +set_hparams() +if not hparams['nccl_p2p']: + print("Disabling NCCL P2P") + os.environ['NCCL_P2P_DISABLE'] = '1' + + +def run_task(): + assert hparams['task_cls'] != '' + pkg = ".".join(hparams["task_cls"].split(".")[:-1]) + cls_name = hparams["task_cls"].split(".")[-1] + task_cls = getattr(importlib.import_module(pkg), cls_name) + + task_cls.start() + + +if __name__ == '__main__': + run_task() diff --git a/scripts/vocode.py b/scripts/vocode.py new file mode 100644 index 0000000..5586186 --- /dev/null +++ b/scripts/vocode.py @@ -0,0 +1,90 @@ +# coding=utf8 +import argparse +import os +import pathlib +import sys + +root_dir = pathlib.Path(__file__).parent.parent.resolve() +os.environ['PYTHONPATH'] = str(root_dir) +sys.path.insert(0, str(root_dir)) + +import numpy as np +import torch +import tqdm + +from inference.ds_acoustic import DiffSingerAcousticInfer +from utils.infer_utils import cross_fade, save_wav +from utils.hparams import set_hparams, hparams + +parser = argparse.ArgumentParser(description='Run DiffSinger vocoder') +parser.add_argument('mel', type=str, help='Path to the input file') +parser.add_argument('--exp', type=str, required=False, help='Read vocoder class and path from chosen experiment') +parser.add_argument('--config', type=str, required=False, help='Read vocoder class and path from config file') +parser.add_argument('--class', type=str, required=False, help='Specify vocoder class') +parser.add_argument('--ckpt', type=str, required=False, help='Specify vocoder checkpoint path') +parser.add_argument('--out', type=str, required=False, help='Path of the output folder') +parser.add_argument('--title', type=str, required=False, help='Title of output file') +args = parser.parse_args() + +mel = pathlib.Path(args.mel) +name = mel.stem if not args.title else args.title +config = None +if args.exp: + config = root_dir / 'checkpoints' / args.exp / 'config.yaml' +elif args.config: + config = pathlib.Path(args.config) +else: + assert False, 'Either argument \'--exp\' or \'--config\' should be specified.' + +sys.argv = [ + sys.argv[0], + '--config', + str(config) +] +set_hparams(print_hparams=False) + +cls = getattr(args, 'class') +if cls: + hparams['vocoder'] = cls +if args.ckpt: + hparams['vocoder_ckpt'] = args.ckpt + + +out = args.out +if args.out: + out = pathlib.Path(args.out) +else: + out = mel.parent + +mel_seq = torch.load(mel) +assert isinstance(mel_seq, list), 'Not a valid mel sequence.' +assert len(mel_seq) > 0, 'Mel sequence is empty.' + +sample_rate = hparams['audio_sample_rate'] +infer_ins = DiffSingerAcousticInfer(load_model=False) + + +def run_vocoder(path: pathlib.Path): + result = np.zeros(0) + current_length = 0 + + for seg_mel in tqdm.tqdm(mel_seq, desc='mel segment', total=len(mel_seq)): + seg_audio = infer_ins.run_vocoder(seg_mel['mel'].to(infer_ins.device), f0=seg_mel['f0'].to(infer_ins.device)) + seg_audio = seg_audio.squeeze(0).cpu().numpy() + silent_length = round(seg_mel['offset'] * sample_rate) - current_length + if silent_length >= 0: + result = np.append(result, np.zeros(silent_length)) + result = np.append(result, seg_audio) + else: + result = cross_fade(result, seg_audio, current_length + silent_length) + current_length = current_length + silent_length + seg_audio.shape[0] + + print(f'| save audio: {path}') + save_wav(result, path, sample_rate) + + +os.makedirs(out, exist_ok=True) +try: + run_vocoder(out / (name + '.wav')) +except KeyboardInterrupt: + exit(-1) diff --git a/training/acoustic_task.py b/training/acoustic_task.py new file mode 100644 index 0000000..ca6a71c --- /dev/null +++ b/training/acoustic_task.py @@ -0,0 +1,242 @@ +import matplotlib +import torch +import torch.distributions +import torch.optim +import torch.utils.data + +import utils +import utils.infer_utils +from basics.base_dataset import BaseDataset +from basics.base_task import BaseTask +from basics.base_vocoder import BaseVocoder +from modules.aux_decoder import build_aux_loss +from modules.losses import DiffusionLoss, RectifiedFlowLoss +from modules.toplevel import DiffSingerAcoustic, ShallowDiffusionOutput +from modules.vocoders.registry import get_vocoder_cls +from utils.hparams import hparams +from utils.plot import spec_to_figure + +matplotlib.use('Agg') + + +class AcousticDataset(BaseDataset): + def __init__(self, prefix, preload=False): + super(AcousticDataset, self).__init__(prefix, hparams['dataset_size_key'], preload) + self.required_variances = {} # key: variance name, value: padding value + if hparams['use_energy_embed']: + self.required_variances['energy'] = 0.0 + if hparams['use_breathiness_embed']: + self.required_variances['breathiness'] = 0.0 + if hparams['use_voicing_embed']: + self.required_variances['voicing'] = 0.0 + if hparams['use_tension_embed']: + self.required_variances['tension'] = 0.0 + + self.need_key_shift = hparams['use_key_shift_embed'] + self.need_speed = hparams['use_speed_embed'] + self.need_spk_id = hparams['use_spk_id'] + self.need_lang_id = hparams['use_lang_id'] + + def collater(self, samples): + batch = super().collater(samples) + if batch['size'] == 0: + return batch + + tokens = utils.collate_nd([s['tokens'] for s in samples], 0) + f0 = utils.collate_nd([s['f0'] for s in samples], 0.0) + mel2ph = utils.collate_nd([s['mel2ph'] for s in samples], 0) + mel = utils.collate_nd([s['mel'] for s in samples], 0.0) + batch.update({ + 'tokens': tokens, + 'mel2ph': mel2ph, + 'mel': mel, + 'f0': f0, + }) + for v_name, v_pad in self.required_variances.items(): + batch[v_name] = utils.collate_nd([s[v_name] for s in samples], v_pad) + if self.need_key_shift: + batch['key_shift'] = torch.FloatTensor([s['key_shift'] for s in samples])[:, None] + if self.need_speed: + batch['speed'] = torch.FloatTensor([s['speed'] for s in samples])[:, None] + if self.need_spk_id: + spk_ids = torch.LongTensor([s['spk_id'] for s in samples]) + batch['spk_ids'] = spk_ids + if self.need_lang_id: + languages = utils.collate_nd([s['languages'] for s in samples], 0) + batch['languages'] = languages + return batch + + +class AcousticTask(BaseTask): + def __init__(self): + super().__init__() + self.dataset_cls = AcousticDataset + self.diffusion_type = hparams['diffusion_type'] + assert self.diffusion_type in ['ddpm', 'reflow'], f"Unknown diffusion type: {self.diffusion_type}" + self.use_shallow_diffusion = hparams['use_shallow_diffusion'] + if self.use_shallow_diffusion: + self.shallow_args = hparams['shallow_diffusion_args'] + self.train_aux_decoder = self.shallow_args['train_aux_decoder'] + self.train_diffusion = self.shallow_args['train_diffusion'] + + self.use_vocoder = hparams['infer'] or hparams['val_with_vocoder'] + if self.use_vocoder: + self.vocoder: BaseVocoder = get_vocoder_cls(hparams)() + self.logged_gt_wav = set() + self.required_variances = [] + if hparams['use_energy_embed']: + self.required_variances.append('energy') + if hparams['use_breathiness_embed']: + self.required_variances.append('breathiness') + if hparams['use_voicing_embed']: + self.required_variances.append('voicing') + if hparams['use_tension_embed']: + self.required_variances.append('tension') + super()._finish_init() + + def _build_model(self): + return DiffSingerAcoustic( + vocab_size=len(self.phoneme_dictionary), + out_dims=hparams['audio_num_mel_bins'] + ) + + # noinspection PyAttributeOutsideInit + def build_losses_and_metrics(self): + if self.use_shallow_diffusion: + self.aux_mel_loss = build_aux_loss(self.shallow_args['aux_decoder_arch']) + self.lambda_aux_mel_loss = hparams['lambda_aux_mel_loss'] + self.register_validation_loss('aux_mel_loss') + if self.diffusion_type == 'ddpm': + self.mel_loss = DiffusionLoss(loss_type=hparams['main_loss_type']) + elif self.diffusion_type == 'reflow': + self.mel_loss = RectifiedFlowLoss( + loss_type=hparams['main_loss_type'], log_norm=hparams['main_loss_log_norm'] + ) + else: + raise ValueError(f"Unknown diffusion type: {self.diffusion_type}") + self.register_validation_loss('mel_loss') + + def run_model(self, sample, infer=False): + txt_tokens = sample['tokens'] # [B, T_ph] + target = sample['mel'] # [B, T_s, M] + mel2ph = sample['mel2ph'] # [B, T_s] + f0 = sample['f0'] + variances = { + v_name: sample[v_name] + for v_name in self.required_variances + } + key_shift = sample.get('key_shift') + speed = sample.get('speed') + + if hparams['use_spk_id']: + spk_embed_id = sample['spk_ids'] + else: + spk_embed_id = None + if hparams['use_lang_id']: + languages = sample['languages'] + else: + languages = None + output: ShallowDiffusionOutput = self.model( + txt_tokens, mel2ph=mel2ph, f0=f0, **variances, + key_shift=key_shift, speed=speed, + spk_embed_id=spk_embed_id, languages=languages, + gt_mel=target, infer=infer + ) + + if infer: + return output + else: + losses = {} + + if output.aux_out is not None: + aux_out = output.aux_out + norm_gt = self.model.aux_decoder.norm_spec(target) + aux_mel_loss = self.lambda_aux_mel_loss * self.aux_mel_loss(aux_out, norm_gt) + losses['aux_mel_loss'] = aux_mel_loss + + non_padding = (mel2ph > 0).unsqueeze(-1).float() + if output.diff_out is not None: + if self.diffusion_type == 'ddpm': + x_recon, x_noise = output.diff_out + mel_loss = self.mel_loss(x_recon, x_noise, non_padding=non_padding) + elif self.diffusion_type == 'reflow': + v_pred, v_gt, t = output.diff_out + mel_loss = self.mel_loss(v_pred, v_gt, t=t, non_padding=non_padding) + else: + raise ValueError(f"Unknown diffusion type: {self.diffusion_type}") + losses['mel_loss'] = mel_loss + + return losses + + def on_train_start(self): + if self.use_vocoder and self.vocoder.get_device() != self.device: + self.vocoder.to_device(self.device) + + def _on_validation_start(self): + if self.use_vocoder and self.vocoder.get_device() != self.device: + self.vocoder.to_device(self.device) + + def _validation_step(self, sample, batch_idx): + losses = self.run_model(sample, infer=False) + if sample['size'] > 0 and min(sample['indices']) < hparams['num_valid_plots']: + mel_out: ShallowDiffusionOutput = self.run_model(sample, infer=True) + for i in range(len(sample['indices'])): + data_idx = sample['indices'][i].item() + if data_idx < hparams['num_valid_plots']: + if self.use_vocoder: + self.plot_wav( + data_idx, sample['mel'][i], + mel_out.aux_out[i] if mel_out.aux_out is not None else None, + mel_out.diff_out[i], + sample['f0'][i] + ) + if mel_out.aux_out is not None: + self.plot_mel(data_idx, sample['mel'][i], mel_out.aux_out[i], 'auxmel') + if mel_out.diff_out is not None: + self.plot_mel(data_idx, sample['mel'][i], mel_out.diff_out[i], 'diffmel') + return losses, sample['size'] + + ############ + # validation plots + ############ + def plot_wav(self, data_idx, gt_mel, aux_mel, diff_mel, f0): + f0_len = self.valid_dataset.metadata['f0'][data_idx] + mel_len = self.valid_dataset.metadata['mel'][data_idx] + gt_mel = gt_mel[:mel_len].unsqueeze(0) + if aux_mel is not None: + aux_mel = aux_mel[:mel_len].unsqueeze(0) + if diff_mel is not None: + diff_mel = diff_mel[:mel_len].unsqueeze(0) + f0 = f0[:f0_len].unsqueeze(0) + if data_idx not in self.logged_gt_wav: + gt_wav = self.vocoder.spec2wav_torch(gt_mel, f0=f0) + self.logger.all_rank_experiment.add_audio( + f'gt_{data_idx}', gt_wav, + sample_rate=hparams['audio_sample_rate'], + global_step=self.global_step + ) + self.logged_gt_wav.add(data_idx) + if aux_mel is not None: + aux_wav = self.vocoder.spec2wav_torch(aux_mel, f0=f0) + self.logger.all_rank_experiment.add_audio( + f'aux_{data_idx}', aux_wav, + sample_rate=hparams['audio_sample_rate'], + global_step=self.global_step + ) + if diff_mel is not None: + diff_wav = self.vocoder.spec2wav_torch(diff_mel, f0=f0) + self.logger.all_rank_experiment.add_audio( + f'diff_{data_idx}', diff_wav, + sample_rate=hparams['audio_sample_rate'], + global_step=self.global_step + ) + + def plot_mel(self, data_idx, gt_spec, out_spec, name_prefix='mel'): + vmin = hparams['mel_vmin'] + vmax = hparams['mel_vmax'] + mel_len = self.valid_dataset.metadata['mel'][data_idx] + spec_cat = torch.cat([(out_spec - gt_spec).abs() + vmin, gt_spec, out_spec], -1) + title_text = f"{self.valid_dataset.metadata['spk_names'][data_idx]} - {self.valid_dataset.metadata['names'][data_idx]}" + self.logger.all_rank_experiment.add_figure(f'{name_prefix}_{data_idx}', spec_to_figure( + spec_cat[:mel_len], vmin, vmax, title_text + ), global_step=self.global_step) diff --git a/training/variance_task.py b/training/variance_task.py new file mode 100644 index 0000000..646d954 --- /dev/null +++ b/training/variance_task.py @@ -0,0 +1,337 @@ +import matplotlib +import torch +import torch.distributions +import torch.optim +import torch.utils.data + +import utils +import utils.infer_utils +from basics.base_dataset import BaseDataset +from basics.base_task import BaseTask +from modules.losses import DurationLoss, DiffusionLoss, RectifiedFlowLoss +from modules.metrics import ( + RawCurveAccuracy, RawCurveR2Score, RhythmCorrectness, PhonemeDurationAccuracy +) +from modules.toplevel import DiffSingerVariance +from utils.hparams import hparams +from utils.plot import dur_to_figure, pitch_note_to_figure, curve_to_figure + +matplotlib.use('Agg') + + +class VarianceDataset(BaseDataset): + def __init__(self, prefix, preload=False): + super(VarianceDataset, self).__init__(prefix, hparams['dataset_size_key'], preload) + need_energy = hparams['predict_energy'] + need_breathiness = hparams['predict_breathiness'] + need_voicing = hparams['predict_voicing'] + need_tension = hparams['predict_tension'] + self.predict_variances = need_energy or need_breathiness or need_voicing or need_tension + + def collater(self, samples): + batch = super().collater(samples) + if batch['size'] == 0: + return batch + + tokens = utils.collate_nd([s['tokens'] for s in samples], 0) + ph_dur = utils.collate_nd([s['ph_dur'] for s in samples], 0) + batch.update({ + 'tokens': tokens, + 'ph_dur': ph_dur + }) + + if hparams['use_spk_id']: + batch['spk_ids'] = torch.LongTensor([s['spk_id'] for s in samples]) + if hparams['use_lang_id']: + batch['languages'] = utils.collate_nd([s['languages'] for s in samples], 0) + if hparams['predict_dur']: + batch['ph2word'] = utils.collate_nd([s['ph2word'] for s in samples], 0) + batch['midi'] = utils.collate_nd([s['midi'] for s in samples], 0) + if hparams['predict_pitch']: + batch['note_midi'] = utils.collate_nd([s['note_midi'] for s in samples], -1) + batch['note_rest'] = utils.collate_nd([s['note_rest'] for s in samples], True) + batch['note_dur'] = utils.collate_nd([s['note_dur'] for s in samples], 0) + if hparams['use_glide_embed']: + batch['note_glide'] = utils.collate_nd([s['note_glide'] for s in samples], 0) + batch['mel2note'] = utils.collate_nd([s['mel2note'] for s in samples], 0) + batch['base_pitch'] = utils.collate_nd([s['base_pitch'] for s in samples], 0) + if hparams['predict_pitch'] or self.predict_variances: + batch['mel2ph'] = utils.collate_nd([s['mel2ph'] for s in samples], 0) + batch['pitch'] = utils.collate_nd([s['pitch'] for s in samples], 0) + batch['uv'] = utils.collate_nd([s['uv'] for s in samples], True) + if hparams['predict_energy']: + batch['energy'] = utils.collate_nd([s['energy'] for s in samples], 0) + if hparams['predict_breathiness']: + batch['breathiness'] = utils.collate_nd([s['breathiness'] for s in samples], 0) + if hparams['predict_voicing']: + batch['voicing'] = utils.collate_nd([s['voicing'] for s in samples], 0) + if hparams['predict_tension']: + batch['tension'] = utils.collate_nd([s['tension'] for s in samples], 0) + + return batch + + +def random_retake_masks(b, t, device): + # 1/4 segments are True in average + B_masks = torch.randint(low=0, high=4, size=(b, 1), dtype=torch.long, device=device) == 0 + # 1/3 frames are True in average + T_masks = utils.random_continuous_masks(b, t, dim=1, device=device) + # 1/4 segments and 1/2 frames are True in average (1/4 + 3/4 * 1/3 = 1/2) + return B_masks | T_masks + + +class VarianceTask(BaseTask): + def __init__(self): + super().__init__() + self.dataset_cls = VarianceDataset + + self.diffusion_type = hparams['diffusion_type'] + + self.use_spk_id = hparams['use_spk_id'] + self.use_lang_id = hparams['use_lang_id'] + + self.predict_dur = hparams['predict_dur'] + if self.predict_dur: + self.lambda_dur_loss = hparams['lambda_dur_loss'] + + self.predict_pitch = hparams['predict_pitch'] + if self.predict_pitch: + self.lambda_pitch_loss = hparams['lambda_pitch_loss'] + + predict_energy = hparams['predict_energy'] + predict_breathiness = hparams['predict_breathiness'] + predict_voicing = hparams['predict_voicing'] + predict_tension = hparams['predict_tension'] + self.variance_prediction_list = [] + if predict_energy: + self.variance_prediction_list.append('energy') + if predict_breathiness: + self.variance_prediction_list.append('breathiness') + if predict_voicing: + self.variance_prediction_list.append('voicing') + if predict_tension: + self.variance_prediction_list.append('tension') + self.predict_variances = len(self.variance_prediction_list) > 0 + self.lambda_var_loss = hparams['lambda_var_loss'] + super()._finish_init() + + def _build_model(self): + return DiffSingerVariance( + vocab_size=len(self.phoneme_dictionary), + ) + + # noinspection PyAttributeOutsideInit + def build_losses_and_metrics(self): + if self.predict_dur: + dur_hparams = hparams['dur_prediction_args'] + self.dur_loss = DurationLoss( + offset=dur_hparams['log_offset'], + loss_type=dur_hparams['loss_type'], + lambda_pdur=dur_hparams['lambda_pdur_loss'], + lambda_wdur=dur_hparams['lambda_wdur_loss'], + lambda_sdur=dur_hparams['lambda_sdur_loss'] + ) + self.register_validation_loss('dur_loss') + self.register_validation_metric('rhythm_corr', RhythmCorrectness(tolerance=0.05)) + self.register_validation_metric('ph_dur_acc', PhonemeDurationAccuracy(tolerance=0.2)) + if self.predict_pitch: + if self.diffusion_type == 'ddpm': + self.pitch_loss = DiffusionLoss(loss_type=hparams['main_loss_type']) + elif self.diffusion_type == 'reflow': + self.pitch_loss = RectifiedFlowLoss( + loss_type=hparams['main_loss_type'], log_norm=hparams['main_loss_log_norm'] + ) + else: + raise ValueError(f'Unknown diffusion type: {self.diffusion_type}') + self.register_validation_loss('pitch_loss') + self.register_validation_metric('pitch_acc', RawCurveAccuracy(tolerance=0.5)) + self.register_validation_metric('pitch_r2', RawCurveR2Score()) + if self.predict_variances: + if self.diffusion_type == 'ddpm': + self.var_loss = DiffusionLoss(loss_type=hparams['main_loss_type']) + elif self.diffusion_type == 'reflow': + self.var_loss = RectifiedFlowLoss( + loss_type=hparams['main_loss_type'], log_norm=hparams['main_loss_log_norm'] + ) + else: + raise ValueError(f'Unknown diffusion type: {self.diffusion_type}') + self.register_validation_loss('var_loss') + for name in self.variance_prediction_list: + self.register_validation_metric(f'{name}_r2', RawCurveR2Score()) + + def run_model(self, sample, infer=False): + spk_ids = sample['spk_ids'] if self.use_spk_id else None # [B,] + languages = sample['languages'] if self.use_lang_id else None # [B,] + txt_tokens = sample['tokens'] # [B, T_ph] + ph_dur = sample['ph_dur'] # [B, T_ph] + ph2word = sample.get('ph2word') # [B, T_ph] + midi = sample.get('midi') # [B, T_ph] + mel2ph = sample.get('mel2ph') # [B, T_s] + + note_midi = sample.get('note_midi') # [B, T_n] + note_rest = sample.get('note_rest') # [B, T_n] + note_dur = sample.get('note_dur') # [B, T_n] + note_glide = sample.get('note_glide') # [B, T_n] + mel2note = sample.get('mel2note') # [B, T_s] + + base_pitch = sample.get('base_pitch') # [B, T_s] + pitch = sample.get('pitch') # [B, T_s] + energy = sample.get('energy') # [B, T_s] + breathiness = sample.get('breathiness') # [B, T_s] + voicing = sample.get('voicing') # [B, T_s] + tension = sample.get('tension') # [B, T_s] + + pitch_retake = variance_retake = None + if (self.predict_pitch or self.predict_variances) and not infer: + # randomly select continuous retaking regions + b = sample['size'] + t = mel2ph.shape[1] + device = mel2ph.device + if self.predict_pitch: + pitch_retake = random_retake_masks(b, t, device) + if self.predict_variances: + variance_retake = { + v_name: random_retake_masks(b, t, device) + for v_name in self.variance_prediction_list + } + + output = self.model( + txt_tokens, languages=languages, + midi=midi, ph2word=ph2word, + ph_dur=ph_dur, mel2ph=mel2ph, + note_midi=note_midi, note_rest=note_rest, + note_dur=note_dur, note_glide=note_glide, mel2note=mel2note, + base_pitch=base_pitch, pitch=pitch, + energy=energy, breathiness=breathiness, voicing=voicing, tension=tension, + pitch_retake=pitch_retake, variance_retake=variance_retake, + spk_id=spk_ids, infer=infer + ) + + dur_pred, pitch_pred, variances_pred = output + if infer: + if dur_pred is not None: + dur_pred = dur_pred.round().long() + return dur_pred, pitch_pred, variances_pred # Tensor, Tensor, Dict[str, Tensor] + else: + losses = {} + if dur_pred is not None: + losses['dur_loss'] = self.lambda_dur_loss * self.dur_loss(dur_pred, ph_dur, ph2word=ph2word) + non_padding = (mel2ph > 0).unsqueeze(-1) if mel2ph is not None else None + if pitch_pred is not None: + if self.diffusion_type == 'ddpm': + pitch_x_recon, pitch_noise = pitch_pred + pitch_loss = self.pitch_loss( + pitch_x_recon, pitch_noise, non_padding=non_padding + ) + elif self.diffusion_type == 'reflow': + pitch_v_pred, pitch_v_gt, t = pitch_pred + pitch_loss = self.pitch_loss( + pitch_v_pred, pitch_v_gt, t=t, non_padding=non_padding + ) + else: + raise ValueError(f"Unknown diffusion type: {self.diffusion_type}") + losses['pitch_loss'] = self.lambda_pitch_loss * pitch_loss + if variances_pred is not None: + if self.diffusion_type == 'ddpm': + var_x_recon, var_noise = variances_pred + var_loss = self.var_loss( + var_x_recon, var_noise, non_padding=non_padding + ) + elif self.diffusion_type == 'reflow': + var_v_pred, var_v_gt, t = variances_pred + var_loss = self.var_loss( + var_v_pred, var_v_gt, t=t, non_padding=non_padding + ) + else: + raise ValueError(f"Unknown diffusion type: {self.diffusion_type}") + losses['var_loss'] = self.lambda_var_loss * var_loss + + return losses + + def _validation_step(self, sample, batch_idx): + losses = self.run_model(sample, infer=False) + if min(sample['indices']) < hparams['num_valid_plots']: + def sample_get(key, idx, abs_idx): + return sample[key][idx][:self.valid_dataset.metadata[key][abs_idx]].unsqueeze(0) + + dur_preds, pitch_preds, variances_preds = self.run_model(sample, infer=True) + for i in range(len(sample['indices'])): + data_idx = sample['indices'][i] + if data_idx < hparams['num_valid_plots']: + if dur_preds is not None: + dur_len = self.valid_dataset.metadata['ph_dur'][data_idx] + tokens = sample_get('tokens', i, data_idx) + gt_dur = sample_get('ph_dur', i, data_idx) + pred_dur = dur_preds[i][:dur_len].unsqueeze(0) + ph2word = sample_get('ph2word', i, data_idx) + mask = tokens != 0 + self.valid_metrics['rhythm_corr'].update( + pdur_pred=pred_dur, pdur_target=gt_dur, ph2word=ph2word, mask=mask + ) + self.valid_metrics['ph_dur_acc'].update( + pdur_pred=pred_dur, pdur_target=gt_dur, ph2word=ph2word, mask=mask + ) + self.plot_dur( + data_idx, gt_dur, pred_dur, + txt=self.valid_dataset.metadata['ph_texts'][data_idx].split() + ) + if pitch_preds is not None: + pitch_len = self.valid_dataset.metadata['pitch'][data_idx] + pred_pitch = sample_get('base_pitch', i, data_idx) + pitch_preds[i][:pitch_len].unsqueeze(0) + gt_pitch = sample_get('pitch', i, data_idx) + mask = (sample_get('mel2ph', i, data_idx) > 0) & ~sample_get('uv', i, data_idx) + self.valid_metrics['pitch_acc'].update(pred=pred_pitch, target=gt_pitch, mask=mask) + self.valid_metrics['pitch_r2'].update(pred=pred_pitch, target=gt_pitch, mask=mask) + self.plot_pitch( + data_idx, + gt_pitch=gt_pitch, + pred_pitch=pred_pitch, + note_midi=sample_get('note_midi', i, data_idx), + note_dur=sample_get('note_dur', i, data_idx), + note_rest=sample_get('note_rest', i, data_idx) + ) + for name in self.variance_prediction_list: + variance_len = self.valid_dataset.metadata[name][data_idx] + gt_variances = sample[name][i][:variance_len].unsqueeze(0) + pred_variances = variances_preds[name][i][:variance_len].unsqueeze(0) + mask = (sample_get('mel2ph', i, data_idx) > 0) & ~sample_get('uv', i, data_idx) + self.valid_metrics[f'{name}_r2'].update(pred=pred_variances, target=gt_variances, mask=mask) + self.plot_curve( + data_idx, + gt_curve=gt_variances, + pred_curve=pred_variances, + curve_name=name + ) + return losses, sample['size'] + + ############ + # validation plots + ############ + def plot_dur(self, data_idx, gt_dur, pred_dur, txt=None): + gt_dur = gt_dur[0].cpu().numpy() + pred_dur = pred_dur[0].cpu().numpy() + title_text = f"{self.valid_dataset.metadata['spk_names'][data_idx]} - {self.valid_dataset.metadata['names'][data_idx]}" + self.logger.all_rank_experiment.add_figure(f'dur_{data_idx}', dur_to_figure( + gt_dur, pred_dur, txt, title_text + ), self.global_step) + + def plot_pitch(self, data_idx, gt_pitch, pred_pitch, note_midi, note_dur, note_rest): + gt_pitch = gt_pitch[0].cpu().numpy() + pred_pitch = pred_pitch[0].cpu().numpy() + note_midi = note_midi[0].cpu().numpy() + note_dur = note_dur[0].cpu().numpy() + note_rest = note_rest[0].cpu().numpy() + title_text = f"{self.valid_dataset.metadata['spk_names'][data_idx]} - {self.valid_dataset.metadata['names'][data_idx]}" + self.logger.all_rank_experiment.add_figure(f'pitch_{data_idx}', pitch_note_to_figure( + gt_pitch, pred_pitch, note_midi, note_dur, note_rest, title_text + ), self.global_step) + + def plot_curve(self, data_idx, gt_curve, pred_curve, base_curve=None, grid=None, curve_name='curve'): + gt_curve = gt_curve[0].cpu().numpy() + pred_curve = pred_curve[0].cpu().numpy() + if base_curve is not None: + base_curve = base_curve[0].cpu().numpy() + title_text = f"{self.valid_dataset.metadata['spk_names'][data_idx]} - {self.valid_dataset.metadata['names'][data_idx]}" + self.logger.all_rank_experiment.add_figure(f'{curve_name}_{data_idx}', curve_to_figure( + gt_curve, pred_curve, base_curve, grid=grid, title=title_text + ), self.global_step) diff --git a/utils/__init__.py b/utils/__init__.py new file mode 100644 index 0000000..97ee682 --- /dev/null +++ b/utils/__init__.py @@ -0,0 +1,360 @@ +from __future__ import annotations + +import pathlib +import re +import time +import types +from collections import OrderedDict +from fnmatch import fnmatch + +import numpy as np +import torch +import torch.nn.functional as F + +from basics.base_module import CategorizedModule +from utils.hparams import hparams +from utils.training_utils import get_latest_checkpoint_path + + +def tensors_to_scalars(metrics): + new_metrics = {} + for k, v in metrics.items(): + if isinstance(v, torch.Tensor): + v = v.item() + if type(v) is dict: + v = tensors_to_scalars(v) + new_metrics[k] = v + return new_metrics + + +def collate_nd(values, pad_value=0, max_len=None): + """ + Pad a list of Nd tensors on their first dimension and stack them into a (N+1)d tensor. + """ + size = ((max(v.size(0) for v in values) if max_len is None else max_len), *values[0].shape[1:]) + res = torch.full((len(values), *size), fill_value=pad_value, dtype=values[0].dtype, device=values[0].device) + + for i, v in enumerate(values): + res[i, :len(v), ...] = v + return res + + +def random_continuous_masks(*shape: int, dim: int, device: str | torch.device = 'cpu'): + start, end = torch.sort( + torch.randint( + low=0, high=shape[dim] + 1, size=(*shape[:dim], 2, *((1,) * (len(shape) - dim - 1))), device=device + ).expand(*((-1,) * (dim + 1)), *shape[dim + 1:]), dim=dim + )[0].split(1, dim=dim) + idx = torch.arange( + 0, shape[dim], dtype=torch.long, device=device + ).reshape(*((1,) * dim), shape[dim], *((1,) * (len(shape) - dim - 1))) + masks = (idx >= start) & (idx < end) + return masks + + +def _is_batch_full(batch, num_frames, max_batch_frames, max_batch_size): + if len(batch) == 0: + return 0 + if len(batch) == max_batch_size: + return 1 + if num_frames > max_batch_frames: + return 1 + return 0 + + +def batch_by_size( + indices, num_frames_fn, max_batch_frames=80000, max_batch_size=48, + required_batch_size_multiple=1 +): + """ + Yield mini-batches of indices bucketed by size. Batches may contain + sequences of different lengths. + + Args: + indices (List[int]): ordered list of dataset indices + num_frames_fn (callable): function that returns the number of frames at + a given index + max_batch_frames (int, optional): max number of frames in each batch + (default: 80000). + max_batch_size (int, optional): max number of sentences in each + batch (default: 48). + required_batch_size_multiple: require the batch size to be multiple + of a given number + """ + bsz_mult = required_batch_size_multiple + + if isinstance(indices, types.GeneratorType): + indices = np.fromiter(indices, dtype=np.int64, count=-1) + + sample_len = 0 + sample_lens = [] + batch = [] + batches = [] + for i in range(len(indices)): + idx = indices[i] + num_frames = num_frames_fn(idx) + sample_lens.append(num_frames) + sample_len = max(sample_len, num_frames) + assert sample_len <= max_batch_frames, ( + "sentence at index {} of size {} exceeds max_batch_samples " + "limit of {}!".format(idx, sample_len, max_batch_frames) + ) + num_frames = (len(batch) + 1) * sample_len + + if _is_batch_full(batch, num_frames, max_batch_frames, max_batch_size): + mod_len = max( + bsz_mult * (len(batch) // bsz_mult), + len(batch) % bsz_mult, + ) + batches.append(batch[:mod_len]) + batch = batch[mod_len:] + sample_lens = sample_lens[mod_len:] + sample_len = max(sample_lens) if len(sample_lens) > 0 else 0 + batch.append(idx) + if len(batch) > 0: + batches.append(batch) + return batches + + +def make_positions(tensor, padding_idx): + """Replace non-padding symbols with their position numbers. + + Position numbers begin at padding_idx+1. Padding symbols are ignored. + """ + # The series of casts and type-conversions here are carefully + # balanced to both work with ONNX export and XLA. In particular XLA + # prefers ints, cumsum defaults to output longs, and ONNX doesn't know + # how to handle the dtype kwarg in cumsum. + mask = tensor.ne(padding_idx).int() + return (torch.cumsum(mask, dim=1).type_as(mask) * mask).long() + padding_idx + + +def softmax(x, dim): + return F.softmax(x, dim=dim, dtype=torch.float32) + + +def unpack_dict_to_list(samples): + samples_ = [] + bsz = samples.get('outputs').size(0) + for i in range(bsz): + res = {} + for k, v in samples.items(): + try: + res[k] = v[i] + except (IndexError, TypeError): + pass + samples_.append(res) + return samples_ + + +def filter_kwargs(dict_to_filter, kwarg_obj): + import inspect + + sig = inspect.signature(kwarg_obj) + if any(param.kind == param.VAR_KEYWORD for param in sig.parameters.values()): + # the signature contains definitions like **kwargs, so there is no need to filter + return dict_to_filter.copy() + filter_keys = [ + param.name + for param in sig.parameters.values() + if param.kind == param.POSITIONAL_OR_KEYWORD or param.kind == param.KEYWORD_ONLY + ] + filtered_dict = {filter_key: dict_to_filter[filter_key] for filter_key in filter_keys if + filter_key in dict_to_filter} + return filtered_dict + + +def load_ckpt( + cur_model, ckpt_base_dir, ckpt_steps=None, + prefix_in_ckpt='model', exclude_key_patterns=None, key_in_ckpt='state_dict', + strict=True, device='cpu' +): + if exclude_key_patterns is None: + # Pop all RoPE buffers from some old checkpoints, + # Because these buffers are all computed during initialization now. + # TODO: this is a legacy handling and should be removed in the future. + exclude_key_patterns = ['*.rotary_embed.*'] + if not isinstance(ckpt_base_dir, pathlib.Path): + ckpt_base_dir = pathlib.Path(ckpt_base_dir) + if ckpt_base_dir.is_file(): + checkpoint_path = [ckpt_base_dir] + elif ckpt_steps is not None: + checkpoint_path = [ckpt_base_dir / f'model_ckpt_steps_{int(ckpt_steps)}.ckpt'] + else: + base_dir = ckpt_base_dir + checkpoint_path = sorted( + [ + ckpt_file + for ckpt_file in base_dir.iterdir() + if ckpt_file.is_file() and re.fullmatch(r'model_ckpt_steps_\d+\.ckpt', ckpt_file.name) + ], + key=lambda x: int(re.search(r'\d+', x.name).group(0)) + ) + assert len(checkpoint_path) > 0, f'| ckpt not found in {ckpt_base_dir}.' + checkpoint_path = checkpoint_path[-1] + ckpt_loaded = torch.load(checkpoint_path, map_location=device) + if isinstance(cur_model, CategorizedModule): + cur_model.check_category(ckpt_loaded.get('category')) + if key_in_ckpt is None: + state_dict = ckpt_loaded + else: + state_dict = ckpt_loaded[key_in_ckpt] + if prefix_in_ckpt is not None: + old_state_dict = state_dict + state_dict = OrderedDict() + for k, v in old_state_dict.items(): + if not k.startswith(f'{prefix_in_ckpt}.'): + continue + k = k[len(prefix_in_ckpt) + 1:] + excluded = False + for pat in exclude_key_patterns: + if fnmatch(k, pat): + excluded = True + break + if excluded: + continue + state_dict[k] = v + + # Manual self-attention (MultiheadSelfAttentionWithRoPE) uses 'in_proj.weight', + # while older checkpoints saved from torch.nn.MultiheadAttention use 'in_proj_weight'. + # The two tensors have identical shape and semantics (Q/K/V stacked along dim 0), + # so a key rename is sufficient to load legacy ckpts. + renamed = OrderedDict() + for k, v in state_dict.items(): + if k.endswith('.self_attn.in_proj_weight'): + k = k[:-len('in_proj_weight')] + 'in_proj.weight' + renamed[k] = v + state_dict = renamed + + if not strict: + cur_model_state_dict = cur_model.state_dict() + unmatched_keys = [] + for key, param in state_dict.items(): + if key in cur_model_state_dict: + new_param = cur_model_state_dict[key] + if new_param.shape != param.shape: + unmatched_keys.append(key) + print('| Unmatched keys: ', key, new_param.shape, param.shape) + for key in unmatched_keys: + del state_dict[key] + cur_model.load_state_dict(state_dict, strict=strict) + shown_model_name = 'state dict' + if prefix_in_ckpt is not None: + shown_model_name = f'\'{prefix_in_ckpt}\'' + elif key_in_ckpt is not None: + shown_model_name = f'\'{key_in_ckpt}\'' + print(f'| load {shown_model_name} from \'{checkpoint_path}\'.') + + +def remove_padding(x, padding_idx=0): + if x is None: + return None + assert len(x.shape) in [1, 2] + if len(x.shape) == 2: # [T, H] + return x[np.abs(x).sum(-1) != padding_idx] + elif len(x.shape) == 1: # [T] + return x[x != padding_idx] + + +class Timer: + timer_map = {} + + def __init__(self, name, print_time=False): + if name not in Timer.timer_map: + Timer.timer_map[name] = 0 + self.name = name + self.print_time = print_time + + def __enter__(self): + self.t = time.time() + + def __exit__(self, exc_type, exc_val, exc_tb): + Timer.timer_map[self.name] += time.time() - self.t + if self.print_time: + print(self.name, Timer.timer_map[self.name]) + + +def print_arch(model, model_name='model'): + print(f"| {model_name} Arch: ", model) + # num_params(model, model_name=model_name) + + +def num_params(model, print_out=True, model_name="model"): + parameters = filter(lambda p: p.requires_grad, model.parameters()) + parameters = sum([np.prod(p.size()) for p in parameters]) / 1_000_000 + if print_out: + print(f'| {model_name} Trainable Parameters: %.3fM' % parameters) + return parameters + + +def build_object_from_class_name(cls_str, parent_cls, *args, **kwargs): + import importlib + + pkg = ".".join(cls_str.split(".")[:-1]) + cls_name = cls_str.split(".")[-1] + cls_type = getattr(importlib.import_module(pkg), cls_name) + if parent_cls is not None: + assert issubclass(cls_type, parent_cls), f'| {cls_type} is not subclass of {parent_cls}.' + + return cls_type(*args, **filter_kwargs(kwargs, cls_type)) + + +def build_lr_scheduler_from_config(optimizer, scheduler_args): + try: + # PyTorch 2.0+ + from torch.optim.lr_scheduler import LRScheduler as LRScheduler + except ImportError: + # PyTorch 1.X + from torch.optim.lr_scheduler import _LRScheduler as LRScheduler + + def helper(params): + if isinstance(params, list): + return [helper(s) for s in params] + elif isinstance(params, dict): + resolved = {k: helper(v) for k, v in params.items()} + if 'cls' in resolved: + if ( + resolved["cls"] == "torch.optim.lr_scheduler.ChainedScheduler" + and scheduler_args["scheduler_cls"] == "torch.optim.lr_scheduler.SequentialLR" + ): + raise ValueError("ChainedScheduler cannot be part of a SequentialLR.") + resolved['optimizer'] = optimizer + obj = build_object_from_class_name( + resolved['cls'], + LRScheduler, + **resolved + ) + return obj + return resolved + else: + return params + + resolved = helper(scheduler_args) + resolved['optimizer'] = optimizer + return build_object_from_class_name( + scheduler_args['scheduler_cls'], + LRScheduler, + **resolved + ) + + +def simulate_lr_scheduler(optimizer_args, scheduler_args, step_count, num_param_groups=1): + optimizer_cls = optimizer_args['optimizer_cls'] + optimizer = build_object_from_class_name( + 'torch.optim.AdamW' if optimizer_cls == 'modules.optimizer.muon.Muon_AdamW' else optimizer_cls, + torch.optim.Optimizer, + [{'params': torch.nn.Parameter(), 'initial_lr': optimizer_args['lr']} for _ in range(num_param_groups)], + **optimizer_args + ) + scheduler = build_lr_scheduler_from_config(optimizer, scheduler_args) + scheduler.optimizer._step_count = 1 + for _ in range(step_count): + scheduler.step() + return scheduler.state_dict() + + +def remove_suffix(string: str, suffix: str): + # Just for Python 3.8 compatibility, since `str.removesuffix()` API of is available since Python 3.9 + if string.endswith(suffix): + string = string[:-len(suffix)] + return string diff --git a/utils/binarizer_utils.py b/utils/binarizer_utils.py new file mode 100644 index 0000000..940d14a --- /dev/null +++ b/utils/binarizer_utils.py @@ -0,0 +1,229 @@ +from typing import Union + +import librosa +import numpy as np +import parselmouth +import torch + +from modules.nsf_hifigan.nvSTFT import STFT +from utils.decomposed_waveform import DecomposedWaveform +from utils.pitch_utils import interp_f0 + + +def get_mel_torch( + waveform, samplerate, + *, + num_mel_bins=128, hop_size=512, win_size=2048, fft_size=2048, + fmin=40, fmax=16000, + keyshift=0, speed=1, device=None +): + if device is None: + device = 'cuda' if torch.cuda.is_available() else 'cpu' + stft = STFT(samplerate, num_mel_bins, fft_size, win_size, hop_size, fmin, fmax, device=device) + with torch.no_grad(): + wav_torch = torch.from_numpy(waveform).to(device) + mel_torch = stft.get_mel(wav_torch.unsqueeze(0), keyshift=keyshift, speed=speed).squeeze(0).T + return mel_torch.cpu().numpy() + + +@torch.no_grad() +def get_mel2ph_torch(lr, durs, length, timestep, device='cpu'): + ph_acc = torch.round(torch.cumsum(durs.to(device), dim=0) / timestep + 0.5).long() + ph_dur = torch.diff(ph_acc, dim=0, prepend=torch.LongTensor([0]).to(device)) + mel2ph = lr(ph_dur[None])[0] + num_frames = mel2ph.shape[0] + if num_frames < length: + mel2ph = torch.cat((mel2ph, torch.full((length - num_frames,), fill_value=mel2ph[-1], device=device)), dim=0) + elif num_frames > length: + mel2ph = mel2ph[:length] + return mel2ph + + +def get_pitch_parselmouth( + waveform, samplerate, length, + *, hop_size, f0_min=65, f0_max=1100, + speed=1, interp_uv=False +): + """ + + :param waveform: [T] + :param samplerate: sampling rate + :param length: Expected number of frames + :param hop_size: Frame width, in number of samples + :param f0_min: Minimum f0 in Hz + :param f0_max: Maximum f0 in Hz + :param speed: Change the speed + :param interp_uv: Interpolate unvoiced parts + :return: f0, uv + """ + hop_size = int(np.round(hop_size * speed)) + time_step = hop_size / samplerate + + l_pad = int(np.ceil(1.5 / f0_min * samplerate)) + r_pad = hop_size * ((len(waveform) - 1) // hop_size + 1) - len(waveform) + l_pad + 1 + waveform = np.pad(waveform, (l_pad, r_pad)) + + # noinspection PyArgumentList + s = parselmouth.Sound(waveform, sampling_frequency=samplerate).to_pitch_ac( + time_step=time_step, voicing_threshold=0.6, + pitch_floor=f0_min, pitch_ceiling=f0_max + ) + assert np.abs(s.t1 - 1.5 / f0_min) < 0.001 + f0 = s.selected_array['frequency'].astype(np.float32) + if len(f0) < length: + f0 = np.pad(f0, (0, length - len(f0))) + f0 = f0[: length] + uv = f0 == 0 + if interp_uv: + f0, uv = interp_f0(f0, uv) + return f0, uv + + +def get_energy_librosa(waveform, length, *, hop_size, win_size, domain='db'): + """ + Definition of energy: RMS of the waveform, in dB representation + :param waveform: [T] + :param length: Expected number of frames + :param hop_size: Frame width, in number of samples + :param win_size: Window size, in number of samples + :param domain: db or amplitude + :return: energy + """ + energy = librosa.feature.rms(y=waveform, frame_length=win_size, hop_length=hop_size)[0] + if len(energy) < length: + energy = np.pad(energy, (0, length - len(energy))) + energy = energy[: length] + if domain == 'db': + energy = librosa.amplitude_to_db(energy) + elif domain == 'amplitude': + pass + else: + raise ValueError(f'Invalid domain: {domain}') + return energy + + +def get_breathiness( + waveform: Union[np.ndarray, DecomposedWaveform], + samplerate, f0, length, + *, hop_size=None, fft_size=None, win_size=None +): + """ + Definition of breathiness: RMS of the aperiodic part, in dB representation + :param waveform: All other analysis parameters will not take effect if a DeconstructedWaveform is given + :param samplerate: sampling rate + :param f0: reference f0 + :param length: Expected number of frames + :param hop_size: Frame width, in number of samples + :param fft_size: Number of fft bins + :param win_size: Window size, in number of samples + :return: breathiness + """ + if not isinstance(waveform, DecomposedWaveform): + waveform = DecomposedWaveform( + waveform=waveform, samplerate=samplerate, f0=f0, + hop_size=hop_size, fft_size=fft_size, win_size=win_size + ) + waveform_ap = waveform.aperiodic() + breathiness = get_energy_librosa( + waveform_ap, length=length, + hop_size=waveform.hop_size, win_size=waveform.win_size + ) + return breathiness + + +def get_voicing( + waveform: Union[np.ndarray, DecomposedWaveform], + samplerate, f0, length, + *, hop_size=None, fft_size=None, win_size=None +): + """ + Definition of voicing: RMS of the harmonic part, in dB representation + :param waveform: All other analysis parameters will not take effect if a DeconstructedWaveform is given + :param samplerate: sampling rate + :param f0: reference f0 + :param length: Expected number of frames + :param hop_size: Frame width, in number of samples + :param fft_size: Number of fft bins + :param win_size: Window size, in number of samples + :return: voicing + """ + if not isinstance(waveform, DecomposedWaveform): + waveform = DecomposedWaveform( + waveform=waveform, samplerate=samplerate, f0=f0, + hop_size=hop_size, fft_size=fft_size, win_size=win_size + ) + waveform_sp = waveform.harmonic() + voicing = get_energy_librosa( + waveform_sp, length=length, + hop_size=waveform.hop_size, win_size=waveform.win_size + ) + return voicing + + +def get_tension_base_harmonic( + waveform: Union[np.ndarray, DecomposedWaveform], + samplerate, f0, length, + *, hop_size=None, fft_size=None, win_size=None, + domain='logit' +): + """ + Definition of tension: radio of the real harmonic part (harmonic part except the base harmonic) + to the full harmonic part. + :param waveform: All other analysis parameters will not take effect if a DeconstructedWaveform is given + :param samplerate: sampling rate + :param f0: reference f0 + :param length: Expected number of frames + :param hop_size: Frame width, in number of samples + :param fft_size: Number of fft bins + :param win_size: Window size, in number of samples + :param domain: The domain of the final ratio representation. + Can be 'ratio' (the raw ratio), 'db' (log decibel) or 'logit' (the reverse function of sigmoid) + :return: tension + """ + if not isinstance(waveform, DecomposedWaveform): + waveform = DecomposedWaveform( + waveform=waveform, samplerate=samplerate, f0=f0, + hop_size=hop_size, fft_size=fft_size, win_size=win_size + ) + waveform_h = waveform.harmonic() + waveform_base_h = waveform.harmonic(0) + energy_base_h = get_energy_librosa( + waveform_base_h, length, + hop_size=waveform.hop_size, win_size=waveform.win_size, + domain='amplitude' + ) + energy_h = get_energy_librosa( + waveform_h, length, + hop_size=waveform.hop_size, win_size=waveform.win_size, + domain='amplitude' + ) + tension = np.sqrt(np.clip(energy_h ** 2 - energy_base_h ** 2, a_min=0, a_max=None)) / (energy_h + 1e-5) + if domain == 'ratio': + tension = np.clip(tension, a_min=0, a_max=1) + elif domain == 'db': + tension = np.clip(tension, a_min=1e-5, a_max=1) + tension = librosa.amplitude_to_db(tension) + elif domain == 'logit': + tension = np.clip(tension, a_min=1e-4, a_max=1 - 1e-4) + tension = np.log(tension / (1 - tension)) + return tension + + +class SinusoidalSmoothingConv1d(torch.nn.Conv1d): + def __init__(self, kernel_size): + super().__init__( + in_channels=1, + out_channels=1, + kernel_size=max(kernel_size, 1), + bias=False, + padding='same', + padding_mode='replicate' + ) + if kernel_size > 1: + smooth_kernel = torch.sin(torch.from_numpy( + np.linspace(0, 1, kernel_size).astype(np.float32) * np.pi + )) + smooth_kernel /= smooth_kernel.sum() + else: + smooth_kernel = torch.tensor([1.0], dtype=torch.float32) + self.weight.data = smooth_kernel[None, None] diff --git a/utils/decomposed_waveform.py b/utils/decomposed_waveform.py new file mode 100644 index 0000000..cfccb0e --- /dev/null +++ b/utils/decomposed_waveform.py @@ -0,0 +1,282 @@ +from typing import Dict + +import numpy as np +import pyworld as pw +import torch +from torch.nn import functional as F + +from modules.hnsep.vr import load_sep_model +from utils import hparams +from utils.pitch_utils import interp_f0 + + +class DecomposedWaveform: + def __new__( + cls, waveform, samplerate, f0, + *, + hop_size=None, fft_size=None, win_size=None, + algorithm='world', device=None + ): + if algorithm == 'world': + obj = object.__new__(DecomposedWaveformPyWorld) + # noinspection PyProtectedMember + obj._init( + waveform=waveform, samplerate=samplerate, f0=f0, + hop_size=hop_size, fft_size=fft_size, win_size=win_size, + device=device + ) + elif algorithm == 'vr': + obj = object.__new__(DecomposedWaveformVocalRemover) + hnsep_ckpt = hparams['hnsep_ckpt'] + # noinspection PyProtectedMember + obj._init( + waveform=waveform, samplerate=samplerate, f0=f0, hop_size=hop_size, + fft_size=fft_size, win_size=win_size, model_path=hnsep_ckpt, + device=device + ) + else: + raise ValueError(f" [x] Unknown harmonic-noise separator: {algorithm}") + return obj + + @property + def samplerate(self): + raise NotImplementedError() + + @property + def hop_size(self): + raise NotImplementedError() + + @property + def fft_size(self): + raise NotImplementedError() + + @property + def win_size(self): + raise NotImplementedError() + + def harmonic(self, k: int = None) -> np.ndarray: + raise NotImplementedError() + + def aperiodic(self) -> np.ndarray: + raise NotImplementedError() + + +class DecomposedWaveformPyWorld(DecomposedWaveform): + def _init( + self, waveform, samplerate, f0, # basic parameters + *, + hop_size=None, fft_size=None, win_size=None, base_harmonic_radius=3.5, # analysis parameters + device=None # computation parameters + ): + # the source components + self._waveform = waveform + self._samplerate = samplerate + self._f0 = f0 + # extraction parameters + self._hop_size = hop_size + self._fft_size = fft_size if fft_size is not None else win_size + self._win_size = win_size if win_size is not None else win_size + self._time_step = hop_size / samplerate + self._half_width = base_harmonic_radius + self._device = ('cuda' if torch.cuda.is_available() else 'cpu') if device is None else device + # intermediate variables + self._f0_world = None + self._sp = None + self._ap = None + # final components + self._harmonic_part: np.ndarray = None + self._aperiodic_part: np.ndarray = None + self._harmonics: Dict[int, np.ndarray] = {} + + @property + def samplerate(self): + return self._samplerate + + @property + def hop_size(self): + return self._hop_size + + @property + def fft_size(self): + return self._fft_size + + @property + def win_size(self): + return self._win_size + + def _world_extraction(self): + # Add a tiny noise to the signal to avoid NaN results of D4C in rare edge cases + # References: + # - https://github.com/JeremyCCHsu/Python-Wrapper-for-World-Vocoder/issues/50 + # - https://github.com/mmorise/World/issues/116 + x = self._waveform.astype(np.double) + np.random.randn(*self._waveform.shape) * 1e-5 + samplerate = self._samplerate + f0 = self._f0.astype(np.double) + + hop_size = self._hop_size + fft_size = self._fft_size + + wav_frames = (x.shape[0] + hop_size - 1) // hop_size + f0_frames = f0.shape[0] + if f0_frames < wav_frames: + f0 = np.pad(f0, (0, wav_frames - f0_frames), mode='constant', constant_values=(f0[0], f0[-1])) + elif f0_frames > wav_frames: + f0 = f0[:wav_frames] + + time_step = hop_size / samplerate + t = np.arange(0, wav_frames) * time_step + self._f0_world = f0 + self._sp = pw.cheaptrick(x, f0, t, samplerate, fft_size=fft_size) # extract smoothed spectrogram + self._ap = pw.d4c(x, f0, t, samplerate, fft_size=fft_size) # extract aperiodicity + + def _kth_harmonic(self, k: int) -> np.ndarray: + """ + Extract the Kth harmonic (starting from 0) from the waveform. Author: @yxlllc + :param k: a non-negative integer + :return: kth_harmonic float32[T] + """ + if k in self._harmonics: + return self._harmonics[k] + + hop_size = self._hop_size + win_size = self._win_size + samplerate = self._samplerate + half_width = self._half_width + device = self._device + + waveform = torch.from_numpy(self.harmonic()).unsqueeze(0).to(device) # [B, n_samples] + n_samples = waveform.shape[1] + f0 = self._f0 * (k + 1) + pad_size = int(n_samples // hop_size) - len(f0) + 1 + if pad_size > 0: + f0 = np.pad(f0, (0, pad_size), mode='constant', constant_values=(f0[0], f0[-1])) + + f0, _ = interp_f0(f0, uv=f0 == 0) + f0 = torch.from_numpy(f0).to(device)[None, :, None] # [B, n_frames, 1] + n_f0_frames = f0.shape[1] + + phase = torch.arange(win_size, dtype=waveform.dtype, device=device) / win_size * 2 * np.pi + nuttall_window = ( + 0.355768 + - 0.487396 * torch.cos(phase) + + 0.144232 * torch.cos(2 * phase) + - 0.012604 * torch.cos(3 * phase) + ) + spec = torch.stft( + waveform, + n_fft=win_size, + win_length=win_size, + hop_length=hop_size, + window=nuttall_window, + center=True, + return_complex=True + ).permute(0, 2, 1) # [B, n_frames, n_spec] + n_spec_frames, n_specs = spec.shape[1:] + idx = torch.arange(n_specs).unsqueeze(0).unsqueeze(0).to(f0) # [1, 1, n_spec] + center = f0 * win_size / samplerate + start = torch.clip(center - half_width, min=0) + end = torch.clip(center + half_width, max=n_specs) + idx_mask = (center >= 1) & (idx >= start) & (idx < end) # [B, n_frames, n_spec] + if n_f0_frames < n_spec_frames: + idx_mask = F.pad(idx_mask, [0, 0, 0, n_spec_frames - n_f0_frames]) + spec = spec * idx_mask[:, :n_spec_frames, :] + self._harmonics[k] = torch.istft( + spec.permute(0, 2, 1), + n_fft=win_size, + win_length=win_size, + hop_length=hop_size, + window=nuttall_window, + center=True, + length=n_samples + ).squeeze(0).cpu().numpy() + + return self._harmonics[k] + + def harmonic(self, k: int = None) -> np.ndarray: + """ + Extract the full harmonic part, or the Kth harmonic if `k` is not None, from the waveform. + :param k: an integer representing the harmonic index, starting from 0 + :return: full_harmonics float32[T] or kth_harmonic float32[T] + """ + if k is not None: + return self._kth_harmonic(k) + if self._harmonic_part is not None: + return self._harmonic_part + if self._sp is None or self._ap is None: + self._world_extraction() + # noinspection PyAttributeOutsideInit + self._harmonic_part = pw.synthesize( + self._f0_world, + np.clip(self._sp * (1 - self._ap * self._ap), a_min=1e-16, a_max=None), # clip to avoid zeros + np.zeros_like(self._ap), + self._samplerate, frame_period=self._time_step * 1000 + ).astype(np.float32) # synthesize the harmonic part using the parameters + return self._harmonic_part + + def aperiodic(self) -> np.ndarray: + """ + Extract the aperiodic part from the waveform. + :return: aperiodic_part float32[T] + """ + if self._aperiodic_part is not None: + return self._aperiodic_part + if self._sp is None or self._ap is None: + self._world_extraction() + # noinspection PyAttributeOutsideInit + self._aperiodic_part = pw.synthesize( + self._f0_world, self._sp * self._ap * self._ap, np.ones_like(self._ap), + self._samplerate, frame_period=self._time_step * 1000 + ).astype(np.float32) # synthesize the aperiodic part using the parameters + return self._aperiodic_part + + +SEP_MODEL = None + + +class DecomposedWaveformVocalRemover(DecomposedWaveformPyWorld): + def _init( + self, waveform, samplerate, f0, + hop_size=None, fft_size=None, win_size=None, base_harmonic_radius=3.5, + model_path=None, device=None + ): + super()._init( + waveform, samplerate, f0, hop_size=hop_size, fft_size=fft_size, + win_size=win_size, base_harmonic_radius=base_harmonic_radius, device=device + ) + global SEP_MODEL + if SEP_MODEL is None: + SEP_MODEL = load_sep_model(model_path, self._device) + self.sep_model = SEP_MODEL + + def _infer(self): + with torch.no_grad(): + x = torch.from_numpy(self._waveform).to(self._device).reshape(1, 1, -1) + if not self.sep_model.is_mono: + x = x.repeat(1, 2, 1) + x = self.sep_model.predict_from_audio(x) + x = torch.mean(x, dim=1) + self._harmonic_part = x.squeeze().cpu().numpy() + self._aperiodic_part = self._waveform - self._harmonic_part + + def harmonic(self, k: int = None) -> np.ndarray: + """ + Extract the full harmonic part, or the Kth harmonic if `k` is not None, from the waveform. + :param k: an integer representing the harmonic index, starting from 0 + :return: full_harmonics float32[T] or kth_harmonic float32[T] + """ + if k is not None: + return self._kth_harmonic(k) + if self._harmonic_part is not None: + return self._harmonic_part + self._infer() + return self._harmonic_part + + def aperiodic(self) -> np.ndarray: + """ + Extract the aperiodic part from the waveform. + :return: aperiodic_part float32[T] + """ + if self._aperiodic_part is not None: + return self._aperiodic_part + self._infer() + return self._aperiodic_part diff --git a/utils/hparams.py b/utils/hparams.py new file mode 100644 index 0000000..e339a54 --- /dev/null +++ b/utils/hparams.py @@ -0,0 +1,146 @@ +import argparse +import os +import yaml + +try: + from lightning.pytorch.utilities.rank_zero import rank_zero_only +except ModuleNotFoundError: + def rank_zero_only(f): + return f + +from utils.multiprocess_utils import is_main_process as mp_is_main_process +global_print_hparams = True +hparams = {} + + +class Args: + def __init__(self, **kwargs): + for k, v in kwargs.items(): + self.__setattr__(k, v) + + +def override_config(old_config: dict, new_config: dict): + for k, v in new_config.items(): + if isinstance(v, dict) and k in old_config: + override_config(old_config[k], new_config[k]) + else: + old_config[k] = v + + +def set_hparams(config='', exp_name='', hparams_str='', print_hparams=True, global_hparams=True): + """ + Load hparams from multiple sources: + 1. config chain (i.e. first load base_config, then load config); + 2. if reset == True, load from the (auto-saved) complete config file ('config.yaml') + which contains all settings and do not rely on base_config; + 3. load from argument --hparams or hparams_str, as temporary modification. + """ + if config == '': + parser = argparse.ArgumentParser(description='neural music') + parser.add_argument('--config', type=str, default='', + help='location of the data corpus') + parser.add_argument('--exp_name', type=str, default='', help='exp_name') + parser.add_argument('--hparams', type=str, default='', + help='location of the data corpus') + parser.add_argument('--infer', action='store_true', help='infer') + parser.add_argument('--reset', action='store_true', help='reset hparams') + args, unknown = parser.parse_known_args() + + tmp_args_hparams = args.hparams.split(',') if args.hparams.strip() != '' else [] + tmp_args_hparams.extend(hparams_str.split(',') if hparams_str.strip() != '' else []) + args.hparams = ','.join(tmp_args_hparams) + else: + args = Args(config=config, exp_name=exp_name, hparams=hparams_str, + infer=False, reset=False) + + args_work_dir = '' + if args.exp_name != '': + args.work_dir = args.exp_name + args_work_dir = os.path.join('checkpoints', args.work_dir) + + config_chains = [] + loaded_config = set() + + def load_config(config_fn): # deep first + with open(config_fn, encoding='utf-8') as f: + hparams_ = yaml.safe_load(f) + loaded_config.add(config_fn) + if 'base_config' in hparams_: + ret_hparams = {} + if not isinstance(hparams_['base_config'], list): + hparams_['base_config'] = [hparams_['base_config']] + for c in hparams_['base_config']: + if c not in loaded_config: + if c.startswith('.'): + c = f'{os.path.dirname(config_fn)}/{c}' + c = os.path.normpath(c) + override_config(ret_hparams, load_config(c)) + override_config(ret_hparams, hparams_) + else: + ret_hparams = hparams_ + config_chains.append(config_fn) + return ret_hparams + + global hparams + assert args.config != '' or args_work_dir != '', 'Either config or exp name should be specified.' + saved_hparams = {} + ckpt_config_path = os.path.join(args_work_dir, 'config.yaml') + if args_work_dir != '' and os.path.exists(ckpt_config_path): + with open(ckpt_config_path, encoding='utf-8') as f: + saved_hparams.update(yaml.safe_load(f)) + + hparams_ = {} + if args.config != '': + hparams_.update(load_config(args.config)) + + if not args.reset: + hparams_.update(saved_hparams) + hparams_['work_dir'] = args_work_dir + + if args.hparams != "": + for new_hparam in args.hparams.split(","): + if new_hparam.strip() == "": + continue + k, v = new_hparam.split("=") + if k not in hparams_: + hparams_[k] = eval(v) + if v in ['True', 'False'] or type(hparams_[k]) == bool: + hparams_[k] = eval(v) + else: + hparams_[k] = type(hparams_[k])(v) + + @rank_zero_only + def dump_hparams(): + if args_work_dir != '' and (not os.path.exists(ckpt_config_path) or args.reset) and not args.infer: + os.makedirs(hparams_['work_dir'], exist_ok=True) + if mp_is_main_process: + # Only the main process will save the config file + with open(ckpt_config_path, 'w', encoding='utf-8') as f: + hparams_non_recursive = hparams_.copy() + hparams_non_recursive['base_config'] = [] + yaml.safe_dump(hparams_non_recursive, f, allow_unicode=True, encoding='utf-8') + dump_hparams() + + hparams_['infer'] = args.infer + if global_hparams: + hparams.clear() + hparams.update(hparams_) + + if hparams.get('exp_name') is None: + hparams['exp_name'] = args.exp_name + if hparams_.get('exp_name') is None: + hparams_['exp_name'] = args.exp_name + + @rank_zero_only + def print_out_hparams(): + global global_print_hparams + if mp_is_main_process and print_hparams and global_print_hparams and global_hparams: + print('| Hparams chains: ', config_chains) + print('| Hparams: ') + for i, (k, v) in enumerate(sorted(hparams_.items())): + print(f"\033[0;33m{k}\033[0m: {v}, ", end="\n" if i % 5 == 4 else "") + print("") + global_print_hparams = False + print_out_hparams() + + return hparams_ diff --git a/utils/indexed_datasets.py b/utils/indexed_datasets.py new file mode 100644 index 0000000..fea8c81 --- /dev/null +++ b/utils/indexed_datasets.py @@ -0,0 +1,96 @@ +import pathlib +import multiprocessing +from collections import deque + +import h5py +import torch +import numpy as np + + +class IndexedDataset: + def __init__(self, path, prefix, num_cache=0): + super().__init__() + self.path = pathlib.Path(path) / f'{prefix}.data' + if not self.path.exists(): + raise FileNotFoundError(f'IndexedDataset not found: {self.path}') + self.dset = None + self.cache = deque(maxlen=num_cache) + self.num_cache = num_cache + + def check_index(self, i): + if i < 0 or i >= len(self.dset): + raise IndexError('index out of range') + + def __del__(self): + if self.dset: + self.dset.close() + + def __getitem__(self, i): + if self.dset is None: + self.dset = h5py.File(self.path, 'r') + self.check_index(i) + if self.num_cache > 0: + for c in self.cache: + if c[0] == i: + return c[1] + item = {k: v[()].item() if v.shape == () else torch.from_numpy(v[()]) for k, v in self.dset[str(i)].items()} + if self.num_cache > 0: + self.cache.appendleft((i, item)) + return item + + def __len__(self): + if self.dset is None: + self.dset = h5py.File(self.path, 'r') + return len(self.dset) + + +class IndexedDatasetBuilder: + def __init__(self, path, prefix, allowed_attr=None, auto_increment=True): + self.path = pathlib.Path(path) / f'{prefix}.data' + self.prefix = prefix + self.dset = h5py.File(self.path, 'w') + self.counter = 0 + self.auto_increment = auto_increment + if allowed_attr is not None: + self.allowed_attr = set(allowed_attr) + else: + self.allowed_attr = None + + def add_item(self, item, item_no=None): + if self.auto_increment and item_no is not None or not self.auto_increment and item_no is None: + raise ValueError('auto_increment and provided item_no are mutually exclusive') + if self.allowed_attr is not None: + item = { + k: item[k] + for k in self.allowed_attr + if k in item + } + if self.auto_increment: + item_no = self.counter + self.counter += 1 + for k, v in item.items(): + if v is None: + continue + self.dset.create_dataset(f'{item_no}/{k}', data=v) + return item_no + + def finalize(self): + self.dset.close() + + +if __name__ == "__main__": + import random + from tqdm import tqdm + + ds_path = './checkpoints/indexed_ds_example' + size = 100 + items = [{"a": np.random.normal(size=[10000, 10]), + "b": np.random.normal(size=[10000, 10])} for i in range(size)] + builder = IndexedDatasetBuilder(ds_path, 'example') + for i in tqdm(range(size)): + builder.add_item(items[i]) + builder.finalize() + ds = IndexedDataset(ds_path, 'example') + for i in tqdm(range(10000)): + idx = random.randint(0, size - 1) + assert (ds[idx]['a'] == items[idx]['a']).all() diff --git a/utils/infer_utils.py b/utils/infer_utils.py new file mode 100644 index 0000000..7dc32c2 --- /dev/null +++ b/utils/infer_utils.py @@ -0,0 +1,104 @@ +import re + +import librosa +import numpy as np +from scipy.io import wavfile + + +def trans_f0_seq(feature_pit, transform): + feature_pit = feature_pit * 2 ** (transform / 12) + return round(feature_pit, 1) + + +def trans_key(raw_data, key): + warning_tag = False + for i in raw_data: + note_seq_list = i["note_seq"].split(" ") + new_note_seq_list = [] + for note_seq in note_seq_list: + if note_seq != "rest": + new_note_seq = librosa.midi_to_note(librosa.note_to_midi(note_seq) + key, unicode=False) + # new_note_seq = move_key(note_seq, key) + new_note_seq_list.append(new_note_seq) + else: + new_note_seq_list.append(note_seq) + i["note_seq"] = " ".join(new_note_seq_list) + if i.get("f0_seq"): + f0_seq_list = i["f0_seq"].split(" ") + f0_seq_list = [float(x) for x in f0_seq_list] + new_f0_seq_list = [] + for f0_seq in f0_seq_list: + new_f0_seq = trans_f0_seq(f0_seq, key) + new_f0_seq_list.append(str(new_f0_seq)) + i["f0_seq"] = " ".join(new_f0_seq_list) + else: + warning_tag = True + if warning_tag: + print("Warning: parts of f0_seq do not exist, please freeze the pitch line in the editor.\r\n") + return raw_data + + +def resample_align_curve(points: np.ndarray, original_timestep: float, target_timestep: float, align_length: int): + t_max = (len(points) - 1) * original_timestep + curve_interp = np.interp( + np.arange(0, t_max, target_timestep), + original_timestep * np.arange(len(points)), + points + ).astype(points.dtype) + delta_l = align_length - len(curve_interp) + if delta_l < 0: + curve_interp = curve_interp[:align_length] + elif delta_l > 0: + curve_interp = np.concatenate((curve_interp, np.full(delta_l, fill_value=curve_interp[-1])), axis=0) + return curve_interp + + +def parse_commandline_spk_mix(mix: str) -> dict: + """ + Parse speaker mix info from commandline + :param mix: Input like "opencpop" or "opencpop|qixuan" or "opencpop:0.5|qixuan:0.5" + :return: A dict whose keys are speaker names and values are proportions + """ + name_pattern = r'[0-9A-Za-z_-]+' + proportion_pattern = r'\d+(\.\d+)?' + single_pattern = rf'{name_pattern}(:{proportion_pattern})?' + assert re.fullmatch(rf'{single_pattern}(\|{single_pattern})*', mix) is not None, f'Invalid mix pattern: {mix}' + without_proportion = set() + proportion_map = {} + for component in mix.split('|'): + # If already exists + name_and_proportion = component.split(':') + assert name_and_proportion[0] not in without_proportion and name_and_proportion[0] not in proportion_map, \ + f'Duplicate speaker name: {name_and_proportion[0]}' + if ':' in component: + proportion_map[name_and_proportion[0]] = float(name_and_proportion[1]) + else: + without_proportion.add(name_and_proportion[0]) + sum_given_proportions = sum(proportion_map.values()) + assert sum_given_proportions < 1 or len(without_proportion) == 0, \ + 'Proportion of all speakers should be specified if the sum of all given proportions are larger than 1.' + for name in without_proportion: + proportion_map[name] = (1 - sum_given_proportions) / len(without_proportion) + sum_all_proportions = sum(proportion_map.values()) + assert sum_all_proportions > 0, 'Sum of all proportions should be positive.' + for name in proportion_map: + proportion_map[name] /= sum_all_proportions + return proportion_map + + +def cross_fade(a: np.ndarray, b: np.ndarray, idx: int): + result = np.zeros(idx + b.shape[0]) + fade_len = a.shape[0] - idx + np.copyto(dst=result[:idx], src=a[:idx]) + k = np.linspace(0, 1.0, num=fade_len, endpoint=True) + result[idx: a.shape[0]] = (1 - k) * a[idx:] + k * b[: fade_len] + np.copyto(dst=result[a.shape[0]:], src=b[fade_len:]) + return result + + +def save_wav(wav, path, sr, norm=False): + if norm: + wav = wav / np.abs(wav).max() + wav *= 32767 + # proposed by @dsmiller + wavfile.write(path, sr, wav.astype(np.int16)) diff --git a/utils/multiprocess_utils.py b/utils/multiprocess_utils.py new file mode 100644 index 0000000..236d94a --- /dev/null +++ b/utils/multiprocess_utils.py @@ -0,0 +1,52 @@ +import platform +import re +import traceback + +from torch.multiprocessing import Manager, Process, current_process, get_context + +is_main_process = not bool(re.match(r'((.*Process)|(SyncManager)|(.*PoolWorker))-\d+', current_process().name)) + + +def main_process_print(self, *args, sep=' ', end='\n', file=None): + if is_main_process: + print(self, *args, sep=sep, end=end, file=file) + + +def chunked_worker_run(map_func, args, results_queue=None): + for a in args: + # noinspection PyBroadException + try: + res = map_func(*a) + results_queue.put(res) + except KeyboardInterrupt: + break + except Exception: + traceback.print_exc() + results_queue.put(None) + + +def chunked_multiprocess_run(map_func, args, num_workers, q_max_size=1000): + num_jobs = len(args) + if num_jobs < num_workers: + num_workers = num_jobs + + queues = [Manager().Queue(maxsize=q_max_size // num_workers) for _ in range(num_workers)] + if platform.system().lower() != 'windows': + process_creation_func = get_context('spawn').Process + else: + process_creation_func = Process + + workers = [] + for i in range(num_workers): + worker = process_creation_func( + target=chunked_worker_run, args=(map_func, args[i::num_workers], queues[i]), daemon=True + ) + workers.append(worker) + worker.start() + + for i in range(num_jobs): + yield queues[i % num_workers].get() + + for worker in workers: + worker.join() + worker.close() diff --git a/utils/onnx_helper.py b/utils/onnx_helper.py new file mode 100644 index 0000000..5fddcfe --- /dev/null +++ b/utils/onnx_helper.py @@ -0,0 +1,421 @@ +import inspect +import re +from typing import Dict, Tuple, Union, Literal + +import onnx +import torch +from google.protobuf.internal.containers import RepeatedCompositeFieldContainer +from onnx import GraphProto, ModelProto, NodeProto, ValueInfoProto + +__verbose__: bool = True +""" +Whether log information of successful operations +""" + + +# Whether the running torch.onnx.export() exposes the `dynamo` keyword. +# Its presence is fragmented across PyTorch versions: introduced as a +# separate `torch.onnx.dynamo_export` API in 2.1, added as a kwarg on +# `torch.onnx.export` in 2.4, removed in some intermediate releases, and +# reinstated (with a True default) in 2.9. We probe the signature once at +# import time and only pass `dynamo=False` when the kwarg actually exists. +# All ONNX graph surgery in this module is written against the TorchScript +# exporter, so we want to stay on it whenever the choice is offered. +TORCHSCRIPT_EXPORT_KWARGS: Dict[str, object] = ( + {'dynamo': False} + if 'dynamo' in inspect.signature(torch.onnx.export).parameters + else {} +) + + +def _verbose(self, *args, sep=' ', end='\n', file=None): + if __verbose__: + print(self, *args, sep=sep, end=end, file=file) + + +def model_override_io_shapes( + model: ModelProto, + input_shapes: Dict[str, Tuple[Union[str, int]]] = None, + output_shapes: Dict[str, Tuple[Union[str, int]]] = None, +): + """ + Override the shapes of inputs/outputs of the model graph (in-place operation). + :param model: model to perform the operation on + :param input_shapes: a dict with keys as input/output names and values as shape tuples + :param output_shapes: the same as input_shapes + """ + def _override_shapes( + shape_list_old: RepeatedCompositeFieldContainer[ValueInfoProto], + shape_dict_new: Dict[str, Tuple[Union[str, int]]]): + for value_info in shape_list_old: + if value_info.name in shape_dict_new: + name = value_info.name + dims = value_info.type.tensor_type.shape.dim + assert len(shape_dict_new[name]) == len(dims), \ + f'Number of given and existing dimensions mismatch: {name}' + for i, dim in enumerate(shape_dict_new[name]): + if isinstance(dim, int): + dims[i].dim_param = '' + dims[i].dim_value = dim + else: + dims[i].dim_value = 0 + dims[i].dim_param = dim + _verbose(f'| override shape of \'{name}\' with {shape_dict_new[name]}') + + if input_shapes is not None: + _override_shapes(model.graph.input, input_shapes) + if output_shapes is not None: + _override_shapes(model.graph.output, output_shapes) + + +def model_reorder_io_list( + model: ModelProto, + input_or_output: Literal['input', 'output'], + target_name: str, + insert_after_name: str, +): + """ + Reorder the input of the model graph by moving the target input after the specified input (in-place operation). + If the given names are not found, the operation will be ignored. + :param model: model to perform the operation on + :param input_or_output: 'input' or 'output' to specify the list to reorder + :param target_name: the name of the input to be reordered + :param insert_after_name: the name of the input to be inserted after (None for the first) + """ + def _reorder_input(input_list: RepeatedCompositeFieldContainer[ValueInfoProto]): + nonlocal input_or_output + target_idx = -1 + insert_after_idx = -1 + for i, value_info in enumerate(input_list): + if value_info.name == target_name: + target_idx = i + if value_info.name == insert_after_name: + insert_after_idx = i + if target_idx != -1 and insert_after_idx != -1: + target = input_list.pop(target_idx) + input_list.insert(insert_after_idx + 1, target) + _verbose(f'| reorder {input_or_output}: \'{target_name}\' after \'{insert_after_name}\'') + + if input_or_output == 'input': + _reorder_input(model.graph.input) + elif input_or_output == 'output': + _reorder_input(model.graph.output) + else: + raise ValueError('Argument \'input_or_output\' should be either \'input\' or \'output\'.') + + +def model_add_prefixes( + model: ModelProto, + initializer_prefix=None, + value_info_prefix=None, + node_prefix=None, + dim_prefix=None, + ignored_pattern=None, +): + """ + Adds prefixes to names inside the given ONNX model graph, including sub-graphs (in-place operation). + This method is a complete version of the official onnx.compose.add_prefix API, which does not consider sub-graphs. + """ + initializers = set() + value_infos = set() + + def _record_initializers_and_value_infos_recursive(subgraph): + # Record names in current graph + for initializer in subgraph.initializer: + if ignored_pattern is not None and re.match(ignored_pattern, initializer.name): + continue + initializers.add(initializer.name) + for value_info in subgraph.value_info: + if ignored_pattern is not None and re.match(ignored_pattern, value_info.name): + continue + value_infos.add(value_info.name) + for node in subgraph.node: + # For 'If' and 'Loop' nodes, do recording recursively + if node.op_type == 'If': + for attr in node.attribute: + branch = onnx.helper.get_attribute_value(attr) + _record_initializers_and_value_infos_recursive(branch) + elif node.op_type == 'Loop': + for attr in node.attribute: + if attr.name == 'body': + body = onnx.helper.get_attribute_value(attr) + _record_initializers_and_value_infos_recursive(body) + + def _add_prefixes_recursive(subgraph): + # Add prefixes in current graph + if initializer_prefix is not None: + for initializer in subgraph.initializer: + if ignored_pattern is not None and re.match(ignored_pattern, initializer.name): + continue + new_name = initializer_prefix + initializer.name + _verbose('| add prefix:', initializer.name, '->', new_name) + initializer.name = new_name + + for value_info in subgraph.value_info: + if dim_prefix is not None: + for dim in value_info.type.tensor_type.shape.dim: + if dim.dim_param is None or dim.dim_param == '' or \ + ignored_pattern is not None and re.match(ignored_pattern, dim.dim_param): + continue + new_dim_param = dim_prefix + dim.dim_param + _verbose('| add prefix:', dim.dim_param, '->', new_dim_param) + dim.dim_param = new_dim_param + + if value_info_prefix is None or \ + ignored_pattern is not None and re.match(ignored_pattern, value_info.name): + continue + new_name = value_info_prefix + value_info.name + _verbose('| add prefix:', value_info.name, '->', new_name) + value_info.name = new_name + + if node_prefix is not None: + for node in subgraph.node: + if ignored_pattern is not None and re.match(ignored_pattern, node.name): + continue + new_name = node_prefix + node.name + _verbose('| add prefix:', node.name, '->', new_name) + node.name = new_name + + for node in subgraph.node: + # For 'If' and 'Loop' nodes, add prefixes recursively + if node.op_type == 'If': + for attr in node.attribute: + branch = onnx.helper.get_attribute_value(attr) + _add_prefixes_recursive(branch) + elif node.op_type == 'Loop': + for attr in node.attribute: + if attr.name == 'body': + body = onnx.helper.get_attribute_value(attr) + _add_prefixes_recursive(body) + + # For each node, rename its inputs and outputs + for io_list in [node.input, node.output]: + for i, io_value in enumerate(io_list): + if io_value in initializers and initializer_prefix is not None: + new_value = initializer_prefix + io_value + _verbose('| add prefix:', io_value, '->', new_value) + io_list[i] = new_value + if io_value in value_infos and value_info_prefix is not None: + new_value = value_info_prefix + io_value + _verbose('| add prefix:', io_value, '->', new_value) + io_list[i] = new_value + + _record_initializers_and_value_infos_recursive(model.graph) + _add_prefixes_recursive(model.graph) + + +def graph_fold_back_to_squeeze(graph: GraphProto): + """ + Fold the substructures of 'Shape', 'Gather', 'Equal', 'If' to one single 'Squeeze' node. + This can unify the different behaviors between aten::squeeze and onnx:Squeeze. + """ + def _graph_fold_back_to_squeeze_recursive(subgraph: GraphProto): + # Do folding in sub-graphs recursively. + for node in subgraph.node: + if node.op_type == 'If': + for attr in node.attribute: + branch = onnx.helper.get_attribute_value(attr) + _graph_fold_back_to_squeeze_recursive(branch) + elif node.op_type == 'Loop': + for attr in node.attribute: + if attr.name == 'body': + body = onnx.helper.get_attribute_value(attr) + _graph_fold_back_to_squeeze_recursive(body) + + # Do folding in current graph. + i_shape = 0 + while i_shape < len(subgraph.node): + if subgraph.node[i_shape].op_type == 'Shape': + shape_node = subgraph.node[i_shape] + shape_out = shape_node.output[0] + i_gather = i_shape + 1 + while i_gather < len(subgraph.node): + if subgraph.node[i_gather].op_type == 'Gather' and subgraph.node[i_gather].input[0] == shape_out: + gather_node = subgraph.node[i_gather] + gather_out = gather_node.output[0] + i_equal = i_gather + 1 + while i_equal < len(subgraph.node): + if subgraph.node[i_equal].op_type == 'Equal' and ( + subgraph.node[i_equal].input[0] == gather_out + or subgraph.node[i_equal].input[1] == gather_out): + equal_node = subgraph.node[i_equal] + equal_out = equal_node.output[0] + i_if = i_equal + 1 + while i_if < len(subgraph.node): + if subgraph.node[i_if].op_type == 'If' \ + and subgraph.node[i_if].input[0] == equal_out: + # Found the substructure to be folded. + if_node = subgraph.node[i_if] + # Create 'Squeeze' node. + squeeze_node = onnx.helper.make_node( + op_type='Squeeze', + inputs=[ + *list(shape_node.input), + # For ONNX opset >= 13, axes should be an input instead of an attribute. + gather_node.input[1] # Use 'indices' input of 'Gather' + ], + outputs=if_node.output, + name=shape_node.name.replace('Shape', 'Squeeze') + ) + # Replace 'Shape', 'Gather', 'Equal', 'If' with 'Squeeze'. + subgraph.node.insert(i_shape, squeeze_node) + subgraph.node.remove(shape_node) + subgraph.node.remove(gather_node) + subgraph.node.remove(equal_node) + subgraph.node.remove(if_node) + _verbose( + f'| fold nodes: [\'{shape_node.name}\', \'{gather_node.name}\', ' + f'\'{equal_node.name}\', \'{if_node.name}\'] -> \'{squeeze_node.name}\'') + break + i_if += 1 + else: + break + i_equal += 1 + else: + break + i_gather += 1 + else: + break + i_shape += 1 + + _graph_fold_back_to_squeeze_recursive(graph) + + +def graph_extract_conditioner_projections( + graph: GraphProto, + op_type: str, + weight_pattern: str, + alias_prefix: str +): + """ + Extract conditioner projection nodes out of the backbone wrapped by diffusion. + These nodes only need to be calculated once before entering the main denoising loop, + and can be reused inside the loop. This optimizes the performance of ONNX inference. + + :param graph: graph to perform the operation on + :param op_type: the ONNX operator type of the conditioner projections (usually 'Conv' or 'Gemm') + :param weight_pattern: a regular expression as pattern of the conditioner projection weight keys + :param alias_prefix: add prefixes to the outputs of extracted projection nodes + """ + node_dict: Dict[str, Tuple[str, NodeProto]] = {} # key: pattern match, value: (alias, node) + + def _extract_conv_nodes_recursive(subgraph: GraphProto): + to_be_removed = [] + for sub_node in subgraph.node: + if sub_node.op_type == 'If': + for attr in sub_node.attribute: + branch = onnx.helper.get_attribute_value(attr) + _extract_conv_nodes_recursive(branch) + elif sub_node.op_type == 'Loop': + for attr in sub_node.attribute: + if attr.name == 'body': + body = onnx.helper.get_attribute_value(attr) + _extract_conv_nodes_recursive(body) + elif sub_node.op_type == op_type and re.match(weight_pattern, sub_node.input[1]): + # Found node to extract + cached = node_dict.get(sub_node.input[1]) + if cached is None: + out_alias = f'{alias_prefix}.{len(node_dict)}' + node_dict[sub_node.input[1]] = (out_alias, sub_node) + else: + out_alias = cached[0] + out = sub_node.output[0] + # Search for nodes downstream the extracted node and match them to the renamed output. + for dep_node in subgraph.node: + for dep_idx, dep_input in enumerate(dep_node.input): + if dep_input == out: + dep_node.input.remove(out) + dep_node.input.insert(dep_idx, out_alias) + # Add the node to the remove list. + to_be_removed.append(sub_node) + [subgraph.node.remove(_n) for _n in to_be_removed] + + toplevel_entry_node_idx = toplevel_entry_node = None + # Find the **last** If node in toplevel graph + for i, n in enumerate(graph.node): + if n.op_type == 'If': + toplevel_entry_node_idx = i + toplevel_entry_node = n + # If not found, find the **last** Loop node in toplevel graph + if toplevel_entry_node is None: + for i, n in enumerate(graph.node): + if n.op_type == 'Loop': + toplevel_entry_node_idx = i + toplevel_entry_node = n + if toplevel_entry_node is not None: + for a in toplevel_entry_node.attribute: + # Apply to all sub-graphs + v = onnx.helper.get_attribute_value(a) + if isinstance(v, GraphProto): + _extract_conv_nodes_recursive(v) + + # Insert the extracted nodes before the first 'If' node which carries the main denoising loop. + for key in reversed(node_dict): + alias, node = node_dict[key] + # Rename output of the node. + out_name = node.output[0] + node.output.remove(node.output[0]) + node.output.insert(0, alias) + # Insert node into the main graph. + graph.node.insert(toplevel_entry_node_idx, node) + # Rename value info of the output. + for v in graph.value_info: + if v.name == out_name: + v.name = alias + break + _verbose(f'| extract conditioner projection: \'{node.name}\'') + + +def graph_remove_unused_values(graph: GraphProto): + used_values = set() + + def _record_usage_recursive(subgraph: GraphProto): + for node in subgraph.node: + # For 'If' and 'Loop' nodes, do recording recursively + if node.op_type == 'If': + for attr in node.attribute: + branch = onnx.helper.get_attribute_value(attr) + _record_usage_recursive(branch) + elif node.op_type == 'Loop': + for attr in node.attribute: + if attr.name == 'body': + body = onnx.helper.get_attribute_value(attr) + _record_usage_recursive(body) + # For each node, record its inputs and outputs + for io_list in [node.input, node.output]: + for io_value in io_list: + used_values.add(io_value) + + def _clean_unused_recursively(subgraph): + # Do cleaning in sub-graphs recursively. + for node in subgraph.node: + if node.op_type == 'If': + for attr in node.attribute: + branch = onnx.helper.get_attribute_value(attr) + _clean_unused_recursively(branch) + elif node.op_type == 'Loop': + for attr in node.attribute: + if attr.name == 'body': + body = onnx.helper.get_attribute_value(attr) + _clean_unused_recursively(body) + + # Do cleaning in current graph. + i = 0 + while i < len(subgraph.initializer): + name = subgraph.initializer[i].name + if name not in used_values: + subgraph.initializer.pop(i) + _verbose(f'| remove unused initializer: {name}') + else: + i += 1 + i = 0 + while i < len(subgraph.value_info): + name = subgraph.value_info[i].name + if name not in used_values: + subgraph.value_info.pop(i) + _verbose(f'| remove unused value info: {name}') + else: + i += 1 + + _record_usage_recursive(graph) + _clean_unused_recursively(graph) diff --git a/utils/phoneme_utils.py b/utils/phoneme_utils.py new file mode 100644 index 0000000..8b2a5ad --- /dev/null +++ b/utils/phoneme_utils.py @@ -0,0 +1,210 @@ +import json +import pathlib +from typing import Dict, List, Union + +from utils.hparams import hparams + +PAD_INDEX = 0 + + +class PhonemeDictionary: + def __init__( + self, + dictionaries: Dict[str, pathlib.Path], + extra_phonemes: List[str] = None, + merged_groups: List[List[str]] = None + ): + # Step 1: Collect all phonemes + all_phonemes = {'AP', 'SP'} + if extra_phonemes: + for ph in extra_phonemes: + if '/' in ph: + lang, name = ph.split('/', maxsplit=1) + if lang not in dictionaries: + raise ValueError( + f"Invalid phoneme tag '{ph}' in extra phonemes: " + f"unrecognized language name '{lang}'." + ) + if name in all_phonemes: + raise ValueError( + f"Invalid phoneme tag '{ph}' in extra phonemes: " + f"short name conflicts with existing tag." + ) + all_phonemes.add(ph) + self._multi_langs = len(dictionaries) > 1 + for lang, dict_path in dictionaries.items(): + with open(dict_path, 'r', encoding='utf8') as dict_file: + for line in dict_file: + _, phonemes = line.strip().split('\t') + phonemes = phonemes.split() + for phoneme in phonemes: + if '/' in phoneme: + raise ValueError( + f"Invalid phoneme tag '{phoneme}' in dictionary '{dict_path}': " + f"should not contain the reserved character '/'." + ) + if phoneme in all_phonemes: + continue + if self._multi_langs: + all_phonemes.add(f'{lang}/{phoneme}') + else: + all_phonemes.add(phoneme) + # Step 2: Parse merged phoneme groups + if merged_groups is None: + merged_groups = [] + else: + _merged_groups = [] + for group in merged_groups: + _group = [] + for phoneme in group: + if '/' in phoneme: + lang, name = phoneme.split('/', maxsplit=1) + if lang not in dictionaries: + raise ValueError( + f"Invalid phoneme tag '{phoneme}' in merged group: " + f"unrecognized language name '{lang}'." + ) + if self._multi_langs: + element = phoneme + else: + element = name + else: + element = phoneme + if element not in all_phonemes: + raise ValueError( + f"Invalid phoneme tag '{phoneme}' in merged group: " + f"not found in phoneme set." + ) + _group.append(element) + _merged_groups.append(_group) + merged_groups = [set(phones) for phones in _merged_groups if len(phones) > 1] + # Step 3: Build phoneme index + merged_phonemes_inverted_index = {} + for idx, group in enumerate(merged_groups): + other_idx = None + for phoneme in group: + if phoneme in merged_phonemes_inverted_index: + other_idx = merged_phonemes_inverted_index[phoneme] + break + target_idx = idx if other_idx is None else other_idx + for phoneme in group: + merged_phonemes_inverted_index[phoneme] = target_idx + if other_idx is not None: + merged_groups[other_idx] |= group + group.clear() + phone_to_id = {} + id_to_phone = [] + cross_lingual_phonemes = set() + idx = 1 + for phoneme in sorted(all_phonemes): + if phoneme in merged_phonemes_inverted_index: + has_assigned = True + for alias in merged_groups[merged_phonemes_inverted_index[phoneme]]: + if alias not in phone_to_id: + has_assigned = False + phone_to_id[alias] = idx + if not has_assigned: + merged_group = sorted(merged_groups[merged_phonemes_inverted_index[phoneme]]) + merged_from_langs = { + (alias.split('/', maxsplit=1)[0] if '/' in alias else None) + for alias in merged_group + } + id_to_phone.append(tuple(merged_group)) + idx += 1 + if len(merged_from_langs) > 1: + cross_lingual_phonemes.update(ph for ph in merged_group if '/' in ph) + else: + phone_to_id[phoneme] = idx + id_to_phone.append(phoneme) + idx += 1 + self._phone_to_id: Dict[str, int] = phone_to_id + self._id_to_phone: List[Union[str, tuple]] = id_to_phone + self._cross_lingual_phonemes = frozenset(cross_lingual_phonemes) + + @property + def vocab_size(self): + return len(self._id_to_phone) + 1 + + def __len__(self): + return self.vocab_size + + @property + def cross_lingual_phonemes(self): + return self._cross_lingual_phonemes + + def is_cross_lingual(self, phone): + return phone in self._cross_lingual_phonemes + + def encode_one(self, phone, lang=None): + if '/' in phone: + lang, phone = phone.split('/', maxsplit=1) + if lang is None or not self._multi_langs or phone in self._phone_to_id: + return self._phone_to_id[phone] + if '/' not in phone: + phone = f'{lang}/{phone}' + return self._phone_to_id[phone] + + def encode(self, sentence, lang=None): + phones = sentence.strip().split() if isinstance(sentence, str) else sentence + return [self.encode_one(phone, lang=lang) for phone in phones] + + def decode_one(self, idx, lang=None, scalar=True): + if idx <= 0: + return None + phone = self._id_to_phone[idx - 1] + if not scalar or isinstance(phone, str): + return phone + if lang is None or not self._multi_langs: + return phone[0] + for alias in phone: + if alias.startswith(f'{lang}/'): + return alias + return phone[0] + + def decode(self, ids, lang=None, scalar=True): + ids = list(ids) + return ' '.join([ + self.decode_one(i, lang=lang, scalar=scalar) + for i in ids + if i >= 1 + ]) + + def dump(self, filename): + with open(filename, 'w', encoding='utf8') as fp: + json.dump(self._phone_to_id, fp, ensure_ascii=False, indent=2) + + +_dictionary = None + + +def load_phoneme_dictionary() -> PhonemeDictionary: + if _dictionary is not None: + return _dictionary + config_dicts = hparams.get('dictionaries') + if config_dicts is not None: + dicts = {} + for lang, config_dict_path in config_dicts.items(): + dict_path = pathlib.Path(hparams['work_dir']) / f'dictionary-{lang}.txt' + if not dict_path.exists(): + dict_path = pathlib.Path(config_dict_path) + if not dict_path.exists(): + raise FileNotFoundError( + f"Could not locate dictionary for language '{lang}'." + ) + dicts[lang] = dict_path + else: + dict_path = pathlib.Path(hparams['work_dir']) / 'dictionary.txt' + if not dict_path.exists(): + dict_path = pathlib.Path(hparams['dictionary']) + if not dict_path.exists(): + raise FileNotFoundError( + f"Could not locate dictionary file." + ) + dicts = { + 'default': dict_path + } + return PhonemeDictionary( + dictionaries=dicts, + extra_phonemes=hparams.get('extra_phonemes'), + merged_groups=hparams.get('merged_phoneme_groups') + ) diff --git a/utils/pitch_utils.py b/utils/pitch_utils.py new file mode 100644 index 0000000..57ae943 --- /dev/null +++ b/utils/pitch_utils.py @@ -0,0 +1,27 @@ +import numpy as np + + +def norm_f0(f0, uv=None): + if uv is None: + uv = f0 == 0 + f0 = np.log2(f0 + uv) # avoid arithmetic error + f0[uv] = -np.inf + return f0 + + +def interp_f0(f0, uv=None): + if uv is None: + uv = f0 == 0 + f0 = norm_f0(f0, uv) + if uv.any() and not uv.all(): + f0[uv] = np.interp(np.where(uv)[0], np.where(~uv)[0], f0[~uv]) + return denorm_f0(f0, uv=None), uv + + +def denorm_f0(f0, uv, pitch_padding=None): + f0 = 2 ** f0 + if uv is not None: + f0[uv > 0] = 0 + if pitch_padding is not None: + f0[pitch_padding] = 0 + return f0 diff --git a/utils/plot.py b/utils/plot.py new file mode 100644 index 0000000..aebe56a --- /dev/null +++ b/utils/plot.py @@ -0,0 +1,122 @@ +import matplotlib.pyplot as plt +import numpy as np +import torch +from matplotlib.ticker import MultipleLocator + + +def spec_to_figure(spec, vmin=None, vmax=None, title=None): + if isinstance(spec, torch.Tensor): + spec = spec.cpu().numpy() + fig = plt.figure(figsize=(12, 9)) + plt.pcolormesh(spec.T, vmin=vmin, vmax=vmax) + if title is not None: + plt.title(title, fontsize=15) + plt.tight_layout() + return fig + + +def dur_to_figure(dur_gt, dur_pred, txt, title=None): + if isinstance(dur_gt, torch.Tensor): + dur_gt = dur_gt.cpu().numpy() + if isinstance(dur_pred, torch.Tensor): + dur_pred = dur_pred.cpu().numpy() + dur_gt = dur_gt.astype(np.int64) + dur_pred = dur_pred.astype(np.int64) + dur_gt = np.cumsum(dur_gt) + dur_pred = np.cumsum(dur_pred) + width = max(12, min(48, len(txt) // 2)) + fig = plt.figure(figsize=(width, 8)) + plt.vlines(dur_pred, 12, 22, colors='r', label='pred') + plt.vlines(dur_gt, 0, 10, colors='b', label='gt') + for i in range(len(txt)): + shift = (i % 8) + 1 + plt.text((dur_pred[i-1] + dur_pred[i]) / 2 if i > 0 else dur_pred[i] / 2, 12 + shift, txt[i], + size=16, horizontalalignment='center') + plt.text((dur_gt[i-1] + dur_gt[i]) / 2 if i > 0 else dur_gt[i] / 2, shift, txt[i], + size=16, horizontalalignment='center') + plt.plot([dur_pred[i], dur_gt[i]], [12, 10], color='black', linewidth=2, linestyle=':') + plt.yticks([]) + plt.xlim(0, max(dur_pred[-1], dur_gt[-1])) + plt.legend() + if title is not None: + plt.title(title, fontsize=15) + plt.tight_layout() + return fig + + +def pitch_note_to_figure(pitch_gt, pitch_pred=None, note_midi=None, note_dur=None, note_rest=None, title=None): + if isinstance(pitch_gt, torch.Tensor): + pitch_gt = pitch_gt.cpu().numpy() + if isinstance(pitch_pred, torch.Tensor): + pitch_pred = pitch_pred.cpu().numpy() + if isinstance(note_midi, torch.Tensor): + note_midi = note_midi.cpu().numpy() + if isinstance(note_dur, torch.Tensor): + note_dur = note_dur.cpu().numpy() + if isinstance(note_rest, torch.Tensor): + note_rest = note_rest.cpu().numpy() + fig = plt.figure() + if note_midi is not None and note_dur is not None: + note_dur_acc = np.cumsum(note_dur) + if note_rest is None: + note_rest = np.zeros_like(note_midi, dtype=np.bool_) + for i in range(len(note_midi)): + # if note_rest[i]: + # continue + plt.gca().add_patch( + plt.Rectangle( + xy=(note_dur_acc[i-1] if i > 0 else 0, note_midi[i] - 0.5), + width=note_dur[i], height=1, + edgecolor='grey', fill=False, + linewidth=1.5, linestyle='--' if note_rest[i] else '-' + ) + ) + plt.plot(pitch_gt, color='b', label='gt') + if pitch_pred is not None: + plt.plot(pitch_pred, color='r', label='pred') + plt.gca().yaxis.set_major_locator(MultipleLocator(1)) + plt.grid(axis='y') + plt.legend() + if title is not None: + plt.title(title, fontsize=15) + plt.tight_layout() + return fig + + +def curve_to_figure(curve_gt, curve_pred=None, curve_base=None, grid=None, title=None): + if isinstance(curve_gt, torch.Tensor): + curve_gt = curve_gt.cpu().numpy() + if isinstance(curve_pred, torch.Tensor): + curve_pred = curve_pred.cpu().numpy() + if isinstance(curve_base, torch.Tensor): + curve_base = curve_base.cpu().numpy() + fig = plt.figure() + if curve_base is not None: + plt.plot(curve_base, color='g', label='base') + plt.plot(curve_gt, color='b', label='gt') + if curve_pred is not None: + plt.plot(curve_pred, color='r', label='pred') + if grid is not None: + plt.gca().yaxis.set_major_locator(MultipleLocator(grid)) + plt.grid(axis='y') + plt.legend() + if title is not None: + plt.title(title, fontsize=15) + plt.tight_layout() + return fig + + +def distribution_to_figure(title, x_label, y_label, items: list, values: list, zoom=0.8, rotate=False): + fig = plt.figure(figsize=(int(len(items) * zoom), 10)) + plt.bar(x=items, height=values) + plt.tick_params(labelsize=15) + plt.xlim(-1, len(items)) + for a, b in zip(items, values): + plt.text(a, b, b, ha='center', va='bottom', fontsize=15) + plt.grid() + plt.title(title, fontsize=30) + plt.xlabel(x_label, fontsize=20) + plt.ylabel(y_label, fontsize=20) + if rotate: + fig.autofmt_xdate(rotation=45) + return fig diff --git a/utils/training_utils.py b/utils/training_utils.py new file mode 100644 index 0000000..e906f77 --- /dev/null +++ b/utils/training_utils.py @@ -0,0 +1,447 @@ +import math +import re +from copy import deepcopy +from pathlib import Path +from typing import Dict + +import lightning.pytorch as pl +import numpy as np +import torch +from lightning.fabric.loggers.tensorboard import _TENSORBOARD_AVAILABLE +from lightning.pytorch.callbacks import ModelCheckpoint, TQDMProgressBar +from lightning.pytorch.loggers import TensorBoardLogger +from lightning.pytorch.utilities.rank_zero import rank_zero_info, rank_zero_only +from torch.optim.lr_scheduler import LambdaLR +from torch.utils.data.distributed import Sampler + +import utils +from utils.hparams import hparams + + +# ==========LR schedulers========== + +class RSQRTSchedule(object): + def __init__(self, optimizer): + super().__init__() + self.optimizer = optimizer + self.constant_lr = hparams['lr'] + self.warmup_updates = hparams['warmup_updates'] + self.hidden_size = hparams['hidden_size'] + self.lr = hparams['lr'] + for param_group in optimizer.param_groups: + param_group['lr'] = self.lr + self.step(0) + + def step(self, num_updates): + constant_lr = self.constant_lr + warmup = min(num_updates / self.warmup_updates, 1.0) + rsqrt_decay = max(self.warmup_updates, num_updates) ** -0.5 + rsqrt_hidden = self.hidden_size ** -0.5 + self.lr = max(constant_lr * warmup * rsqrt_decay * rsqrt_hidden, 1e-7) + for param_group in self.optimizer.param_groups: + param_group['lr'] = self.lr + return self.lr + + def get_lr(self): + return self.optimizer.param_groups[0]['lr'] + + +class WarmupCosineSchedule(LambdaLR): + """ Linear warmup and then cosine decay. + Linearly increases learning rate from 0 to 1 over `warmup_steps` training steps. + Decreases learning rate from 1. to 0. over remaining `t_total - warmup_steps` steps following a cosine curve. + If `cycles` (default=0.5) is different from default, learning rate follows cosine function after warmup. + `eta_min` (default=0.0) corresponds to the minimum learning rate reached by the scheduler. + """ + + def __init__(self, optimizer, warmup_steps, t_total, warmup_min=0.0, eta_min=0.0, cycles=.5, last_epoch=-1): + self.warmup_steps = warmup_steps + self.t_total = t_total + self.eta_min = eta_min + self.cycles = cycles + self.warmup_min = warmup_min + super(WarmupCosineSchedule, self).__init__(optimizer, self.lr_lambda, last_epoch=last_epoch) + + def lr_lambda(self, step): + if step < self.warmup_steps: + progress = step / max(1.0, self.warmup_steps) + return self.warmup_min + progress * (1.0 - self.warmup_min) + # progress after warmup + progress = (step - self.warmup_steps) / max(1, self.t_total - self.warmup_steps) + return max(self.eta_min, 0.5 * (1. + math.cos(math.pi * self.cycles * 2.0 * progress))) + + +# ==========Torch samplers========== + +class DsBatchSampler(Sampler): + def __init__(self, dataset, max_batch_frames, max_batch_size, sub_indices=None, + num_replicas=None, rank=None, + required_batch_count_multiple=1, batch_by_size=True, sort_by_similar_size=True, + size_reversed=False, shuffle_sample=False, shuffle_batch=False, + disallow_empty_batch=True, pad_batch_assignment=True, seed=0, drop_last=False) -> None: + if rank >= num_replicas or rank < 0: + raise ValueError( + f"Invalid rank {rank}, rank should be in the interval [0, {num_replicas - 1}]") + self.dataset = dataset + self.max_batch_frames = max_batch_frames + self.max_batch_size = max_batch_size + self.sub_indices = sub_indices + self.num_replicas = num_replicas + self.rank = rank + self.required_batch_count_multiple = required_batch_count_multiple + self.batch_by_size = batch_by_size + self.sort_by_similar_size = sort_by_similar_size + self.size_reversed = size_reversed + self.shuffle_sample = shuffle_sample + self.shuffle_batch = shuffle_batch + self.disallow_empty_batch = disallow_empty_batch + self.pad_batch_assignment = pad_batch_assignment + self.seed = seed + self.drop_last = drop_last + self.epoch = 0 + self.batches = None + self.formed = None + + def __form_batches(self): + if self.formed == self.epoch + self.seed: + return + rng = np.random.default_rng() + # Create indices + if self.shuffle_sample: + if self.sub_indices is not None: + rng.shuffle(self.sub_indices) + indices = np.array(self.sub_indices) + else: + indices = rng.permutation(len(self.dataset)) + + if self.sort_by_similar_size: + grid = int(hparams['sampler_frame_count_grid']) + assert grid > 0 + sizes = (np.round(np.array(self.dataset.sizes)[indices] / grid) * grid).clip(grid, None) + sizes *= (-1 if self.size_reversed else 1) + indices = indices[np.argsort(sizes, kind='mergesort')] + + indices = indices.tolist() + else: + indices = self.sub_indices if self.sub_indices is not None else list(range(len(self.dataset))) + + # Batching + if self.batch_by_size: + batches = utils.batch_by_size( + indices, self.dataset.num_frames, + max_batch_frames=self.max_batch_frames, + max_batch_size=self.max_batch_size + ) + else: + batches = [indices[i:i + self.max_batch_size] for i in range(0, len(indices), self.max_batch_size)] + if len(batches) < self.num_replicas and self.disallow_empty_batch: + raise RuntimeError("There is not enough batch to assign to each node.") + + # Either drop_last or separate the leftovers. + floored_total_batch_count = (len(batches) // self.num_replicas) * self.num_replicas + if self.drop_last and len(batches) > floored_total_batch_count: + batches = batches[:floored_total_batch_count] + leftovers = [] + if len(batches) == 0: + raise RuntimeError("There is no batch left after dropping the last batch.") + elif self.shuffle_batch: + leftovers = (rng.permutation(len(batches) - floored_total_batch_count) + floored_total_batch_count).tolist() + else: + leftovers = list(range(floored_total_batch_count, len(batches))) + + # Initial batch assignment to current rank. + batch_assignment = np.arange(floored_total_batch_count).reshape(-1, self.num_replicas).transpose() + if self.shuffle_batch: + batch_assignment = rng.permuted(batch_assignment, axis=0)[self.rank].tolist() + else: + batch_assignment = batch_assignment[self.rank].tolist() + + # Assign leftovers or pad the batch assignment. + floored_batch_count = len(batch_assignment) + if self.rank < len(leftovers): + batch_assignment.append(leftovers[self.rank]) + floored_batch_count += 1 + elif len(leftovers) > 0 and self.pad_batch_assignment: + if not batch_assignment: + raise RuntimeError("Cannot pad empty batch assignment.") + batch_assignment.append(batch_assignment[self.epoch % floored_batch_count]) + # Ensure the batch count is multiple of required_batch_count_multiple. + if self.required_batch_count_multiple > 1 and len(batch_assignment) % self.required_batch_count_multiple != 0: + ceiled_batch_count = math.ceil( + len(batch_assignment) / self.required_batch_count_multiple + ) * self.required_batch_count_multiple + for i in range(ceiled_batch_count - len(batch_assignment)): + batch_assignment.append( + batch_assignment[(i + self.epoch * self.required_batch_count_multiple) % floored_batch_count]) + + if batch_assignment: + self.batches = [deepcopy(batches[i]) for i in batch_assignment] + else: + self.batches = [[]] + self.formed = self.epoch + self.seed + + del indices + del batches + del batch_assignment + + def __iter__(self): + self.__form_batches() + return iter(self.batches) + + def __len__(self): + self.__form_batches() + if self.batches is None: + raise RuntimeError("Batches are not initialized. Call __form_batches first.") + return len(self.batches) + + def set_epoch(self, epoch): + self.epoch = epoch + self.__form_batches() + + + +# ==========PL related========== + +class DsModelCheckpoint(ModelCheckpoint): + def __init__( + self, + *args, + permanent_ckpt_start, + permanent_ckpt_interval, + **kwargs + ): + super().__init__(*args, **kwargs) + self.permanent_ckpt_start = permanent_ckpt_start or 0 + self.permanent_ckpt_interval = permanent_ckpt_interval or 0 + self.enable_permanent_ckpt = self.permanent_ckpt_start > 0 and self.permanent_ckpt_interval > 9 + + self._verbose = self.verbose + self.verbose = False + + def state_dict(self): + ret = super().state_dict() + ret.pop('dirpath') + return ret + + def load_state_dict(self, state_dict) -> None: + super().load_state_dict(state_dict) + + def on_validation_end(self, trainer: "pl.Trainer", pl_module: "pl.LightningModule") -> None: + if trainer.lightning_module.skip_immediate_ckpt_save: + trainer.lightning_module.skip_immediate_ckpt_save = False + return + self.last_val_step = trainer.global_step + super().on_validation_end(trainer, pl_module) + + def _update_best_and_save( + self, current: torch.Tensor, trainer: "pl.Trainer", monitor_candidates: Dict[str, torch.Tensor] + ) -> None: + k = len(self.best_k_models) + 1 if self.save_top_k == -1 else self.save_top_k + + del_filepath = None + _op = max if self.mode == "min" else min + while len(self.best_k_models) > k and k > 0: + self.kth_best_model_path = _op(self.best_k_models, key=self.best_k_models.get) # type: ignore[arg-type] + self.kth_value = self.best_k_models[self.kth_best_model_path] + + del_filepath = self.kth_best_model_path + self.best_k_models.pop(del_filepath) + filepath = self._get_metric_interpolated_filepath_name(monitor_candidates, trainer, del_filepath) + if del_filepath is not None and filepath != del_filepath: + self._remove_checkpoint(trainer, del_filepath) + + if len(self.best_k_models) == k and k > 0: + self.kth_best_model_path = _op(self.best_k_models, key=self.best_k_models.get) # type: ignore[arg-type] + self.kth_value = self.best_k_models[self.kth_best_model_path] + + super()._update_best_and_save(current, trainer, monitor_candidates) + + def _save_checkpoint(self, trainer: "pl.Trainer", filepath: str) -> None: + filepath = (Path(self.dirpath) / Path(filepath).name).resolve() + super()._save_checkpoint(trainer, str(filepath)) + if self._verbose: + relative_path = filepath + # Avoid using `is_relative_to` because Python 3.8 does not support this + if Path('.').resolve() in filepath.parents: + relative_path = filepath.relative_to(Path('.').resolve()) + rank_zero_info(f'Checkpoint {relative_path} saved.') + + def _remove_checkpoint(self, trainer: "pl.Trainer", filepath: str): + filepath = (Path(self.dirpath) / Path(filepath).name).resolve() + relative_path = filepath + # Avoid using `is_relative_to` because Python 3.8 does not support this + if Path('.').resolve() in filepath.parents: + relative_path = filepath.relative_to(Path('.').resolve()) + search = re.search(r'steps_\d+', relative_path.stem) + if search: + step = int(search.group(0)[6:]) + if self.enable_permanent_ckpt and \ + step >= self.permanent_ckpt_start and \ + (step - self.permanent_ckpt_start) % self.permanent_ckpt_interval == 0: + rank_zero_info(f'Checkpoint {relative_path} is now permanent.') + return + super()._remove_checkpoint(trainer, filepath) + if self._verbose: + rank_zero_info(f'Removed checkpoint {relative_path}.') + + +def get_latest_checkpoint_path(work_dir): + if not isinstance(work_dir, Path): + work_dir = Path(work_dir) + if not work_dir.exists(): + return None + + last_step = -1 + last_ckpt_name = None + + for ckpt in work_dir.glob('model_ckpt_steps_*.ckpt'): + search = re.search(r'steps_\d+', ckpt.name) + if search: + step = int(search.group(0)[6:]) + if step > last_step: + last_step = step + last_ckpt_name = str(ckpt) + + return last_ckpt_name if last_ckpt_name is not None else None + + +class DsTQDMProgressBar(TQDMProgressBar): + def __init__(self, refresh_rate: int = 1, process_position: int = 0, show_steps: bool = True): + super().__init__(refresh_rate, process_position) + self.show_steps = show_steps + + def get_metrics(self, trainer, model): + items = super().get_metrics(trainer, model) + if 'batch_size' in items: + items['batch_size'] = int(items['batch_size']) + if self.show_steps: + items['steps'] = str(trainer.global_step) + for k, v in items.items(): + if isinstance(v, float): + if np.isnan(v): + items[k] = 'nan' + elif 0.001 <= v < 10: + items[k] = np.format_float_positional(v, unique=True, precision=5, trim='-') + elif 0.00001 <= v < 0.001: + if len(np.format_float_positional(v, unique=True, precision=8, trim='-')) > 8: + items[k] = np.format_float_scientific(v, precision=3, unique=True, min_digits=2, trim='-') + else: + items[k] = np.format_float_positional(v, unique=True, precision=5, trim='-') + elif v < 0.00001: + items[k] = np.format_float_scientific(v, precision=3, unique=True, min_digits=2, trim='-') + items.pop("v_num", None) + return items + + +class DsTensorBoardLogger(TensorBoardLogger): + @property + def all_rank_experiment(self): + if rank_zero_only.rank == 0: + return self.experiment + if hasattr(self, "_all_rank_experiment") and self._all_rank_experiment is not None: + return self._all_rank_experiment + + assert rank_zero_only.rank != 0 + if self.root_dir: + self._fs.makedirs(self.root_dir, exist_ok=True) + + if _TENSORBOARD_AVAILABLE: + from torch.utils.tensorboard import SummaryWriter + else: + from tensorboardX import SummaryWriter # type: ignore[no-redef] + + self._all_rank_experiment = SummaryWriter(log_dir=self.log_dir, **self._kwargs) + return self._all_rank_experiment + + def finalize(self, status: str) -> None: + if rank_zero_only.rank == 0: + super().finalize(status) + elif hasattr(self, "_all_rank_experiment") and self._all_rank_experiment is not None: + self.all_rank_experiment.flush() + self.all_rank_experiment.close() + + def __getstate__(self): + state = super().__getstate__() + if "_all_rank_experiment" in state: + del state["_all_rank_experiment"] + return state + +def get_strategy( + devices="auto", + num_nodes=1, + accelerator="auto", + strategy={"name": "auto"}, + precision=None, +): + from lightning.fabric.utilities.device_parser import _determine_root_gpu_device + from lightning.pytorch.accelerators import AcceleratorRegistry + from lightning.pytorch.accelerators.cuda import CUDAAccelerator + from lightning.pytorch.accelerators.mps import MPSAccelerator + from lightning.pytorch.strategies import Strategy, SingleDeviceStrategy, StrategyRegistry + from lightning.pytorch.trainer.connectors import accelerator_connector + from lightning.pytorch.utilities.rank_zero import rank_zero_warn + class _DsAcceleratorConnector(accelerator_connector._AcceleratorConnector): + def __init__(self) -> None: + accelerator_connector._register_external_accelerators_and_strategies() + self._registered_strategies = StrategyRegistry.available_strategies() + self._accelerator_types = AcceleratorRegistry.available_accelerators() + self._parallel_devices = [] + self._check_config_and_set_final_flags( + strategy=strategy["name"], + accelerator=accelerator, + precision=precision, + plugins=[], + sync_batchnorm=False, + ) + if self._accelerator_flag == "auto": + self._accelerator_flag = self._choose_auto_accelerator() + elif self._accelerator_flag == "gpu": + self._accelerator_flag = self._choose_gpu_accelerator_backend() + self._check_device_config_and_set_final_flags(devices=devices, num_nodes=num_nodes) + self._set_parallel_devices_and_init_accelerator() + if self._strategy_flag == "auto": + self._strategy_flag = self._choose_strategy() + self._check_strategy_and_fallback() + self._init_strategy() + for k in ["colossalai", "bagua", "hpu", "hpu_parallel", "hpu_single", "ipu", "ipu_strategy"]: + if k in StrategyRegistry: + StrategyRegistry.remove(k) + + def _init_strategy(self) -> None: + assert isinstance(self._strategy_flag, (str, Strategy)) + if isinstance(self._strategy_flag, str): + if self._strategy_flag not in StrategyRegistry: + available_names = ", ".join(sorted(StrategyRegistry.available_strategies())) or "none" + raise KeyError(f"Invalid strategy name {strategy['name']}. Available names: {available_names}") + data = StrategyRegistry[self._strategy_flag] + params = {} + # Replicate additional logic for _choose_strategy when dealing with single device strategies + if issubclass(data["strategy"], SingleDeviceStrategy): + if self._accelerator_flag == "hpu": + params = {"device": torch.device("hpu")} + elif self._accelerator_flag == "tpu": + params = {"device": self._parallel_devices[0]} + elif data["strategy"] is SingleDeviceStrategy: + if isinstance(self._accelerator_flag, (CUDAAccelerator, MPSAccelerator)) or ( + isinstance(self._accelerator_flag, str) and self._accelerator_flag in ("cuda", "gpu", "mps") + ): + params = {"device": _determine_root_gpu_device(self._parallel_devices)} + else: + params = {"device": "cpu"} + else: + raise NotImplementedError + params.update(data["init_params"]) + params.update({k: v for k, v in strategy.items() if k != "name"}) + self.strategy = data["strategy"](**utils.filter_kwargs(params, data["strategy"])) + elif isinstance(self._strategy_flag, SingleDeviceStrategy): + params = {"device": self._strategy_flag.root_device} + params.update({k: v for k, v in strategy.items() if k != "name"}) + self.strategy = self._strategy_flag.__class__(**utils.filter_kwargs(params, self._strategy_flag.__class__)) + else: + rank_zero_warn( + f"Inferred strategy {self._strategy_flag.__class__.__name__} cannot take custom configurations." + f"To use custom configurations, please specify the strategy name explicitly." + ) + self.strategy = self._strategy_flag + + return _DsAcceleratorConnector().strategy