Browse Source

feat: 合并部分功能

TIANYONG 8 months ago
parent
commit
7759a8dc82

+ 203 - 199
src/constant/instruments.ts

@@ -1,203 +1,207 @@
 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: "巴松",
-	"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": "小军鼓",
-	"Horn in F": "圆号",
-	Triangle: "三角铁",
-	Vibrato: "颤音琴",
-	"Suspend Cymbals": "吊镲",
-	"Suspended Cymbals": "吊镲",
-	"Tom-Toms": "嗵嗵鼓",
-	Bell: "铃铛",
-	Bells: "铃铛",
-	"Alto Clarinet": "中音单簧管",
-	"Bass Clarinet": "低音单簧管",
-	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: "天巴鼓",
-	Cymbal: "镲",
-	Cymbals: "镲",
+	'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: '巴松',
+	'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: '口风琴',
+	'Snare Drum': '小军鼓',
+	'Horn in F': '圆号',
+	Triangle: '三角铁',
+	Vibrato: '颤音琴',
+	'Suspend Cymbals': '吊镲',
+	'Suspended Cymbals': '吊镲',
+	'Tom-Toms': '嗵嗵鼓',
+	Bell: '铃铛',
+	Bells: '铃铛',
+	'Alto Clarinet': '中音单簧管',
+	'Bass Clarinet': '低音单簧管',
+	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: '天巴鼓',
+	'rain stick': '雨棒',
+	'String Bass': '弦乐低音',
+	'Floor Tom': '侧嗵鼓',
+	'Brake Drum': '闸鼓',
+	'Tam-tam': '大锣',
+	Cymbal: '镲',
+	Cymbals: '镲'
 };
 /** 获取分轨名称 */
 export const getInstrumentName = (name = '') => {

+ 3 - 0
src/helpers/formateMusic.ts

@@ -876,6 +876,9 @@ export const formateTimes = (osmd: OpenSheetMusicDisplay) => {
 			if (note.IsGraceNote) {
 				// 如果是装饰音, 取不是装饰音的时值
 				const voice = note.parentStaffEntry.voiceEntries.find((_v: any) => !_v.isGrace);
+				if (!voice) {
+					continue;
+				}
 				note = voice.notes[0];
 			}
 			note.fixedKey = note.ParentVoiceEntry.ParentVoice.Parent.SubInstruments[0].fixedKey || 0;

+ 4 - 0
src/view/selection/index.tsx

@@ -162,6 +162,10 @@ const calcNoteData = () => {
 			}
 		}
 	}
+	// 部分浏览器渲染的第一小节的位置信息会包含拍号、调号,需要处理一下,剔除掉拍号、调号的位置
+	if (selectData.staves[0]?.staveBox?.top !== selectData.staves[1]?.staveBox?.top) {
+		selectData.staves[0].staveBox.top = selectData.staves[1]?.staveBox?.top || selectData.staves[0]?.staveBox?.top
+	}
 	console.log("🚀 ~ selectData.notes:", selectData.notes, selectData.staves);
 };
 

+ 1 - 0
src/view/transfer-to-img/index.tsx

@@ -41,6 +41,7 @@ export default defineComponent({
 
 		onMounted(() => {
 			(window as any).appName = "colexiu";
+			state.isEvxml = true;
 			state.xmlUrl = decodeURIComponent(query.xmlUrl);
 			const specialXmls = ['https://oss.dayaedu.com/MECMP/1715332965751.xml','https://oss.dayaedu.com/MECMP/1715326622946.xml'];
 			if (specialXmls.includes(state.xmlUrl)) {