// 本脚本格式化乐器名称,数据来源:https://olon.notion.site/563e6245fe0c4c79999f45ab1b567486 // 直接复制 --- 所有乐器名称 --- 下,所有内容 // 目前不支持合成乐器 const names = `- Piano(钢 琴) - 0 Acoustic Grand Piano 大钢琴(声学钢琴) - 1 Bright Acoustic Piano 明亮的钢琴 - 2 Electric Grand Piano 电钢琴 - 3 Honky-tonk Piano酒吧钢琴 - 4 Rhodes Piano 柔和的电钢琴 - 5 Chorused Piano 加合唱效果的电钢琴 - 6 Harpsichord 羽管键琴(拨弦古钢琴) - 7 Clavichord 科拉维科特琴(击弦古钢琴) - 色彩打击乐器 - 8 Celesta 钢片琴 - 9 Glockenspiel钟琴 - 10 Music box 八音盒 - 11 Vibraphone 颤音琴 - 12 Marimba 马林巴 - 13 Xylophone 木琴 - 14 Tubular Bells 管钟 - 15 Dulcimer 大扬琴 - 风琴 - 16 Hammond Organ 击杆风琴 - 17 Percussive Organ 打击式风琴 - 18 Rock Organ 摇滚风琴 - 19 Church Organ 教堂风琴 - 20 Reed Organ 簧管风琴 - 21 Accordian 手风琴 - 22 Harmonica 口琴 - 23 Tango Accordian 探戈手风琴 - 吉他 - 24 Acoustic Guitar (nylon) 尼龙弦吉他 - 25 Acoustic Guitar (steel) 钢弦吉他 - 26 Electric Guitar (jazz) 爵士电吉他 - 27 Electric Guitar (clean) 清音电吉他 - 28 Electric Guitar (muted) 闷音电吉他 - 29 Overdriven Guitar 加驱动效果的电吉他 - 30 Distortion Guitar 加失真效果的电吉他 - 31 Guitar Harmonics 吉他和音 - 贝司 - 32 Acoustic Bass 大贝司(声学贝司) - 33 Electric Bass(finger) 电贝司(指弹) - 34 Electric Bass (pick) 电贝司(拨片) - 35 Fretless Bass 无品贝司 - 36 Slap Bass 1 掌击Bass 1 - 37 Slap Bass 2 掌击Bass 2 - 38 Synth Bass 1 电子合成Bass 1 - 39 Synth Bass 2 电子合成Bass 2 - 弦乐 - 40 Violin 小提琴 - 41 Viola 中提琴 - 42 Cello 大提琴 - 43 Contrabass 低音大提琴 - 44 Tremolo Strings 弦乐群颤音音色 - 45 Pizzicato Strings 弦乐群拨弦音色 - 46 Orchestral Harp 竖琴 - 47 Timpani 定音鼓 - 合奏/合唱 - 48 String Ensemble 1 弦乐合奏音色1 - 49 String Ensemble 2 弦乐合奏音色2 - 50 Synth Strings 1 合成弦乐合奏音色1 - 51 Synth Strings 2 合成弦乐合奏音色2 - 52 Choir Aahs 人声合唱“啊” - 53 Voice Oohs 人声“嘟” - 54 Synth Voice 合成人声 - 55 Orchestra Hit 管弦乐敲击齐奏 - 铜管 - 56 Trumpet 小号 - 57 Trombone 长号 - 58 Tuba 大号 - 59 Muted Trumpet 加弱音器小号 - 60 French Horn 法国号(圆号) - 61 Brass Section 铜管组(铜管乐器合奏音色) - 62 Synth Brass 1 合成铜管音色1 - 63 Synth Brass 2 合成铜管音色2 - 簧管 - 64 Soprano Sax 高音萨克斯风 - 65 Alto Sax 中音萨克斯风 - 66 Tenor Sax 次中音萨克斯风 - 67 Baritone Sax 低音萨克斯风 - 68 Oboe 双簧管 - 69 English Horn 英国管 - 70 Bassoon 巴松(大管) - 71 Clarinet 单簧管(黑管) - 笛 - 72 Piccolo 短笛 - 73 Flute 长笛 - 74 Recorder 竖笛 - 75 Pan Flute 排箫 - 76 Bottle Blow 瓶木管 - 77 Shakuhachi日本尺八 - 78 Whistle 口哨声 - 79 Ocarina 奥卡雷那 - 合成主音 - 80 Lead 1 (square) 合成主音1(方波) - 81 Lead 2 (sawtooth) 合成主音2(锯齿波) - 82 Lead 3 (caliope lead) 合成主音3 - 83 Lead 4 (chiff lead) 合成主音4 - 84 Lead 5 (charang) 合成主音5 - 85 Lead 6 (voice) 合成主音6(人声) - 86 Lead 7 (fifths) 合成主音7(平行五度) - 87 Lead 8 (bass+lead)合成主音8(贝司加主音) - 合成音色 - 88 Pad 1 (new age) 合成音色1(新世纪) - 89 Pad 2 (warm) 合成音色2 (温暖) - 90 Pad 3 (polysynth) 合成音色3 - 91 Pad 4 (choir) 合成音色4 (合唱) - 92 Pad 5 (bowed) 合成音色5 - 93 Pad 6 (metallic) 合成音色6 (金属声) - 94 Pad 7 (halo) 合成音色7 (光环) - 95 Pad 8 (sweep) 合成音色8 - 合成效果 - 96 FX 1 (rain) 合成效果 1 雨声 - 97 FX 2 (soundtrack) 合成效果 2 音轨 - 98 FX 3 (crystal) 合成效果 3 水晶 - 99 FX 4 (atmosphere) 合成效果 4 大气 - 100 FX 5 (brightness) 合成效果 5 明亮 - 101 FX 6 (goblins) 合成效果 6 鬼怪 - 102 FX 7 (echoes) 合成效果 7 回声 - 103 FX 8 (sci-fi) 合成效果 8 科幻 - 民间乐器 - 104 Sitar 西塔尔(印度) - 105 Banjo 班卓琴(美洲) - 106 Shamisen 三昧线(日本) - 107 Koto 十三弦筝(日本) - 108 Kalimba 卡林巴 - 109 Bagpipe 风笛 - 110 Fiddle 民族提琴 - 111 Shanai 山奈 - 打击乐器 - 112 Tinkle Bell 叮当铃 - 113 Agogo 阿哥哥铃 - 114 Steel Drums 钢鼓 - 115 Woodblock木鱼 - 116 Taiko Drum 太鼓 - 117 Melodic Tom 通通鼓 - 118 Synth Drum 合成鼓 - 119 Reverse Cymbal 铜钹 - Sound Effects 声音效果 - 120 Guitar Fret Noise 吉他换把杂音 - 121 Breath Noise 呼吸声 - 122 Seashore 海浪声 - 123 Bird Tweet 鸟鸣 - 124 Telephone Ring 电话铃 - 125 Helicopter 直升机 - 126 Applause 鼓掌声 - 127 Gunshot 枪声 - 更多打击乐(部分不支持) - 35 Acoustic Bass Drum 大鼓 2 - 36 Bass Drum 1 大鼓 1 - 37 Side Stick 小鼓鼓边 - 38 Acoustic Snare 小鼓 1 - 39 Hand Clap 拍手 - 40 Electric Snare 小鼓 2 - 41 Low Floor Tom 低音鼓 2 - 42 Closed Hi-Hat 闭合钹 - 43 High Floor Tom 低音鼓 1 - 44 Pedal Hi-Hat 脚踏钹 - 45 Low Tom 中音鼓 2 - 46 Open Hi-Hat 强音钹 - 47 Low-Mid Tom 中音鼓 1 - 48 Hi Mid Tom 2 高音鼓 2 - 49 Crash Cymbal 1 强音钹 1 - 50 High Tom 高音鼓 1 - 51 Ride Cymbal 1 打点钹 1 - 52 Chinese Cymbal 钹 - 53 Ride Bell 圆铃 - 54 Tambourine 铃鼓 - 55 Splash Cymbal 小钹铜钹 - 56 Cowbell 牛铃 - 57 Crash Cymbal 2 强音钹 2 - 58 Vibra-Slap 颤音器 - 59 Ride Cymbal 2 打点钹 2 - 60 Hi Bongo 高音邦加鼓 - 61 Low Bongo 低音邦加鼓 - 62 Mute Hi Conga 弱音高音康加鼓 - 63 Open Hi Conga 强音高音康加鼓 - 64 Low Conga 低音康加鼓 - 65 High Timbale 高音天巴鼓 - 66 Low Timbale 低音天巴鼓 - 67 High Agogo 高音阿哥哥 - 68 Low Agogo 低音阿哥哥 - 69 Cabasa 串珠 - 70 Maracas 沙铃 - 71 Short Whistle 短口哨 - 72 Long Whistle 长口哨 - 73 Short Guiro 短刮壶 - 74 Long Guiro 长刮壶 - 75 Claves 梆子 - 76 Hi Wood Block 高音木块 - 77 Low Wood Block 低音木块 - 78 Mute Cuica - 79 Open Cuica - 80 Mute Triangle 弱音三角铁 - 81 Open Triangle 强音三角铁 - 额外添加乐器 - Hulusi flute 葫芦丝 - Melodica 口风琴 - ocarina陶笛 - Pan Flute 排箫 - Snare Drum 小军鼓 - Cymbal 镲 - Cymbals 镲 - Horn in F 圆号 - Triangle 三角铁 - Vibrato 颤音琴 - Suspend Cymbal 吊镲 - Tom-Toms 嗵嗵鼓 - Bell 铃铛 - Bells 铃铛 - Alto Clarinet 中音单簧管 - Soprano Saxophone 高音萨克斯风 - Alto Saxophone 中音萨克斯风 - Tenor Saxophone 次中音萨克斯风 - Baritone Saxophone 低音萨克斯风 - Cornet 短号 - Euphonium 上低音号 - crash cymbals 对镲 - Suspend cymbals 吊镲 - Castanets 响板`.trim() const fs = require('fs') const path = require('path') const parseNames = names.split('\n').filter(line => line.indexOf(' ') === 0).map(line => line.trim()) const data = {} const json = {} for (let index = 0; index < parseNames.length; index++) { const name = parseNames[index]; const key = name.match(/ [a-zA-Z-]+/ig) const value = name.match(/ [\u4e00-\u9fa5]+/ig) if (key && value) { const k = key.map(name => name.trim()).join(' ').trim() json[k] = value.join(' ').trim(), data[k] = { key, v: value.join(' ').trim(), i: index, name } } } const filepath = path.resolve(__dirname, '../src/constant/instruments.ts') fs.writeFileSync(filepath, `export default ${JSON.stringify(json, null, 2)}`)