mirror of
https://git.femboyfinancial.jp/james/lipsync.git
synced 2024-12-01 06:02:00 -08:00
747 lines
31 KiB
C#
747 lines
31 KiB
C#
/*
|
|
* NRPN.cs
|
|
* Copyright (c) 2009 kbinani
|
|
*
|
|
* This file is part of Boare.Lib.Vsq.
|
|
*
|
|
* Boare.Lib.Vsq is free software; you can redistribute it and/or
|
|
* modify it under the terms of the BSD License.
|
|
*
|
|
* Boare.Lib.Vsq is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
*/
|
|
using System;
|
|
using System.Reflection;
|
|
using System.Collections.Generic;
|
|
|
|
namespace Boare.Lib.Vsq {
|
|
|
|
public static class NRPN {
|
|
/// <summary>
|
|
/// (0x5000) Version number(MSB) &, Device number(LSB)
|
|
/// </summary>
|
|
public const ushort CVM_NM_VERSION_AND_DEVICE = 0x5000;
|
|
/// <summary>
|
|
/// (0x5001) Delay in millisec(MSB, LSB)
|
|
/// </summary>
|
|
public const ushort CVM_NM_DELAY = 0x5001;
|
|
/// <summary>
|
|
/// (0x5002) Note number(MSB)
|
|
/// </summary>
|
|
public const ushort CVM_NM_NOTE_NUMBER = 0x5002;
|
|
/// <summary>
|
|
/// (0x5003) Velocity(MSB)
|
|
/// </summary>
|
|
public const ushort CVM_NM_VELOCITY = 0x5003;
|
|
/// <summary>
|
|
/// (0x5004) Note Duration in millisec(MSB, LSB)
|
|
/// </summary>
|
|
public const ushort CVM_NM_NOTE_DURATION = 0x5004;
|
|
/// <summary>
|
|
/// (0x5005) Note Location(MSB)
|
|
/// </summary>
|
|
public const ushort CVM_NM_NOTE_LOCATION = 0x5005;
|
|
/// <summary>
|
|
/// (0x5006) Attack Type(MSB, LSB)
|
|
/// </summary>
|
|
public const ushort CVM_NM_ATTACK_TYPE = 0x5006;
|
|
/// <summary>
|
|
/// (0x5007) Attack Duration in millisec(MSB, LSB)
|
|
/// </summary>
|
|
public const ushort CVM_NM_ATTACK_DURATION = 0x5007;
|
|
/// <summary>
|
|
/// (0x5008) Attack Depth(MSB)
|
|
/// </summary>
|
|
public const ushort CVM_NM_ATTACK_DEPTH = 0x5008;
|
|
/// <summary>
|
|
/// (0x500c) Index of Vibrato DB(MSB: ID_H00, LSB:ID_L00)
|
|
/// </summary>
|
|
public const ushort CVM_NM_INDEX_OF_VIBRATO_DB = 0x500c;
|
|
/// <summary>
|
|
/// (0x500d) Vibrato configuration(MSB: Index of Vibrato Type, LSB: Duration &, Configuration parameter of vibrato)
|
|
/// </summary>
|
|
public const ushort CVM_NM_VIBRATO_CONFIG = 0x500d;
|
|
/// <summary>
|
|
/// (0x500e) Vibrato Delay(MSB)
|
|
/// </summary>
|
|
public const ushort CVM_NM_VIBRATO_DELAY = 0x500e;
|
|
/*/// <summary>
|
|
/// (0x5011) Unknonw(MSB), only used in VOCALOID1
|
|
/// </summary>
|
|
public const ushort CVM_NM_UNKNOWN1 = 0x5011;*/
|
|
/// <summary>
|
|
/// (0x5012) Number of phonetic symbols in bytes(MSB)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL_BYTES = 0x5012;
|
|
/// <summary>
|
|
/// (0x5013) Phonetic symbol 1(MSB:Phonetic symbol 1, LSB: Consonant adjustment 1)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL1 = 0x5013;
|
|
/// <summary>
|
|
/// (0x5014) Phonetic symbol 2(MSB:Phonetic symbol 2, LSB: Consonant adjustment 2)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL2 = 0x5014;
|
|
/// <summary>
|
|
/// (0x5015) Phonetic symbol 3(MSB:Phonetic symbol 3, LSB: Consonant adjustment 3)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL3 = 0x5015;
|
|
/// <summary>
|
|
/// (0x5016) Phonetic symbol 4(MSB:Phonetic symbol 4, LSB: Consonant adjustment 4)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL4 = 0x5016;
|
|
/// <summary>
|
|
/// (0x5017) Phonetic symbol 5(MSB:Phonetic symbol 5, LSB: Consonant adjustment 5)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL5 = 0x5017;
|
|
/// <summary>
|
|
/// (0x5018) Phonetic symbol 6(MSB:Phonetic symbol 6, LSB: Consonant adjustment 6)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL6 = 0x5018;
|
|
/// <summary>
|
|
/// (0x5019) Phonetic symbol 7(MSB:Phonetic symbol 7, LSB: Consonant adjustment 7)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL7 = 0x5019;
|
|
/// <summary>
|
|
/// (0x501a) Phonetic symbol 8(MSB:Phonetic symbol 8, LSB: Consonant adjustment 8)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL8 = 0x501a;
|
|
/// <summary>
|
|
/// (0x501b) Phonetic symbol 9(MSB:Phonetic symbol 9, LSB: Consonant adjustment 9)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL9 = 0x501b;
|
|
/// <summary>
|
|
/// (0x501c) Phonetic symbol 10(MSB:Phonetic symbol 10, LSB: Consonant adjustment 10)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL10 = 0x501c;
|
|
/// <summary>
|
|
/// (0x501d) Phonetic symbol 11(MSB:Phonetic symbol 11, LSB: Consonant adjustment 11)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL11 = 0x501d;
|
|
/// <summary>
|
|
/// (0x501e) Phonetic symbol 12(MSB:Phonetic symbol 12, LSB: Consonant adjustment 12)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL12 = 0x501e;
|
|
/// <summary>
|
|
/// (0x501f) Phonetic symbol 13(MSB:Phonetic symbol 13, LSB: Consonant adjustment 13)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL13 = 0x501f;
|
|
/// <summary>
|
|
/// (0x5020) Phonetic symbol 14(MSB:Phonetic symbol 14, LSB: Consonant adjustment 14)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL14 = 0x5020;
|
|
/// <summary>
|
|
/// (0x5021) Phonetic symbol 15(MSB:Phonetic symbol 15, LSB: Consonant adjustment 15)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL15 = 0x5021;
|
|
/// <summary>
|
|
/// (0x5022) Phonetic symbol 16(MSB:Phonetic symbol 16, LSB: Consonant adjustment 16)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL16 = 0x5022;
|
|
/// <summary>
|
|
/// (0x5023) Phonetic symbol 17(MSB:Phonetic symbol 17, LSB: Consonant adjustment 17)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL17 = 0x5023;
|
|
/// <summary>
|
|
/// (0x5024) Phonetic symbol 18(MSB:Phonetic symbol 18, LSB: Consonant adjustment 18)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL18 = 0x5024;
|
|
/// <summary>
|
|
/// (0x5025) Phonetic symbol 19(MSB:Phonetic symbol 19, LSB: Consonant adjustment 19)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL19 = 0x5025;
|
|
/// <summary>
|
|
/// (0x5026) Phonetic symbol 20(MSB:Phonetic symbol 20, LSB: Consonant adjustment 20)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL20 = 0x5026;
|
|
/// <summary>
|
|
/// (0x5027) Phonetic symbol 21(MSB:Phonetic symbol 21, LSB: Consonant adjustment 21)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL21 = 0x5027;
|
|
/// <summary>
|
|
/// (0x5028) Phonetic symbol 22(MSB:Phonetic symbol 22, LSB: Consonant adjustment 22)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL22 = 0x5028;
|
|
/// <summary>
|
|
/// (0x5029) Phonetic symbol 23(MSB:Phonetic symbol 23, LSB: Consonant adjustment 23)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL23 = 0x5029;
|
|
/// <summary>
|
|
/// (0x502a) Phonetic symbol 24(MSB:Phonetic symbol 24, LSB: Consonant adjustment 24)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL24 = 0x502a;
|
|
/// <summary>
|
|
/// (0x502b) Phonetic symbol 25(MSB:Phonetic symbol 25, LSB: Consonant adjustment 25)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL25 = 0x502b;
|
|
/// <summary>
|
|
/// (0x502c) Phonetic symbol 26(MSB:Phonetic symbol 26, LSB: Consonant adjustment 26)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL26 = 0x502c;
|
|
/// <summary>
|
|
/// (0x502d) Phonetic symbol 27(MSB:Phonetic symbol 27, LSB: Consonant adjustment 27)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL27 = 0x502d;
|
|
/// <summary>
|
|
/// (0x502e) Phonetic symbol 28(MSB:Phonetic symbol 28, LSB: Consonant adjustment 28)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL28 = 0x502e;
|
|
/// <summary>
|
|
/// (0x502f) Phonetic symbol 29(MSB:Phonetic symbol 29, LSB: Consonant adjustment 29)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL29 = 0x502f;
|
|
/// <summary>
|
|
/// (0x5030) Phonetic symbol 30(MSB:Phonetic symbol 30, LSB: Consonant adjustment 30)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL30 = 0x5030;
|
|
/// <summary>
|
|
/// (0x5031) Phonetic symbol 31(MSB:Phonetic symbol 31, LSB: Consonant adjustment 31)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL31 = 0x5031;
|
|
/// <summary>
|
|
/// (0x5032) Phonetic symbol 32(MSB:Phonetic symbol 32, LSB: Consonant adjustment 32)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL32 = 0x5032;
|
|
/// <summary>
|
|
/// (0x5033) Phonetic symbol 33(MSB:Phonetic symbol 33, LSB: Consonant adjustment 33)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL33 = 0x5033;
|
|
/// <summary>
|
|
/// (0x5034) Phonetic symbol 34(MSB:Phonetic symbol 34, LSB: Consonant adjustment 34)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL34 = 0x5034;
|
|
/// <summary>
|
|
/// (0x5035) Phonetic symbol 35(MSB:Phonetic symbol 35, LSB: Consonant adjustment 35)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL35 = 0x5035;
|
|
/// <summary>
|
|
/// (0x5036) Phonetic symbol 36(MSB:Phonetic symbol 36, LSB: Consonant adjustment 36)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL36 = 0x5036;
|
|
/// <summary>
|
|
/// (0x5037) Phonetic symbol 37(MSB:Phonetic symbol 37, LSB: Consonant adjustment 37)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL37 = 0x5037;
|
|
/// <summary>
|
|
/// (0x5038) Phonetic symbol 38(MSB:Phonetic symbol 38, LSB: Consonant adjustment 38)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL38 = 0x5038;
|
|
/// <summary>
|
|
/// (0x5039) Phonetic symbol 39(MSB:Phonetic symbol 39, LSB: Consonant adjustment 39)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL39 = 0x5039;
|
|
/// <summary>
|
|
/// (0x503a) Phonetic symbol 40(MSB:Phonetic symbol 40, LSB: Consonant adjustment 40)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL40 = 0x503a;
|
|
/// <summary>
|
|
/// (0x503b) Phonetic symbol 41(MSB:Phonetic symbol 41, LSB: Consonant adjustment 41)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL41 = 0x503b;
|
|
/// <summary>
|
|
/// (0x503c) Phonetic symbol 42(MSB:Phonetic symbol 42, LSB: Consonant adjustment 42)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL42 = 0x503c;
|
|
/// <summary>
|
|
/// (0x503d) Phonetic symbol 43(MSB:Phonetic symbol 43, LSB: Consonant adjustment 43)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL43 = 0x503d;
|
|
/// <summary>
|
|
/// (0x503e) Phonetic symbol 44(MSB:Phonetic symbol 44, LSB: Consonant adjustment 44)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL44 = 0x503e;
|
|
/// <summary>
|
|
/// (0x503f) Phonetic symbol 45(MSB:Phonetic symbol 45, LSB: Consonant adjustment 45)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL45 = 0x503f;
|
|
/// <summary>
|
|
/// (0x5040) Phonetic symbol 46(MSB:Phonetic symbol 46, LSB: Consonant adjustment 46)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL46 = 0x5040;
|
|
/// <summary>
|
|
/// (0x5041) Phonetic symbol 47(MSB:Phonetic symbol 47, LSB: Consonant adjustment 47)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL47 = 0x5041;
|
|
/// <summary>
|
|
/// (0x5042) Phonetic symbol 48(MSB:Phonetic symbol 48, LSB: Consonant adjustment 48)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL48 = 0x5042;
|
|
/// <summary>
|
|
/// (0x5043) Phonetic symbol 49(MSB:Phonetic symbol 49, LSB: Consonant adjustment 49)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL49 = 0x5043;
|
|
/// <summary>
|
|
/// (0x5044) Phonetic symbol 50(MSB:Phonetic symbol 50, LSB: Consonant adjustment 50)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL50 = 0x5044;
|
|
/// <summary>
|
|
/// (0x5045) Phonetic symbol 51(MSB:Phonetic symbol 51, LSB: Consonant adjustment 51)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL51 = 0x5045;
|
|
/// <summary>
|
|
/// (0x5046) Phonetic symbol 52(MSB:Phonetic symbol 52, LSB: Consonant adjustment 52)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL52 = 0x5046;
|
|
/// <summary>
|
|
/// (0x5047) Phonetic symbol 53(MSB:Phonetic symbol 53, LSB: Consonant adjustment 53)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL53 = 0x5047;
|
|
/// <summary>
|
|
/// (0x5048) Phonetic symbol 54(MSB:Phonetic symbol 54, LSB: Consonant adjustment 54)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL54 = 0x5048;
|
|
/// <summary>
|
|
/// (0x5049) Phonetic symbol 55(MSB:Phonetic symbol 55, LSB: Consonant adjustment 55)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL55 = 0x5049;
|
|
/// <summary>
|
|
/// (0x504a) Phonetic symbol 56(MSB:Phonetic symbol 56, LSB: Consonant adjustment 56)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL56 = 0x504a;
|
|
/// <summary>
|
|
/// (0x504b) Phonetic symbol 57(MSB:Phonetic symbol 57, LSB: Consonant adjustment 57)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL57 = 0x504b;
|
|
/// <summary>
|
|
/// (0x504c) Phonetic symbol 58(MSB:Phonetic symbol 58, LSB: Consonant adjustment 58)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL58 = 0x504c;
|
|
/// <summary>
|
|
/// (0x504d) Phonetic symbol 59(MSB:Phonetic symbol 59, LSB: Consonant adjustment 59)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL59 = 0x504d;
|
|
/// <summary>
|
|
/// (0x504e) Phonetic symbol 60(MSB:Phonetic symbol 60, LSB: Consonant adjustment 60)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL60 = 0x504e;
|
|
/// <summary>
|
|
/// (0x504f) Phonetic symbol continuation(MSB, 0x7f=end, 0x00=continue)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PHONETIC_SYMBOL_CONTINUATION = 0x504f;
|
|
/// <summary>
|
|
/// (0x5050) v1mean in Cent/5(MSB)
|
|
/// </summary>
|
|
public const ushort CVM_NM_V1MEAN = 0x5050;
|
|
/// <summary>
|
|
/// (0x5051) d1mean in millisec/5(MSB)
|
|
/// </summary>
|
|
public const ushort CVM_NM_D1MEAN = 0x5051;
|
|
/// <summary>
|
|
/// (0x5052) d1meanFirstNote in millisec/5(MSB)
|
|
/// </summary>
|
|
public const ushort CVM_NM_D1MEAN_FIRST_NOTE = 0x5052;
|
|
/// <summary>
|
|
/// (0x5053) d2mean in millisec/5(MSB)
|
|
/// </summary>
|
|
public const ushort CVM_NM_D2MEAN = 0x5053;
|
|
/// <summary>
|
|
/// (0x5054) d4mean in millisec/5(MSB)
|
|
/// </summary>
|
|
public const ushort CVM_NM_D4MEAN = 0x5054;
|
|
/// <summary>
|
|
/// (0x5055) pMeanOnsetFirstNote in Cent/5(MSB)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PMEAN_ONSET_FIRST_NOTE = 0x5055;
|
|
/// <summary>
|
|
/// (0x5056) vMeanNoteTransition in Cent/5(MSB)
|
|
/// </summary>
|
|
public const ushort CVM_NM_VMEAN_NOTE_TRNSITION = 0x5056;
|
|
/// <summary>
|
|
/// (0x5057) pMeanEndingNote in Cent/5(MSB)
|
|
/// </summary>
|
|
public const ushort CVM_NM_PMEAN_ENDING_NOTE = 0x5057;
|
|
/// <summary>
|
|
/// (0x5058) AddScooptoUpIntervals &, AddPortamentoToDownIntervals(MSB)
|
|
/// </summary>
|
|
public const ushort CVM_NM_ADD_PORTAMENTO = 0x5058;
|
|
/// <summary>
|
|
/// (0x5059) changAfterPeak(MSB)
|
|
/// </summary>
|
|
public const ushort CVM_NM_CHANGE_AFTER_PEAK = 0x5059;
|
|
/// <summary>
|
|
/// (0x505a) Accent(MSB)
|
|
/// </summary>
|
|
public const ushort CVM_NM_ACCENT = 0x505a;
|
|
/// <summary>
|
|
/// (0x507f) Note message continuation(MSB)
|
|
/// </summary>
|
|
public const ushort CVM_NM_NOTE_MESSAGE_CONTINUATION = 0x507f;
|
|
|
|
/// <summary>
|
|
/// (0x5075) Extended Note message; Voice Overlap(MSB, LSB)(VoiceOverlap = ((MSB & 0x7f) << 7) | (LSB & 0x7f) - 8192)
|
|
/// </summary>
|
|
public const ushort CVM_EXNM_VOICE_OVERLAP = 0x5075;
|
|
/// <summary>
|
|
/// (0x5076) Extended Note message; Flags length in bytes(MSB, LSB)
|
|
/// </summary>
|
|
public const ushort CVM_EXNM_FLAGS_BYTES = 0x5076;
|
|
/// <summary>
|
|
/// (0x5077) Extended Note message; Flag(MSB)
|
|
/// </summary>
|
|
public const ushort CVM_EXNM_FLAGS = 0x5077;
|
|
/// <summary>
|
|
/// (0x5078) Extended Note message; Flag continuation(MSB)(MSB, 0x7f=end, 0x00=continue)
|
|
/// </summary>
|
|
public const ushort CVM_EXNM_FLAGS_CONINUATION = 0x5078;
|
|
/// <summary>
|
|
/// (0x5079) Extended Note message; Moduration(MSB, LSB)(Moduration = ((MSB & 0x7f) << 7) | (LSB & 0x7f) - 100)
|
|
/// </summary>
|
|
public const ushort CVM_EXNM_MODURATION = 0x5079;
|
|
/// <summary>
|
|
/// (0x507a) Extended Note message; PreUtterance(MSB, LSB)(PreUtterance = ((MSB & 0x7f) << 7) | (LSB & 0x7f) - 8192)
|
|
/// </summary>
|
|
public const ushort CVM_EXNM_PRE_UTTERANCE = 0x507a;
|
|
/// <summary>
|
|
/// (0x507e) Extended Note message; Envelope: value1(MSB, LSB) actual value = (value3.msb & 0xf) << 28 | (value2.msb & 0x7f) << 21 | (value2.lsb & 0x7f) << 14 | (value1.msb & 0x7f) << 7 | (value1.lsb & 0x7f)
|
|
/// </summary>
|
|
public const ushort CVM_EXNM_ENV_DATA1 = 0x507e;
|
|
/// <summary>
|
|
/// (0x507d) Extended Note message; Envelope: value2(MSB, LSB)
|
|
/// </summary>
|
|
public const ushort CVM_EXNM_ENV_DATA2 = 0x507d;
|
|
/// <summary>
|
|
/// (0x507c) Extended Note message; Envelope: value3(MSB)
|
|
/// </summary>
|
|
public const ushort CVM_EXNM_ENV_DATA3 = 0x507c;
|
|
/// <summary>
|
|
/// (0x507b) Extended Note message; Envelope: data point continuation(MSB)(MSB, 0x7f=end, 0x00=continue)
|
|
/// </summary>
|
|
public const ushort CVM_EXNM_ENV_DATA_CONTINUATION = 0x507b;
|
|
|
|
/// <summary>
|
|
/// (0x6000) Version number &, Device number(MSB, LSB)
|
|
/// </summary>
|
|
public const ushort CC_BS_VERSION_AND_DEVICE = 0x6000;
|
|
/// <summary>
|
|
/// (0x6001) Delay in millisec(MSB, LSB)
|
|
/// </summary>
|
|
public const ushort CC_BS_DELAY = 0x6001;
|
|
/// <summary>
|
|
/// (0x6002) Laugnage type(MSB, optional LSB)
|
|
/// </summary>
|
|
public const ushort CC_BS_LANGUAGE_TYPE = 0x6002;
|
|
|
|
/// <summary>
|
|
/// (0x6100) Version number &, device number(MSB, LSB)
|
|
/// </summary>
|
|
public const ushort CC_CV_VERSION_AND_DEVICE = 0x6100;
|
|
/// <summary>
|
|
/// (0x6101) Delay in millisec(MSB, LSB)
|
|
/// </summary>
|
|
public const ushort CC_CV_DELAY = 0x6101;
|
|
/// <summary>
|
|
/// (0x6102) Volume value(MSB)
|
|
/// </summary>
|
|
public const ushort CC_CV_VOLUME = 0x6102;
|
|
|
|
/// <summary>
|
|
/// (0x6200) Version number &, device number(MSB, LSB)
|
|
/// </summary>
|
|
public const ushort CC_P_VERSION_AND_DEVICE = 0x6200;
|
|
/// <summary>
|
|
/// (0x6201) Delay in millisec(MSB, LSB)
|
|
/// </summary>
|
|
public const ushort CC_P_DELAY = 0x6201;
|
|
/// <summary>
|
|
/// (0x6202) Pan value(MSB)
|
|
/// </summary>
|
|
public const ushort CC_PAN = 0x6202;
|
|
|
|
/// <summary>
|
|
/// (0x6300) Version number &, device number(MSB, LSB)
|
|
/// </summary>
|
|
public const ushort CC_E_VESION_AND_DEVICE = 0x6300;
|
|
/// <summary>
|
|
/// (0x6301) Delay in millisec(MSB, LSB)
|
|
/// </summary>
|
|
public const ushort CC_E_DELAY = 0x6301;
|
|
/// <summary>
|
|
/// (0x6302) Expression vlaue(MSB)
|
|
/// </summary>
|
|
public const ushort CC_E_EXPRESSION = 0x6302;
|
|
|
|
/// <summary>
|
|
/// (0x6400) Version number &, device number(MSB, LSB)
|
|
/// </summary>
|
|
public const ushort CC_VR_VERSION_AND_DEVICE = 0x6400;
|
|
/// <summary>
|
|
/// (0x6401) Delay in millisec(MSB, LSB)
|
|
/// </summary>
|
|
public const ushort CC_VR_DELAY = 0x6401;
|
|
/// <summary>
|
|
/// (0x6402) Vibrato Rate value(MSB)
|
|
/// </summary>
|
|
public const ushort CC_VR_VIBRATO_RATE = 0x6402;
|
|
|
|
/// <summary>
|
|
/// (0x6500) Version number &, device number(MSB, LSB)
|
|
/// </summary>
|
|
public const ushort CC_VD_VERSION_AND_DEVICE = 0x6500;
|
|
/// <summary>
|
|
/// (0x6501) Delay in millisec(MSB, LSB)
|
|
/// </summary>
|
|
public const ushort CC_VD_DELAY = 0x6501;
|
|
/// <summary>
|
|
/// (0x6502) Vibrato Depth value(MSB)
|
|
/// </summary>
|
|
public const ushort CC_VD_VIBRATO_DEPTH = 0x6502;
|
|
|
|
/// <summary>
|
|
/// (0x6600) Version number &, device number(MSB, LSB)
|
|
/// </summary>
|
|
public const ushort CC_FX2_VERSION_AND_DEVICE = 0x6600;
|
|
/// <summary>
|
|
/// (0x6601) Delay in millisec(MSB, LSB)
|
|
/// </summary>
|
|
public const ushort CC_FX2_DELAY = 0x6601;
|
|
/// <summary>
|
|
/// (0x6602) Effect2 Depth(MSB)
|
|
/// </summary>
|
|
public const ushort CC_FX2_EFFECT2_DEPTH = 0x6602;
|
|
|
|
/// <summary>
|
|
/// (0x6700) Version number &, device number(MSB, LSB)
|
|
/// </summary>
|
|
public const ushort CC_PBS_VERSION_AND_DEVICE = 0x6700;
|
|
/// <summary>
|
|
/// (0x6701) Delay in millisec(MSB, LSB)
|
|
/// </summary>
|
|
public const ushort CC_PBS_DELAY = 0x6701;
|
|
/// <summary>
|
|
/// (0x6702) Pitch Bend Sensitivity(MSB, LSB)
|
|
/// </summary>
|
|
public const ushort CC_PBS_PITCH_BEND_SENSITIVITY = 0x6702;
|
|
|
|
/// <summary>
|
|
/// (0x5300) Version number &, device number(MSB, LSB)
|
|
/// </summary>
|
|
public const ushort PC_VERSION_AND_DEVICE = 0x5300;
|
|
/// <summary>
|
|
/// (0x5301) Delay in millisec(MSB, LSB)
|
|
/// </summary>
|
|
public const ushort PC_DELAY = 0x5301;
|
|
/// <summary>
|
|
/// (0x5302) Voice Type(MSB)
|
|
/// </summary>
|
|
public const ushort PC_VOICE_TYPE = 0x5302;
|
|
|
|
/// <summary>
|
|
/// (0x5400) Version number &, device number(MSB, LSB)
|
|
/// </summary>
|
|
public const ushort PB_VERSION_AND_DEVICE = 0x5400;
|
|
/// <summary>
|
|
/// (0x5401) Delay in millisec(MSB, LSB)
|
|
/// </summary>
|
|
public const ushort PB_DELAY = 0x5401;
|
|
/// <summary>
|
|
/// (0x5402) Pitch Bend value(MSB, LSB)
|
|
/// </summary>
|
|
public const ushort PB_PITCH_BEND = 0x5402;
|
|
|
|
/// <summary>
|
|
/// (0x5500) Version number &, device number(MSB, LSB)
|
|
/// </summary>
|
|
public const ushort VCP_VERSION_AND_DEVICE = 0x5500;
|
|
/// <summary>
|
|
/// (0x5501) Delay in millisec(MSB, LSB)
|
|
/// </summary>
|
|
public const ushort VCP_DELAY = 0x5501;
|
|
/// <summary>
|
|
/// (0x5502) Voice Change Parameter ID(MSB)
|
|
/// </summary>
|
|
public const ushort VCP_VOICE_CHANGE_PARAMETER_ID = 0x5502;
|
|
/// <summary>
|
|
/// (0x5503) Voice Change Parameter value(MSB)
|
|
/// </summary>
|
|
public const ushort VCP_VOICE_CHANGE_PARAMETER = 0x5503;
|
|
|
|
private class NrpnIterator : Iterator {
|
|
private List<ushort> nrpns = new List<ushort>();
|
|
private int m_pos = -1;
|
|
|
|
public NrpnIterator() {
|
|
Type t = typeof( NRPN );
|
|
foreach ( FieldInfo fi in t.GetFields() ) {
|
|
if ( fi.FieldType.Equals( typeof( ushort ) ) ) {
|
|
nrpns.Add( (ushort)fi.GetValue( t ) );
|
|
}
|
|
}
|
|
}
|
|
|
|
public bool hasNext() {
|
|
if ( 0 <= m_pos + 1 && m_pos + 1 < nrpns.Count ) {
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public Object next() {
|
|
m_pos++;
|
|
return nrpns[m_pos];
|
|
}
|
|
|
|
public void remove() {
|
|
}
|
|
}
|
|
|
|
public static Iterator iterator() {
|
|
return new NrpnIterator();
|
|
}
|
|
|
|
public static string getName( ushort nrpn ) {
|
|
foreach ( FieldInfo fi in typeof( NRPN ).GetFields() ) {
|
|
if ( fi.FieldType.Equals( typeof( ushort ) ) ) {
|
|
ushort v = (ushort)fi.GetValue( typeof( NRPN ) );
|
|
if ( v == nrpn ) {
|
|
return fi.Name;
|
|
}
|
|
}
|
|
}
|
|
return "";
|
|
}
|
|
|
|
/// <summary>
|
|
/// 指定したコントロールに対応するVoice Change Parameter IDの値を調べます
|
|
/// </summary>
|
|
/// <param name="curve_name"></param>
|
|
/// <returns></returns>
|
|
public static byte getVoiceChangeParameterID( string curve_name ) {
|
|
byte lsb = 0x31;
|
|
switch ( curve_name.ToLower() ) {
|
|
case "harmonics":
|
|
lsb = 0x30;
|
|
break;
|
|
case "bre":
|
|
lsb = 0x31;
|
|
break;
|
|
case "bri":
|
|
lsb = 0x32;
|
|
break;
|
|
case "cle":
|
|
lsb = 0x33;
|
|
break;
|
|
case "por":
|
|
lsb = 0x34;
|
|
break;
|
|
case "ope":
|
|
lsb = 0x35;
|
|
break;
|
|
case "reso1freq":
|
|
lsb = 0x40;
|
|
break;
|
|
case "reso2freq":
|
|
lsb = 0x41;
|
|
break;
|
|
case "reso3freq":
|
|
lsb = 0x42;
|
|
break;
|
|
case "reso4freq":
|
|
lsb = 0x43;
|
|
break;
|
|
case "reso1bw":
|
|
lsb = 0x50;
|
|
break;
|
|
case "reso2bw":
|
|
lsb = 0x51;
|
|
break;
|
|
case "reso3bw":
|
|
lsb = 0x52;
|
|
break;
|
|
case "reso4bw":
|
|
lsb = 0x53;
|
|
break;
|
|
case "reso1amp":
|
|
lsb = 0x60;
|
|
break;
|
|
case "reso2amp":
|
|
lsb = 0x61;
|
|
break;
|
|
case "reso3amp":
|
|
lsb = 0x62;
|
|
break;
|
|
case "reso4amp":
|
|
lsb = 0x63;
|
|
break;
|
|
case "gen":
|
|
lsb = 0x70;
|
|
break;
|
|
}
|
|
return lsb;
|
|
}
|
|
|
|
public static bool is_require_data_lsb( ushort nrpn ) {
|
|
switch ( nrpn ) {
|
|
case CVM_NM_VERSION_AND_DEVICE:
|
|
case CVM_NM_DELAY:
|
|
case CVM_NM_NOTE_DURATION:
|
|
case CVM_NM_INDEX_OF_VIBRATO_DB:
|
|
case CVM_NM_VIBRATO_CONFIG:
|
|
case CVM_NM_PHONETIC_SYMBOL1:
|
|
case CC_BS_VERSION_AND_DEVICE:
|
|
case CC_BS_DELAY:
|
|
case CC_BS_LANGUAGE_TYPE:
|
|
case CC_CV_VERSION_AND_DEVICE:
|
|
case CC_CV_DELAY:
|
|
case CC_P_VERSION_AND_DEVICE:
|
|
case CC_P_DELAY:
|
|
case CC_E_VESION_AND_DEVICE:
|
|
case CC_E_DELAY:
|
|
case CC_VR_VERSION_AND_DEVICE:
|
|
case CC_VR_DELAY:
|
|
case CC_VD_VERSION_AND_DEVICE:
|
|
case CC_VD_DELAY:
|
|
case CC_FX2_VERSION_AND_DEVICE:
|
|
case CC_FX2_DELAY:
|
|
case CC_PBS_VERSION_AND_DEVICE:
|
|
case CC_PBS_DELAY:
|
|
case CC_PBS_PITCH_BEND_SENSITIVITY:
|
|
case PC_VERSION_AND_DEVICE:
|
|
case PC_DELAY:
|
|
case PB_VERSION_AND_DEVICE:
|
|
case PB_DELAY:
|
|
case PB_PITCH_BEND:
|
|
case VCP_VERSION_AND_DEVICE:
|
|
case VCP_DELAY:
|
|
case CVM_EXNM_ENV_DATA1:
|
|
case CVM_EXNM_ENV_DATA2:
|
|
return true;
|
|
case CVM_NM_NOTE_NUMBER:
|
|
case CVM_NM_VELOCITY:
|
|
case CVM_NM_NOTE_LOCATION:
|
|
case CVM_NM_VIBRATO_DELAY:
|
|
//case CVM_NM_UNKNOWN1:
|
|
case CVM_NM_PHONETIC_SYMBOL_BYTES:
|
|
case CVM_NM_PHONETIC_SYMBOL_CONTINUATION:
|
|
case CVM_NM_V1MEAN:
|
|
case CVM_NM_D1MEAN:
|
|
case CVM_NM_D1MEAN_FIRST_NOTE:
|
|
case CVM_NM_D2MEAN:
|
|
case CVM_NM_D4MEAN:
|
|
case CVM_NM_PMEAN_ONSET_FIRST_NOTE:
|
|
case CVM_NM_VMEAN_NOTE_TRNSITION:
|
|
case CVM_NM_PMEAN_ENDING_NOTE:
|
|
case CVM_NM_ADD_PORTAMENTO:
|
|
case CVM_NM_CHANGE_AFTER_PEAK:
|
|
case CVM_NM_ACCENT:
|
|
case CVM_NM_NOTE_MESSAGE_CONTINUATION:
|
|
case CC_CV_VOLUME:
|
|
case CC_PAN:
|
|
case CC_E_EXPRESSION:
|
|
case CC_VR_VIBRATO_RATE:
|
|
case CC_VD_VIBRATO_DEPTH:
|
|
case CC_FX2_EFFECT2_DEPTH:
|
|
case PC_VOICE_TYPE:
|
|
case VCP_VOICE_CHANGE_PARAMETER_ID:
|
|
case VCP_VOICE_CHANGE_PARAMETER:
|
|
case CVM_EXNM_ENV_DATA3:
|
|
case CVM_EXNM_ENV_DATA_CONTINUATION:
|
|
return false;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
}
|
|
|
|
}
|