|  | @@ -2,6 +2,24 @@ import numeral from 'numeral';
 | 
	
		
			
				|  |  |  import dayjs from 'dayjs';
 | 
	
		
			
				|  |  |  import qs from 'query-string';
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +export function vaildMusicScoreUrl() {
 | 
	
		
			
				|  |  | +  const url: string = window.location.href;
 | 
	
		
			
				|  |  | +  let returnUrl = '';
 | 
	
		
			
				|  |  | +  if (/192/.test(url) || /localhost/.test(url)) {
 | 
	
		
			
				|  |  | +    //本地环境
 | 
	
		
			
				|  |  | +    returnUrl = 'https://test.kt.colexiu.com';
 | 
	
		
			
				|  |  | +  } else if (/test/.test(url)) {
 | 
	
		
			
				|  |  | +    // dev 环境
 | 
	
		
			
				|  |  | +    returnUrl = 'https://test.kt.colexiu.com';
 | 
	
		
			
				|  |  | +  } else if (/dev/.test(url)) {
 | 
	
		
			
				|  |  | +    returnUrl = 'https://dev.kt.colexiu.com';
 | 
	
		
			
				|  |  | +  } else {
 | 
	
		
			
				|  |  | +    // 默认dev环境
 | 
	
		
			
				|  |  | +    returnUrl = 'https://mec.colexiu.com';
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +  return returnUrl;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  export const browser = () => {
 | 
	
		
			
				|  |  |    // https://blog.csdn.net/qq_19309473/article/details/124138954
 | 
	
		
			
				|  |  |    const u = navigator.userAgent;
 | 
	
	
		
			
				|  | @@ -237,277 +255,276 @@ export const dateFormat = (
 | 
	
		
			
				|  |  |    return dayjs(value).format(format);
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  const instruments: any = {
 | 
	
		
			
				|  |  | -	"Acoustic Grand Piano": "大钢琴",
 | 
	
		
			
				|  |  | -	"Bright Acoustic Piano": "明亮的钢琴",
 | 
	
		
			
				|  |  | -	"Electric Grand Piano": "电钢琴",
 | 
	
		
			
				|  |  | -	"Rhodes Piano": "柔和的电钢琴",
 | 
	
		
			
				|  |  | -	"Chorused Piano": "加合唱效果的电钢琴",
 | 
	
		
			
				|  |  | -	Harpsichord: "羽管键琴",
 | 
	
		
			
				|  |  | -	Clavichord: "科拉维科特琴",
 | 
	
		
			
				|  |  | -	Celesta: "钢片琴",
 | 
	
		
			
				|  |  | -	Glockenspiel: "钢片琴",
 | 
	
		
			
				|  |  | -	"Music box": "八音盒",
 | 
	
		
			
				|  |  | -	Vibraphone: "颤音琴",
 | 
	
		
			
				|  |  | -	Marimba: "马林巴",
 | 
	
		
			
				|  |  | -	Xylophone: "木琴",
 | 
	
		
			
				|  |  | -	"Tubular Bells": "管钟",
 | 
	
		
			
				|  |  | -	Dulcimer: "大扬琴",
 | 
	
		
			
				|  |  | -	"Hammond Organ": "击杆风琴",
 | 
	
		
			
				|  |  | -	"Percussive Organ": "打击式风琴",
 | 
	
		
			
				|  |  | -	"Rock Organ": "摇滚风琴",
 | 
	
		
			
				|  |  | -	"Church Organ": "教堂风琴",
 | 
	
		
			
				|  |  | -	"Reed Organ": "簧管风琴",
 | 
	
		
			
				|  |  | -	Accordian: "手风琴",
 | 
	
		
			
				|  |  | -	Harmonica: "口琴",
 | 
	
		
			
				|  |  | -	"Tango Accordian": "探戈手风琴",
 | 
	
		
			
				|  |  | -	"Acoustic Guitar": "钢弦吉他",
 | 
	
		
			
				|  |  | -	"Electric Guitar": "闷音电吉他",
 | 
	
		
			
				|  |  | -	"Overdriven Guitar": "加驱动效果的电吉他",
 | 
	
		
			
				|  |  | -	"Distortion Guitar": "加失真效果的电吉他",
 | 
	
		
			
				|  |  | -	"Guitar Harmonics": "吉他和音",
 | 
	
		
			
				|  |  | -	"Acoustic Bass": "大贝司",
 | 
	
		
			
				|  |  | -	"Electric Bass": "电贝司",
 | 
	
		
			
				|  |  | -	"Fretless Bass": "无品贝司",
 | 
	
		
			
				|  |  | -	"Slap Bass": "掌击",
 | 
	
		
			
				|  |  | -	"Synth Bass": "电子合成",
 | 
	
		
			
				|  |  | -	Violin: "小提琴",
 | 
	
		
			
				|  |  | -	Viola: "中提琴",
 | 
	
		
			
				|  |  | -	Cello: "大提琴",
 | 
	
		
			
				|  |  | -	Contrabass: "低音大提琴",
 | 
	
		
			
				|  |  | -	"Tremolo Strings": "弦乐群颤音音色",
 | 
	
		
			
				|  |  | -	"Pizzicato Strings": "弦乐群拨弦音色",
 | 
	
		
			
				|  |  | -	"Orchestral Harp": "竖琴",
 | 
	
		
			
				|  |  | -	Timpani: "定音鼓",
 | 
	
		
			
				|  |  | -	"String Ensemble": "弦乐合奏音色",
 | 
	
		
			
				|  |  | -	"Synth Strings": "合成弦乐合奏音色",
 | 
	
		
			
				|  |  | -	"Choir Aahs": "人声合唱",
 | 
	
		
			
				|  |  | -	"Voice Oohs": "人声",
 | 
	
		
			
				|  |  | -	"Synth Voice": "合成人声",
 | 
	
		
			
				|  |  | -	"Orchestra Hit": "管弦乐敲击齐奏",
 | 
	
		
			
				|  |  | -	Trumpet: "小号",
 | 
	
		
			
				|  |  | -	Trombone: "长号",
 | 
	
		
			
				|  |  | -	Tuba: "大号",
 | 
	
		
			
				|  |  | -	"Muted Trumpet": "加弱音器小号",
 | 
	
		
			
				|  |  | -	"French Horn": "法国号",
 | 
	
		
			
				|  |  | -	"Brass Section": "铜管组",
 | 
	
		
			
				|  |  | -	"Synth Brass": "合成铜管音色",
 | 
	
		
			
				|  |  | -	"Soprano Sax": "高音萨克斯管",
 | 
	
		
			
				|  |  | -	"Alto Sax": "中音萨克斯管",
 | 
	
		
			
				|  |  | -	"Tenor Sax": "次中音萨克斯管",
 | 
	
		
			
				|  |  | -	"Baritone Sax": "低音萨克斯管",
 | 
	
		
			
				|  |  | -	Oboe: "双簧管",
 | 
	
		
			
				|  |  | -	"English Horn": "英国管",
 | 
	
		
			
				|  |  | -	Bassoon: "巴松",
 | 
	
		
			
				|  |  | -	Clarinet: "单簧管",
 | 
	
		
			
				|  |  | -	"Soprano Saxophone": "高音萨克斯管",
 | 
	
		
			
				|  |  | -	"Alto Saxophone": "中音萨克斯管",
 | 
	
		
			
				|  |  | -	"Tenor Saxophone": "次中音萨克斯管",
 | 
	
		
			
				|  |  | -	"Baritone Saxophone": "低音萨克斯管",
 | 
	
		
			
				|  |  | -	Piccolo: "短笛",
 | 
	
		
			
				|  |  | -	Flute: "长笛",
 | 
	
		
			
				|  |  | -	Recorder: "竖笛",
 | 
	
		
			
				|  |  | -	"Soprano Recorder": "高音竖笛",
 | 
	
		
			
				|  |  | -	"Pan Flute": "排箫",
 | 
	
		
			
				|  |  | -	"Bottle Blow": "瓶木管",
 | 
	
		
			
				|  |  | -	Whistle: "口哨声",
 | 
	
		
			
				|  |  | -	Ocarina: "陶笛",
 | 
	
		
			
				|  |  | -	Lead: "合成主音",
 | 
	
		
			
				|  |  | -	"Lead lead": "合成主音",
 | 
	
		
			
				|  |  | -	"Pad age": "合成音色",
 | 
	
		
			
				|  |  | -	Pad: "合成音色",
 | 
	
		
			
				|  |  | -	FX: "合成效果  科幻",
 | 
	
		
			
				|  |  | -	Sitar: "西塔尔",
 | 
	
		
			
				|  |  | -	Banjo: "班卓琴",
 | 
	
		
			
				|  |  | -	Shamisen: "三昧线",
 | 
	
		
			
				|  |  | -	Koto: "十三弦筝",
 | 
	
		
			
				|  |  | -	Kalimba: "卡林巴",
 | 
	
		
			
				|  |  | -	Bagpipe: "风笛",
 | 
	
		
			
				|  |  | -	Fiddle: "民族提琴",
 | 
	
		
			
				|  |  | -	Shanai: "山奈",
 | 
	
		
			
				|  |  | -	"Tinkle Bell": "叮当铃",
 | 
	
		
			
				|  |  | -	Agogos: "阿戈戈铃",
 | 
	
		
			
				|  |  | -	"Steel Drums": "钢鼓",
 | 
	
		
			
				|  |  | -	"Taiko Drum": "太鼓",
 | 
	
		
			
				|  |  | -	"Melodic Toms": "嗵嗵鼓",
 | 
	
		
			
				|  |  | -	"Synth Drums": "合成鼓",
 | 
	
		
			
				|  |  | -	"Reverse Cymbals": "反向镲",
 | 
	
		
			
				|  |  | -	"Agogo Bells": "阿戈戈铃",
 | 
	
		
			
				|  |  | -	"Taiko Drums": "太鼓",
 | 
	
		
			
				|  |  | -	Bongos: "邦戈鼓",
 | 
	
		
			
				|  |  | -	"Bongo Bell": "邦戈铃",
 | 
	
		
			
				|  |  | -	Congas: "康加鼓",
 | 
	
		
			
				|  |  | -	Guiro: "刮壶",
 | 
	
		
			
				|  |  | -	"Guitar Fret Noise": "吉他换把杂音",
 | 
	
		
			
				|  |  | -	"Breath Noise": "呼吸声",
 | 
	
		
			
				|  |  | -	Seashore: "海浪声",
 | 
	
		
			
				|  |  | -	"Bird Tweet": "鸟鸣",
 | 
	
		
			
				|  |  | -	"Telephone Ring": "电话铃",
 | 
	
		
			
				|  |  | -	Helicopter: "直升机",
 | 
	
		
			
				|  |  | -	Applause: "鼓掌声",
 | 
	
		
			
				|  |  | -	Gunshot: "枪声",
 | 
	
		
			
				|  |  | -	"Acoustic Bass Drum": "大鼓",
 | 
	
		
			
				|  |  | -	"Bass Drum": "大鼓",
 | 
	
		
			
				|  |  | -	"Side Drum": "小鼓鼓边",
 | 
	
		
			
				|  |  | -	"Acoustic Snare": "小鼓",
 | 
	
		
			
				|  |  | -	"Hand Claps": "拍手",
 | 
	
		
			
				|  |  | -	"Electric Snare": "小鼓",
 | 
	
		
			
				|  |  | -	"Low Floor Tom": "低音嗵鼓",
 | 
	
		
			
				|  |  | -	"Closed Hi-Hat": "闭合踩镲",
 | 
	
		
			
				|  |  | -	"High Floor Tom": "高音落地嗵鼓",
 | 
	
		
			
				|  |  | -	"Pedal Hi-Hat": "脚踏踩镲",
 | 
	
		
			
				|  |  | -	"Low Tom": "低音嗵鼓",
 | 
	
		
			
				|  |  | -	"Open Hi-Hat": "开音踩镲",
 | 
	
		
			
				|  |  | -	"Low-Mid Tom": "中低音嗵鼓",
 | 
	
		
			
				|  |  | -	"Hi Mid Tom": "高音鼓",
 | 
	
		
			
				|  |  | -	"Crash Cymbals": "对镲",
 | 
	
		
			
				|  |  | -	"High Tom": "高音嗵鼓",
 | 
	
		
			
				|  |  | -	"Ride Cymbals": "叮叮镲",
 | 
	
		
			
				|  |  | -	"Chinese Cymbals": "中国镲",
 | 
	
		
			
				|  |  | -	"Ride Bell": "圆铃",
 | 
	
		
			
				|  |  | -	Tambourine: "铃鼓",
 | 
	
		
			
				|  |  | -	"Splash Cymbal": "溅音镲",
 | 
	
		
			
				|  |  | -	Cowbell: "牛铃",
 | 
	
		
			
				|  |  | -	"Crash Cymbal": "强音钹",
 | 
	
		
			
				|  |  | -	"Vibra-Slap": "颤音器",
 | 
	
		
			
				|  |  | -	"Ride Cymbal": "打点钹",
 | 
	
		
			
				|  |  | -	"Hi Bongo": "高音邦戈鼓",
 | 
	
		
			
				|  |  | -	"Low Bongo": "低音邦戈鼓",
 | 
	
		
			
				|  |  | -	"Mute Hi Conga": "弱音高音康加鼓",
 | 
	
		
			
				|  |  | -	"Open Hi Conga": "强音高音康加鼓",
 | 
	
		
			
				|  |  | -	"Low Conga": "低音康加鼓",
 | 
	
		
			
				|  |  | -	"High Timbale": "高音天巴鼓",
 | 
	
		
			
				|  |  | -	"Low Timbale": "低音天巴鼓",
 | 
	
		
			
				|  |  | -	"High Agogo": "高音阿戈戈铃",
 | 
	
		
			
				|  |  | -	"Low Agogo": "低音阿戈戈铃",
 | 
	
		
			
				|  |  | -	Cabasa: "卡巴萨",
 | 
	
		
			
				|  |  | -	Maracas: "沙锤",
 | 
	
		
			
				|  |  | -	"Short Whistle": "短口哨",
 | 
	
		
			
				|  |  | -	"Long Whistle": "长口哨",
 | 
	
		
			
				|  |  | -	"Short Guiro": "短刮壶",
 | 
	
		
			
				|  |  | -	"Long Guiro": "长刮壶",
 | 
	
		
			
				|  |  | -	Claves: "响棒",
 | 
	
		
			
				|  |  | -	"Hi Wood Block": "高音木鱼",
 | 
	
		
			
				|  |  | -	"Low Wood Block": "低音木鱼",
 | 
	
		
			
				|  |  | -	"Mute Triangle": "弱音三角铁",
 | 
	
		
			
				|  |  | -	"Open Triangle": "强音三角铁",
 | 
	
		
			
				|  |  | -	"Drum Set": "架子鼓",
 | 
	
		
			
				|  |  | -	"Hulusi flute": "葫芦丝",
 | 
	
		
			
				|  |  | -	Melodica: "口风琴",
 | 
	
		
			
				|  |  | -	Nai: "口风琴",
 | 
	
		
			
				|  |  | -	"Snare Drum": "小军鼓",
 | 
	
		
			
				|  |  | -	Cymbal: "镲",
 | 
	
		
			
				|  |  | -	Cymbals: "镲",
 | 
	
		
			
				|  |  | -	"Horn in F": "圆号",
 | 
	
		
			
				|  |  | -	Triangle: "三角铁",
 | 
	
		
			
				|  |  | -	Vibrato: "颤音琴",
 | 
	
		
			
				|  |  | -	"Suspend Cymbals": "吊镲",
 | 
	
		
			
				|  |  | -	"Suspended Cymbals": "吊镲",
 | 
	
		
			
				|  |  | -	"Tom-Toms": "嗵嗵鼓",
 | 
	
		
			
				|  |  | -	Bell: "铃铛",
 | 
	
		
			
				|  |  | -	Bells: "铃铛",
 | 
	
		
			
				|  |  | -	"Alto Clarinet": "中音单簧管",
 | 
	
		
			
				|  |  | -	"Bass Clarinet": "低音单簧管",
 | 
	
		
			
				|  |  | -	Cornet: "短号",
 | 
	
		
			
				|  |  | -	Euphonium: "上低音号",
 | 
	
		
			
				|  |  | -	"crash cymbals": "对镲",
 | 
	
		
			
				|  |  | -	Castanets: "响板",
 | 
	
		
			
				|  |  | -	Shaker: "沙锤",
 | 
	
		
			
				|  |  | -	"Mark tree": "音树",
 | 
	
		
			
				|  |  | -	Chimes: "管钟",
 | 
	
		
			
				|  |  | -	"Mark Tree": "音树",
 | 
	
		
			
				|  |  | -	"Tom-toms": "嗵嗵鼓",
 | 
	
		
			
				|  |  | -	"Hi-Hat": "踩镲",
 | 
	
		
			
				|  |  | -	"Sleigh Bells": "雪橇铃",
 | 
	
		
			
				|  |  | -	Flexatone: "弹音器",
 | 
	
		
			
				|  |  | -	"Brake drum": "闸鼓",
 | 
	
		
			
				|  |  | -	Gong: "锣",
 | 
	
		
			
				|  |  | -	"concert tom": "音乐会嗵嗵鼓",
 | 
	
		
			
				|  |  | -	"brake drum": "车轮鼓",
 | 
	
		
			
				|  |  | -	"finger cymbal": "指钹",
 | 
	
		
			
				|  |  | -	"ride cymbal": "叮叮镲",
 | 
	
		
			
				|  |  | -	"Concert Toms": "音乐会嗵嗵鼓",
 | 
	
		
			
				|  |  | -	Vibraslap: "弹音器",
 | 
	
		
			
				|  |  | -	"Wood Blocks": "木鱼",
 | 
	
		
			
				|  |  | -	"Temple Blocks": "木鱼",
 | 
	
		
			
				|  |  | -	"Wood Block": "木鱼",
 | 
	
		
			
				|  |  | -	"Field Drum": "军鼓",
 | 
	
		
			
				|  |  | -	"Quad-Toms": "筒鼓",
 | 
	
		
			
				|  |  | -	Quads: "筒鼓",
 | 
	
		
			
				|  |  | -	"Drums set": "架子鼓",
 | 
	
		
			
				|  |  | -	"High Bongo": "邦戈",
 | 
	
		
			
				|  |  | -	Timbales: "天巴鼓",
 | 
	
		
			
				|  |  | +  'Acoustic Grand Piano': '大钢琴',
 | 
	
		
			
				|  |  | +  'Bright Acoustic Piano': '明亮的钢琴',
 | 
	
		
			
				|  |  | +  'Electric Grand Piano': '电钢琴',
 | 
	
		
			
				|  |  | +  'Rhodes Piano': '柔和的电钢琴',
 | 
	
		
			
				|  |  | +  'Chorused Piano': '加合唱效果的电钢琴',
 | 
	
		
			
				|  |  | +  Harpsichord: '羽管键琴',
 | 
	
		
			
				|  |  | +  Clavichord: '科拉维科特琴',
 | 
	
		
			
				|  |  | +  Celesta: '钢片琴',
 | 
	
		
			
				|  |  | +  Glockenspiel: '钢片琴',
 | 
	
		
			
				|  |  | +  'Music box': '八音盒',
 | 
	
		
			
				|  |  | +  Vibraphone: '颤音琴',
 | 
	
		
			
				|  |  | +  Marimba: '马林巴',
 | 
	
		
			
				|  |  | +  Xylophone: '木琴',
 | 
	
		
			
				|  |  | +  'Tubular Bells': '管钟',
 | 
	
		
			
				|  |  | +  Dulcimer: '大扬琴',
 | 
	
		
			
				|  |  | +  'Hammond Organ': '击杆风琴',
 | 
	
		
			
				|  |  | +  'Percussive Organ': '打击式风琴',
 | 
	
		
			
				|  |  | +  'Rock Organ': '摇滚风琴',
 | 
	
		
			
				|  |  | +  'Church Organ': '教堂风琴',
 | 
	
		
			
				|  |  | +  'Reed Organ': '簧管风琴',
 | 
	
		
			
				|  |  | +  Accordian: '手风琴',
 | 
	
		
			
				|  |  | +  Harmonica: '口琴',
 | 
	
		
			
				|  |  | +  'Tango Accordian': '探戈手风琴',
 | 
	
		
			
				|  |  | +  'Acoustic Guitar': '钢弦吉他',
 | 
	
		
			
				|  |  | +  'Electric Guitar': '闷音电吉他',
 | 
	
		
			
				|  |  | +  'Overdriven Guitar': '加驱动效果的电吉他',
 | 
	
		
			
				|  |  | +  'Distortion Guitar': '加失真效果的电吉他',
 | 
	
		
			
				|  |  | +  'Guitar Harmonics': '吉他和音',
 | 
	
		
			
				|  |  | +  'Acoustic Bass': '大贝司',
 | 
	
		
			
				|  |  | +  'Electric Bass': '电贝司',
 | 
	
		
			
				|  |  | +  'Fretless Bass': '无品贝司',
 | 
	
		
			
				|  |  | +  'Slap Bass': '掌击',
 | 
	
		
			
				|  |  | +  'Synth Bass': '电子合成',
 | 
	
		
			
				|  |  | +  Violin: '小提琴',
 | 
	
		
			
				|  |  | +  Viola: '中提琴',
 | 
	
		
			
				|  |  | +  Cello: '大提琴',
 | 
	
		
			
				|  |  | +  Contrabass: '低音大提琴',
 | 
	
		
			
				|  |  | +  'Tremolo Strings': '弦乐群颤音音色',
 | 
	
		
			
				|  |  | +  'Pizzicato Strings': '弦乐群拨弦音色',
 | 
	
		
			
				|  |  | +  'Orchestral Harp': '竖琴',
 | 
	
		
			
				|  |  | +  Timpani: '定音鼓',
 | 
	
		
			
				|  |  | +  'String Ensemble': '弦乐合奏音色',
 | 
	
		
			
				|  |  | +  'Synth Strings': '合成弦乐合奏音色',
 | 
	
		
			
				|  |  | +  'Choir Aahs': '人声合唱',
 | 
	
		
			
				|  |  | +  'Voice Oohs': '人声',
 | 
	
		
			
				|  |  | +  'Synth Voice': '合成人声',
 | 
	
		
			
				|  |  | +  'Orchestra Hit': '管弦乐敲击齐奏',
 | 
	
		
			
				|  |  | +  Trumpet: '小号',
 | 
	
		
			
				|  |  | +  Trombone: '长号',
 | 
	
		
			
				|  |  | +  Tuba: '大号',
 | 
	
		
			
				|  |  | +  'Muted Trumpet': '加弱音器小号',
 | 
	
		
			
				|  |  | +  'French Horn': '法国号',
 | 
	
		
			
				|  |  | +  'Brass Section': '铜管组',
 | 
	
		
			
				|  |  | +  'Synth Brass': '合成铜管音色',
 | 
	
		
			
				|  |  | +  'Soprano Sax': '高音萨克斯管',
 | 
	
		
			
				|  |  | +  'Alto Sax': '中音萨克斯管',
 | 
	
		
			
				|  |  | +  'Tenor Sax': '次中音萨克斯管',
 | 
	
		
			
				|  |  | +  'Baritone Sax': '低音萨克斯管',
 | 
	
		
			
				|  |  | +  Oboe: '双簧管',
 | 
	
		
			
				|  |  | +  'English Horn': '英国管',
 | 
	
		
			
				|  |  | +  Bassoon: '巴松',
 | 
	
		
			
				|  |  | +  Clarinet: '单簧管',
 | 
	
		
			
				|  |  | +  'Soprano Saxophone': '高音萨克斯管',
 | 
	
		
			
				|  |  | +  'Alto Saxophone': '中音萨克斯管',
 | 
	
		
			
				|  |  | +  'Tenor Saxophone': '次中音萨克斯管',
 | 
	
		
			
				|  |  | +  'Baritone Saxophone': '低音萨克斯管',
 | 
	
		
			
				|  |  | +  Piccolo: '短笛',
 | 
	
		
			
				|  |  | +  Flute: '长笛',
 | 
	
		
			
				|  |  | +  Recorder: '竖笛',
 | 
	
		
			
				|  |  | +  'Soprano Recorder': '高音竖笛',
 | 
	
		
			
				|  |  | +  'Pan Flute': '排箫',
 | 
	
		
			
				|  |  | +  'Bottle Blow': '瓶木管',
 | 
	
		
			
				|  |  | +  Whistle: '口哨声',
 | 
	
		
			
				|  |  | +  Ocarina: '陶笛',
 | 
	
		
			
				|  |  | +  Lead: '合成主音',
 | 
	
		
			
				|  |  | +  'Lead lead': '合成主音',
 | 
	
		
			
				|  |  | +  'Pad age': '合成音色',
 | 
	
		
			
				|  |  | +  Pad: '合成音色',
 | 
	
		
			
				|  |  | +  FX: '合成效果  科幻',
 | 
	
		
			
				|  |  | +  Sitar: '西塔尔',
 | 
	
		
			
				|  |  | +  Banjo: '班卓琴',
 | 
	
		
			
				|  |  | +  Shamisen: '三昧线',
 | 
	
		
			
				|  |  | +  Koto: '十三弦筝',
 | 
	
		
			
				|  |  | +  Kalimba: '卡林巴',
 | 
	
		
			
				|  |  | +  Bagpipe: '风笛',
 | 
	
		
			
				|  |  | +  Fiddle: '民族提琴',
 | 
	
		
			
				|  |  | +  Shanai: '山奈',
 | 
	
		
			
				|  |  | +  'Tinkle Bell': '叮当铃',
 | 
	
		
			
				|  |  | +  Agogos: '阿戈戈铃',
 | 
	
		
			
				|  |  | +  'Steel Drums': '钢鼓',
 | 
	
		
			
				|  |  | +  'Taiko Drum': '太鼓',
 | 
	
		
			
				|  |  | +  'Melodic Toms': '嗵嗵鼓',
 | 
	
		
			
				|  |  | +  'Synth Drums': '合成鼓',
 | 
	
		
			
				|  |  | +  'Reverse Cymbals': '反向镲',
 | 
	
		
			
				|  |  | +  'Agogo Bells': '阿戈戈铃',
 | 
	
		
			
				|  |  | +  'Taiko Drums': '太鼓',
 | 
	
		
			
				|  |  | +  Bongos: '邦戈鼓',
 | 
	
		
			
				|  |  | +  'Bongo Bell': '邦戈铃',
 | 
	
		
			
				|  |  | +  Congas: '康加鼓',
 | 
	
		
			
				|  |  | +  Guiro: '刮壶',
 | 
	
		
			
				|  |  | +  'Guitar Fret Noise': '吉他换把杂音',
 | 
	
		
			
				|  |  | +  'Breath Noise': '呼吸声',
 | 
	
		
			
				|  |  | +  Seashore: '海浪声',
 | 
	
		
			
				|  |  | +  'Bird Tweet': '鸟鸣',
 | 
	
		
			
				|  |  | +  'Telephone Ring': '电话铃',
 | 
	
		
			
				|  |  | +  Helicopter: '直升机',
 | 
	
		
			
				|  |  | +  Applause: '鼓掌声',
 | 
	
		
			
				|  |  | +  Gunshot: '枪声',
 | 
	
		
			
				|  |  | +  'Acoustic Bass Drum': '大鼓',
 | 
	
		
			
				|  |  | +  'Bass Drum': '大鼓',
 | 
	
		
			
				|  |  | +  'Side Drum': '小鼓鼓边',
 | 
	
		
			
				|  |  | +  'Acoustic Snare': '小鼓',
 | 
	
		
			
				|  |  | +  'Hand Claps': '拍手',
 | 
	
		
			
				|  |  | +  'Electric Snare': '小鼓',
 | 
	
		
			
				|  |  | +  'Low Floor Tom': '低音嗵鼓',
 | 
	
		
			
				|  |  | +  'Closed Hi-Hat': '闭合踩镲',
 | 
	
		
			
				|  |  | +  'High Floor Tom': '高音落地嗵鼓',
 | 
	
		
			
				|  |  | +  'Pedal Hi-Hat': '脚踏踩镲',
 | 
	
		
			
				|  |  | +  'Low Tom': '低音嗵鼓',
 | 
	
		
			
				|  |  | +  'Open Hi-Hat': '开音踩镲',
 | 
	
		
			
				|  |  | +  'Low-Mid Tom': '中低音嗵鼓',
 | 
	
		
			
				|  |  | +  'Hi Mid Tom': '高音鼓',
 | 
	
		
			
				|  |  | +  'Crash Cymbals': '对镲',
 | 
	
		
			
				|  |  | +  'High Tom': '高音嗵鼓',
 | 
	
		
			
				|  |  | +  'Ride Cymbals': '叮叮镲',
 | 
	
		
			
				|  |  | +  'Chinese Cymbals': '中国镲',
 | 
	
		
			
				|  |  | +  'Ride Bell': '圆铃',
 | 
	
		
			
				|  |  | +  Tambourine: '铃鼓',
 | 
	
		
			
				|  |  | +  'Splash Cymbal': '溅音镲',
 | 
	
		
			
				|  |  | +  Cowbell: '牛铃',
 | 
	
		
			
				|  |  | +  'Crash Cymbal': '强音钹',
 | 
	
		
			
				|  |  | +  'Vibra-Slap': '颤音器',
 | 
	
		
			
				|  |  | +  'Ride Cymbal': '打点钹',
 | 
	
		
			
				|  |  | +  'Hi Bongo': '高音邦戈鼓',
 | 
	
		
			
				|  |  | +  'Low Bongo': '低音邦戈鼓',
 | 
	
		
			
				|  |  | +  'Mute Hi Conga': '弱音高音康加鼓',
 | 
	
		
			
				|  |  | +  'Open Hi Conga': '强音高音康加鼓',
 | 
	
		
			
				|  |  | +  'Low Conga': '低音康加鼓',
 | 
	
		
			
				|  |  | +  'High Timbale': '高音天巴鼓',
 | 
	
		
			
				|  |  | +  'Low Timbale': '低音天巴鼓',
 | 
	
		
			
				|  |  | +  'High Agogo': '高音阿戈戈铃',
 | 
	
		
			
				|  |  | +  'Low Agogo': '低音阿戈戈铃',
 | 
	
		
			
				|  |  | +  Cabasa: '卡巴萨',
 | 
	
		
			
				|  |  | +  Maracas: '沙锤',
 | 
	
		
			
				|  |  | +  'Short Whistle': '短口哨',
 | 
	
		
			
				|  |  | +  'Long Whistle': '长口哨',
 | 
	
		
			
				|  |  | +  'Short Guiro': '短刮壶',
 | 
	
		
			
				|  |  | +  'Long Guiro': '长刮壶',
 | 
	
		
			
				|  |  | +  Claves: '响棒',
 | 
	
		
			
				|  |  | +  'Hi Wood Block': '高音木鱼',
 | 
	
		
			
				|  |  | +  'Low Wood Block': '低音木鱼',
 | 
	
		
			
				|  |  | +  'Mute Triangle': '弱音三角铁',
 | 
	
		
			
				|  |  | +  'Open Triangle': '强音三角铁',
 | 
	
		
			
				|  |  | +  'Drum Set': '架子鼓',
 | 
	
		
			
				|  |  | +  'Hulusi flute': '葫芦丝',
 | 
	
		
			
				|  |  | +  Melodica: '口风琴',
 | 
	
		
			
				|  |  | +  Nai: '口风琴',
 | 
	
		
			
				|  |  | +  'Snare Drum': '小军鼓',
 | 
	
		
			
				|  |  | +  Cymbal: '镲',
 | 
	
		
			
				|  |  | +  Cymbals: '镲',
 | 
	
		
			
				|  |  | +  'Horn in F': '圆号',
 | 
	
		
			
				|  |  | +  Triangle: '三角铁',
 | 
	
		
			
				|  |  | +  Vibrato: '颤音琴',
 | 
	
		
			
				|  |  | +  'Suspend Cymbals': '吊镲',
 | 
	
		
			
				|  |  | +  'Suspended Cymbals': '吊镲',
 | 
	
		
			
				|  |  | +  'Tom-Toms': '嗵嗵鼓',
 | 
	
		
			
				|  |  | +  Bell: '铃铛',
 | 
	
		
			
				|  |  | +  Bells: '铃铛',
 | 
	
		
			
				|  |  | +  'Alto Clarinet': '中音单簧管',
 | 
	
		
			
				|  |  | +  'Bass Clarinet': '低音单簧管',
 | 
	
		
			
				|  |  | +  Cornet: '短号',
 | 
	
		
			
				|  |  | +  Euphonium: '上低音号',
 | 
	
		
			
				|  |  | +  'crash cymbals': '对镲',
 | 
	
		
			
				|  |  | +  Castanets: '响板',
 | 
	
		
			
				|  |  | +  Shaker: '沙锤',
 | 
	
		
			
				|  |  | +  'Mark tree': '音树',
 | 
	
		
			
				|  |  | +  Chimes: '管钟',
 | 
	
		
			
				|  |  | +  'Mark Tree': '音树',
 | 
	
		
			
				|  |  | +  'Tom-toms': '嗵嗵鼓',
 | 
	
		
			
				|  |  | +  'Hi-Hat': '踩镲',
 | 
	
		
			
				|  |  | +  'Sleigh Bells': '雪橇铃',
 | 
	
		
			
				|  |  | +  Flexatone: '弹音器',
 | 
	
		
			
				|  |  | +  'Brake drum': '闸鼓',
 | 
	
		
			
				|  |  | +  Gong: '锣',
 | 
	
		
			
				|  |  | +  'concert tom': '音乐会嗵嗵鼓',
 | 
	
		
			
				|  |  | +  'brake drum': '车轮鼓',
 | 
	
		
			
				|  |  | +  'finger cymbal': '指钹',
 | 
	
		
			
				|  |  | +  'ride cymbal': '叮叮镲',
 | 
	
		
			
				|  |  | +  'Concert Toms': '音乐会嗵嗵鼓',
 | 
	
		
			
				|  |  | +  Vibraslap: '弹音器',
 | 
	
		
			
				|  |  | +  'Wood Blocks': '木鱼',
 | 
	
		
			
				|  |  | +  'Temple Blocks': '木鱼',
 | 
	
		
			
				|  |  | +  'Wood Block': '木鱼',
 | 
	
		
			
				|  |  | +  'Field Drum': '军鼓',
 | 
	
		
			
				|  |  | +  'Quad-Toms': '筒鼓',
 | 
	
		
			
				|  |  | +  Quads: '筒鼓',
 | 
	
		
			
				|  |  | +  'Drums set': '架子鼓',
 | 
	
		
			
				|  |  | +  'High Bongo': '邦戈',
 | 
	
		
			
				|  |  | +  Timbales: '天巴鼓'
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /** 获取分轨名称 */
 | 
	
		
			
				|  |  |  export const getInstrumentName = (name = '') => {
 | 
	
		
			
				|  |  | -  name = name.toLocaleLowerCase().replace(/ /g, '')
 | 
	
		
			
				|  |  | -  if (!name) return ''
 | 
	
		
			
				|  |  | -  for(let key in instruments){
 | 
	
		
			
				|  |  | -    const _key = key.toLocaleLowerCase().replace(/ /g, '')
 | 
	
		
			
				|  |  | -    if (_key.includes(name)){
 | 
	
		
			
				|  |  | -      return instruments[key]
 | 
	
		
			
				|  |  | +  name = name.toLocaleLowerCase().replace(/ /g, '');
 | 
	
		
			
				|  |  | +  if (!name) return '';
 | 
	
		
			
				|  |  | +  for (let key in instruments) {
 | 
	
		
			
				|  |  | +    const _key = key.toLocaleLowerCase().replace(/ /g, '');
 | 
	
		
			
				|  |  | +    if (_key.includes(name)) {
 | 
	
		
			
				|  |  | +      return instruments[key];
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  | -  for(let key in instruments){
 | 
	
		
			
				|  |  | -    const _key = key.toLocaleLowerCase().replace(/ /g, '')
 | 
	
		
			
				|  |  | -    if (name.includes(_key)){
 | 
	
		
			
				|  |  | -      return instruments[key]
 | 
	
		
			
				|  |  | +  for (let key in instruments) {
 | 
	
		
			
				|  |  | +    const _key = key.toLocaleLowerCase().replace(/ /g, '');
 | 
	
		
			
				|  |  | +    if (name.includes(_key)) {
 | 
	
		
			
				|  |  | +      return instruments[key];
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  | -  return ''
 | 
	
		
			
				|  |  | +  return '';
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /**
 | 
	
		
			
				|  |  |   * 乐器排序
 | 
	
		
			
				|  |  |   * 排序顺序:长笛、单簧管、中音单簧管、低音单簧管、高音萨克斯风、中音萨克斯风、次中音萨克斯风、低音萨克斯风、小号、长号、圆号、大号、上低音号
 | 
	
		
			
				|  |  | - * */ 
 | 
	
		
			
				|  |  | + * */
 | 
	
		
			
				|  |  |  export const sortMusical = (name: string, index: number) => {
 | 
	
		
			
				|  |  | -	let sortId = 0
 | 
	
		
			
				|  |  | -	switch (name) {
 | 
	
		
			
				|  |  | -	  case '长笛':
 | 
	
		
			
				|  |  | -		sortId = 1
 | 
	
		
			
				|  |  | -		break;
 | 
	
		
			
				|  |  | -	  case '单簧管':
 | 
	
		
			
				|  |  | -		sortId = 2
 | 
	
		
			
				|  |  | -		break;
 | 
	
		
			
				|  |  | -	  case '中音单簧管':
 | 
	
		
			
				|  |  | -		sortId = 3
 | 
	
		
			
				|  |  | -		break;
 | 
	
		
			
				|  |  | -	  case '低音单簧管':
 | 
	
		
			
				|  |  | -		sortId = 4
 | 
	
		
			
				|  |  | -		break;
 | 
	
		
			
				|  |  | -	  case '高音萨克斯风':
 | 
	
		
			
				|  |  | -		sortId = 5
 | 
	
		
			
				|  |  | -		break;
 | 
	
		
			
				|  |  | -	  case '中音萨克斯风':
 | 
	
		
			
				|  |  | -		sortId = 6
 | 
	
		
			
				|  |  | -		break;
 | 
	
		
			
				|  |  | -	  case '次中音萨克斯风':
 | 
	
		
			
				|  |  | -		sortId = 7
 | 
	
		
			
				|  |  | -		break;
 | 
	
		
			
				|  |  | -	  case '低音萨克斯风':
 | 
	
		
			
				|  |  | -		sortId = 8  
 | 
	
		
			
				|  |  | -		break;  
 | 
	
		
			
				|  |  | -	  case '小号':
 | 
	
		
			
				|  |  | -		sortId = 9  
 | 
	
		
			
				|  |  | -		break;     
 | 
	
		
			
				|  |  | -	  case '长号':
 | 
	
		
			
				|  |  | -		sortId = 10 
 | 
	
		
			
				|  |  | -		break;       
 | 
	
		
			
				|  |  | -	  case '圆号':
 | 
	
		
			
				|  |  | -		sortId =11  
 | 
	
		
			
				|  |  | -		break;       
 | 
	
		
			
				|  |  | -	  case '大号':
 | 
	
		
			
				|  |  | -		sortId = 12  
 | 
	
		
			
				|  |  | -		break; 
 | 
	
		
			
				|  |  | -	  case '上低音号':
 | 
	
		
			
				|  |  | -		sortId = 13 
 | 
	
		
			
				|  |  | -		break; 
 | 
	
		
			
				|  |  | -	  default:
 | 
	
		
			
				|  |  | -		sortId = index + 14
 | 
	
		
			
				|  |  | -		break;
 | 
	
		
			
				|  |  | -	}
 | 
	
		
			
				|  |  | -	return sortId
 | 
	
		
			
				|  |  | -}
 | 
	
		
			
				|  |  | +  let sortId = 0;
 | 
	
		
			
				|  |  | +  switch (name) {
 | 
	
		
			
				|  |  | +    case '长笛':
 | 
	
		
			
				|  |  | +      sortId = 1;
 | 
	
		
			
				|  |  | +      break;
 | 
	
		
			
				|  |  | +    case '单簧管':
 | 
	
		
			
				|  |  | +      sortId = 2;
 | 
	
		
			
				|  |  | +      break;
 | 
	
		
			
				|  |  | +    case '中音单簧管':
 | 
	
		
			
				|  |  | +      sortId = 3;
 | 
	
		
			
				|  |  | +      break;
 | 
	
		
			
				|  |  | +    case '低音单簧管':
 | 
	
		
			
				|  |  | +      sortId = 4;
 | 
	
		
			
				|  |  | +      break;
 | 
	
		
			
				|  |  | +    case '高音萨克斯风':
 | 
	
		
			
				|  |  | +      sortId = 5;
 | 
	
		
			
				|  |  | +      break;
 | 
	
		
			
				|  |  | +    case '中音萨克斯风':
 | 
	
		
			
				|  |  | +      sortId = 6;
 | 
	
		
			
				|  |  | +      break;
 | 
	
		
			
				|  |  | +    case '次中音萨克斯风':
 | 
	
		
			
				|  |  | +      sortId = 7;
 | 
	
		
			
				|  |  | +      break;
 | 
	
		
			
				|  |  | +    case '低音萨克斯风':
 | 
	
		
			
				|  |  | +      sortId = 8;
 | 
	
		
			
				|  |  | +      break;
 | 
	
		
			
				|  |  | +    case '小号':
 | 
	
		
			
				|  |  | +      sortId = 9;
 | 
	
		
			
				|  |  | +      break;
 | 
	
		
			
				|  |  | +    case '长号':
 | 
	
		
			
				|  |  | +      sortId = 10;
 | 
	
		
			
				|  |  | +      break;
 | 
	
		
			
				|  |  | +    case '圆号':
 | 
	
		
			
				|  |  | +      sortId = 11;
 | 
	
		
			
				|  |  | +      break;
 | 
	
		
			
				|  |  | +    case '大号':
 | 
	
		
			
				|  |  | +      sortId = 12;
 | 
	
		
			
				|  |  | +      break;
 | 
	
		
			
				|  |  | +    case '上低音号':
 | 
	
		
			
				|  |  | +      sortId = 13;
 | 
	
		
			
				|  |  | +      break;
 | 
	
		
			
				|  |  | +    default:
 | 
	
		
			
				|  |  | +      sortId = index + 14;
 | 
	
		
			
				|  |  | +      break;
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +  return sortId;
 | 
	
		
			
				|  |  | +};
 |