iVocaloid论坛

标题: 【Rocaloid经验总述】【四】关于RSC和RSCCommon [打印本页]

作者: Zleepwalking    时间: 2013/5/29 06:48     标题: 【Rocaloid经验总述】【四】关于RSC和RSCCommon

本帖最后由 Zleepwalking 于 2015/3/22 18:27 编辑

2015.3
本贴所包含信息时间过于久远,已废弃。出于保留项目历史原因在此搁置。

本篇主要讲RSC文件格式和RSCCommon(RSC读写、RSC转CVS、发音参数生成)

RSC是什么?


RSC作用类似于Vocaloid的VSQ或VSQX。

存贮内容:曲谱、歌词、编辑器设定、参数变化。
RSC基于RDL标准。
解剖一只活生生的RSC


这是了解RSC的最快方法,只用看三分之一你就懂了。

#RSC 2.0 ←文件头,版本号2.0
RSC ←RSC结构开始
        Author Sleepwalking ←作者是Sleepwalking
        Information RSC test file. \0 ←备注信息:RSC test file. 以\0结束。
        SegmentListQ 4 ←有四个唱词
        SegmentList ←唱词表开始
                Segment ←第一个唱词开始
                        Position 0 ←开始位置是0(位置是编辑器内部单位,即音符距编辑器最左边距离,不是时间)
                        Duration 0.4 ←长度是0.4,单位同Position
                        Lyric chu ←歌词是chu
                        Effects ←唱词效果,下面和CVS中的Effects相似,不过没有CVS的EnvelopeList\OpennessList\ElistEnabled
                                PElopeEnabled True
                                PresetedEnvelope ADSR
                                ADSR Amplitude 1 Attack 0 Decline 0.2 Release 0.1 End
                        End ←唱词效果定义结束
                        StartFreq 270 ←这个词开始时频率为270HZ
                        EndFreq 270 ←这个词结束时频率为270HZ
                End ←第一个唱词定义结束
                Segment ←第二个唱词定义开始
                        Position 0.4
                        Duration 0.4
                        Lyric yin
                        Effects
                                PElopeEnabled True
                                PresetedEnvelope ADSR
                                ADSR Amplitude 1 Attack 0 Decline 0.2 Release 0.1 End
                        End
                        StartFreq 270
                        EndFreq 270
                End
                Segment
                        Position 0.8
                        Duration 0.4
                        Lyric wei
                        Effects
                                PElopeEnabled True
                                PresetedEnvelope ADSR
                                ADSR Amplitude 1 Attack 0 Decline 0.2 Release 0.1 End
                        End
                        StartFreq 270
                        EndFreq 270
                End
                Segment
                        Position 1.2
                        Duration 0.4
                        Lyric lai
                        Effects
                                PElopeEnabled True
                                PresetedEnvelope ADSR
                                ADSR Amplitude 1 Attack 0 Decline 0.2 Release 0.1 End
                        End
                        StartFreq 270
                        EndFreq 270
                End
        End ←唱词列表定义结束
        FreqListQ 2 ←共有两个频率控制点
        FreqList ←频率控制点列表
                FreqSet Position 0 Freq 270 End ←第一个频率点,位置0,频率270HZ
                FreqSet Position 5 Freq 270 End ←第二个频率点,位置5,频率270HZ
        End ←频率控制点列表结束
        Effects ←全局效果结构
                EnvelopeListQ 3 ←包络列表有三个元素
                EnvelopeList ←包络列表(其实这就相当于DYN)
                        EnvelopeSet Position 0 Magnitude 1 End ←第一个包络点,位置0,音量1
                        EnvelopeSet Position 1 Magnitude 1 End ←第二个包络点,位置1,音量1
                        EnvelopeSet Position 2 Magnitude 1 End ←第三个包络点,位置2,音量1
                End ←包络列表结束
        End ←全局效果结构结束
        TempoListQ 2 ←BPM表有2个元素
        TempoList ←BPM表定义开始
                TempoSet Position 0 Tempo 120 End ←第一个BPM点,位置0,BPM120
                TempoSet Position 999999 Tempo 120 End ←第二个BPM点,位置5,BPM120 (BPM表结构最后一项的位置必须大于最后一个唱词的位置,干脆设定成一个天文数字)
        End ←BPM表定义结束
        BeatListQ 2 ←节拍表有2个元素
        BeatList ←节拍表开始
                BeatSet BarPosition 1 Factor 4 Denominator 4 End ←第一个节拍控制点,位置在第一小节,分子4,分母4。
                BeatSet BarPosition 2 Factor 6 Denominator 16 End ←第二个节拍控制点,位置在第二小节,分子6,分母16。
        End ←节拍表定义结束
        InteractionSave ←用户操作表
                LastUserPosition 0 ←关闭编辑器前用户查看的位置(左边)
                LastUserScale 1 ←关闭编辑器前的缩放比例
                ViewType NotesEditor ←关闭编辑器前的编辑器模式(音符编辑器)
        End ←用户操作表结束
End ←RSC结构结束

Position是什么?



        RSC和编辑器中一种用于表示位置的单位。
        因为编辑器(还没写出来)中BPM和小节号是可变的,时间不固定,无法表示音符和参数控制点的位置。所以用Position和Duration表示它们的位置。这个单位是点到编辑器中可以拖动的最左边的距离(正常缩放下),单位不是像素,而是一个相对的比例。


RSCCommon负责什么?



RSC转换CVS的几个步骤




作者: rgwan    时间: 2013/5/30 18:33

RSC文件有股浓浓的M$ VB味道……不过我喜欢……




欢迎光临 iVocaloid论坛 (http://bbs.ivocaloid.com/) Powered by Discuz! X2