VOCALOID2, 3 の推奨音域
新記事あります→VOCALOID2, 3 の推奨音域 - つちのこ、のこのこ。(はてな番外地)
『VOCALOID2 の推奨声域 - つちのこ、のこのこ。(はてな番外地)』に書いたものからいろいろと追加されたので、改めて記事にします。
名前 | 音域 | (幅) | , | テンポ | (幅) | ||||
---|---|---|---|---|---|---|---|---|---|
(バス) | D1 | - | F3 | (28) | , | - | - | - | ( - ) |
VY2 | A1 | - | E3 | (20) | , | 70 | - | 140 | ( 71) |
がくっぽいどWHISPER | A1 | - | G3 | (23) | , | 60 | - | 150 | ( 91) |
氷山キヨテル | C2 | - | G3 | (20) | , | 60 | - | 160 | (101) |
がくっぽいど/NATIVE/POWER | A1 | - | C4 | (28) | , | 60 | - | 150 | ( 91) |
(テノール) | C2 | - | C4 | (25) | , | - | - | - | ( - ) |
ガチャッポイド | F2 | - | A3 | (17) | , | 90 | - | 150 | ( 61) |
Lily | D2 | - | D4 | (25) | , | 90 | - | 180 | ( 91) |
歌愛ユキ | F2 | - | C4 | (20) | , | 50 | - | 150 | (101) |
結月ゆかり | D2 | - | F4 | (28) | , | 60 | - | 120 | ( 61) |
鏡音レン serious | A2 | - | C4 | (16) | , | 55 | - | 155 | (101) |
VY1/VY1V3 | F2 | - | E4 | (24) | , | 60 | - | 175 | (116) |
CUL | F2 | - | E4 | (24) | , | 40 | - | 200 | (161) |
V3 Lily | D2 | - | G4 | (30) | , | 90 | - | 180 | ( 91) |
V3 Megpoid | F2 | - | F4 | (25) | , | 60 | - | 175 | (116) |
鏡音レン power | A2 | - | D4 | (18) | , | 65 | - | 170 | (106) |
鏡音レン cold | B2 | - | C4 | (14) | , | 60 | - | 160 | (101) |
SF-A2 開発コード miki | E2 | - | G4 | (28) | , | 70 | - | 170 | (101) |
猫村いろは | E2 | - | G4 | (28) | , | 70 | - | 170 | (101) |
V2 Megpoid, Native | F2 | - | A4 | (29) | , | 60 | - | 175 | (116) |
Mew | G2 | - | G4 | (25) | , | 65 | - | 150 | ( 86) |
兎眠りおん | A2 | - | F4 | (21) | , | 60 | - | 140 | ( 81) |
蒼姫ラピス | A2 | - | F4 | (21) | , | 70 | - | 200 | (131) |
(アルト) | F2 | - | B4 | (31) | , | - | - | - | ( - ) |
IA | B2 | - | A4 | (23) | , | 63 | - | 228 | (166) |
歌手音ピコ | C3 | - | B4 | (24) | , | 70 | - | 150 | ( 81) |
SeeU | C3 | - | C5 | (25) | , | 60 | - | 170 | (111) |
初音ミク Dark | D3 | - | B4 | (22) | , | 60 | - | 145 | ( 86) |
初音ミク Solid | D3 | - | C5 | (23) | , | 65 | - | 160 | ( 96) |
鏡音レン | D3 | - | C♯5 | (24) | , | 70 | - | 160 | ( 91) |
鏡音リン power | F3 | - | B4 | (19) | , | 65 | - | 170 | (106) |
鏡音リン warm | F3 | - | B4 | (19) | , | 60 | - | 160 | (101) |
巡音ルカ | D3 | - | D5 | (25) | , | 65 | - | 145 | ( 81) |
(ソプラノ) | C3 | - | E5 | (29) | , | - | - | - | ( - ) |
初音ミク Sweet | F3 | - | D5 | (22) | , | 55 | - | 155 | (101) |
鏡音リン | F♯3 | - | C♯5 | (20) | , | 85 | - | 175 | ( 91) |
鏡音リン sweet | G3 | - | C5 | (18) | , | 55 | - | 155 | (101) |
初音ミク Vivid | G3 | - | D5 | (20) | , | 95 | - | 180 | ( 86) |
初音ミク Light | A3 | - | D5 | (18) | , | 85 | - | 175 | ( 91) |
初音ミク | A3 | - | E5 | (20) | , | 70 | - | 150 | ( 81) |
初音ミク Soft | A3 | - | E5 | (20) | , | 70 | - | 150 | ( 81) |
VOCALOID3 になっても「推奨音域内でサンプルした音声を中埋めして発声する」という基本部分は変わっていないみたいですので、VOCALOID2, 3 区別なく並べています。
ちなみにエディタ上で明るい色になっている部分は C1 - B4
ですので、初音ミクあたりは C5 以上の灰色になっている高域まで推奨音域が広がっていることになります。
というか、メーカー公式のデモ
がこの初音ミク推奨音域の下限を下回ってる音使ってるのですがどういうことなの!?
文字グラフ
A#BC#D#EF#G#A#BC#D#EF (バス) 111222222222222333333333333444444444444555555555555 A#BC#D#EF#G#A#BC#D#E VY2 A#BC#D#EF#G#A#BC#D#EF#G がくっぽいどWHISPER C#D#EF#G#A#BC#D#EF#G 氷山キヨテル A#BC#D#EF#G#A#BC#D#EF#G#A#BC がくっぽいど/NATIVE/POWER C#D#EF#G#A#BC#D#EF#G#A#BC (テノール) 111222222222222333333333333444444444444555555555555 F#G#A#BC#D#EF#G#A ガチャッポイド D#EF#G#A#BC#D#EF#G#A#BC#D Lily F#G#A#BC#D#EF#G#A#BC 歌愛ユキ D#EF#G#A#BC#D#EF#G#A#BC#D#EF 結月ゆかり A#BC#D#EF#G#A#BC 鏡音レン serious F#G#A#BC#D#EF#G#A#BC#D#E VY1/VY1V3 F#G#A#BC#D#EF#G#A#BC#D#E CUL D#EF#G#A#BC#D#EF#G#A#BC#D#EF#G V3 Lily F#G#A#BC#D#EF#G#A#BC#D#EF V3 Megpoid A#BC#D#EF#G#A#BC#D 鏡音レン power BC#D#EF#G#A#BC 鏡音レン cold EF#G#A#BC#D#EF#G#A#BC#D#EF#G SF-A2 開発コード miki EF#G#A#BC#D#EF#G#A#BC#D#EF#G 猫村いろは F#G#A#BC#D#EF#G#A#BC#D#EF#G#A V2 Megpoid, Native G#A#BC#D#EF#G#A#BC#D#EF#G Mew A#BC#D#EF#G#A#BC#D#EF 兎眠りおん A#BC#D#EF#G#A#BC#D#EF 蒼姫ラピス F#G#A#BC#D#EF#G#A#BC#D#EF#G#A#B (アルト) 111222222222222333333333333444444444444555555555555 BC#D#EF#G#A#BC#D#EF#G#A IA C#D#EF#G#A#BC#D#EF#G#A#B 歌手音ピコ C#D#EF#G#A#BC#D#EF#G#A#BC SeeU D#EF#G#A#BC#D#EF#G#A#B 初音ミク Dark D#EF#G#A#BC#D#EF#G#A#BC 初音ミク Solid D#EF#G#A#BC#D#EF#G#A#BC# 鏡音レン F#G#A#BC#D#EF#G#A#B 鏡音リン power F#G#A#BC#D#EF#G#A#B 鏡音リン warm D#EF#G#A#BC#D#EF#G#A#BC#D 巡音ルカ C#D#EF#G#A#BC#D#EF#G#A#BC#D#E (ソプラノ) 111222222222222333333333333444444444444555555555555 F#G#A#BC#D#EF#G#A#BC#D 初音ミク Sweet #G#A#BC#D#EF#G#A#BC# 鏡音リン G#A#BC#D#EF#G#A#BC 鏡音リン sweet G#A#BC#D#EF#G#A#BC#D 初音ミク Vivid A#BC#D#EF#G#A#BC#D 初音ミク Light A#BC#D#EF#G#A#BC#D#E 初音ミク A#BC#D#EF#G#A#BC#D#E 初音ミク Soft 111222222222222333333333333444444444444555555555555
V2→V3 になった音源では、VY1 が推奨音域変わらず。Megpoid は高域の半音 4個分が減りましたが、これは現実的な作りになった、ということで、退歩したのではないと思いますが……。
新規に出た SeeU, Mew の猫ボカロ達はアルト〜ソプラノあたりの、女声として繁用される声域をフォローする感じ。というか、ミクとかリンとかが音域高すぎ狭すぎなんであって、普通に使う女声ボカロとしてはそこらへんの、つまりルカ〜Lily あたりまでが使いやすいでしょうね。
おまけ
出力するのに使った Python スクリプトです。(Python 2.6 用)
好きに流用してください。
data = u""" 初音ミク,70-150,A3-E5 初音ミク Sweet,55-155,F3-D5 初音ミク Dark,60-145,D3-B4 初音ミク Soft,70-150,A3-E5 初音ミク Light,85-175,A3-D5 初音ミク Vivid,95-180,G3-D5 初音ミク Solid,65-160,D3-C5 鏡音リン,85-175,F♯3-C♯5 鏡音リン power,65-170,F3-B4 鏡音リン warm,60-160,F3-B4 鏡音リン sweet,55-155,G3-C5 鏡音レン,70-160,D3-C♯5 鏡音レン power,65-170,A2-D4 鏡音レン cold,60-160,B2-C4 鏡音レン serious,55-155,A2-C4 巡音ルカ,65-145,D3-D5 がくっぽいど/NATIVE/POWER,60-150,A1-C4 がくっぽいどWHISPER,60-150,A1-G3 V2 Megpoid,60-175,F2-A4 V3 Megpoid,60-175,F2-F4 Lily,90-180,D2-D4 ガチャッポイド,90-150,F2-A3 氷山キヨテル,60-160,C2-G3 歌愛ユキ,50-150,F2-C4 SF-A2 開発コード miki,70-170,E2-G4 猫村いろは,70-170,E2-G4 VY1/VY1V3,60-175,F2-E4 (ソプラノ),0-0,C3-E5 (アルト),0-0,F2-B4 (テノール),0-0,C2-C4 (バス),0-0,D1-F3 歌手音ピコ,70-150,C3-B4 VY2,70-140,A1-E3 SeeU,60-170,C3-C5 Mew,65-150,G2-G4 CUL,40-200,F2-E4 IA,63-228,B2-A4 結月ゆかり,60-120,D2-F4 兎眠りおん,60-140,A2-F4 蒼姫ラピス,70-200,A2-F4 V3 Lily,90-180,D2-G4 """ notename = 'C D EF G A B' def name_to_note(name): if u'♯' in name: sharp = True name = name[0] + name[2] else: sharp = False return int(name[1]) * 12 + notename.find(name[0]) + sharp table = [] for i in data.split('\n'): if not i.strip(): continue name, tempo, vocal_range = [x.strip() for x in i.split(',')] tempo = [int(x) for x in tempo.split('-')] vocal_range = vocal_range.split('-') tempo_width = tempo[1] - tempo[0] + 1 note_low = name_to_note(vocal_range[0]) vocal_width = name_to_note(vocal_range[1]) - note_low + 1 key = note_low * 2 + vocal_width table.append((key, name, tempo, tempo_width, vocal_range, vocal_width)) table.sort(cmp=lambda x,y:cmp(x[0], y[0])) ## html html_table = [] for (key, name, tempo, tempo_width, vocal_range, vocal_width) in table: html_table.append( u'''<tr><td>%s</td> <td>%s</td><td>-</td><td>%s</td><td>(%s)</td><th>,</th> <td>%s</td><td>-</td><td>%s</td><td>(%s)</td></tr>''' % ( name, vocal_range[0], vocal_range[1], vocal_width, tempo[0], tempo[1], str(tempo_width).rjust(3))) html = u'''<html> <head> <meta charset="UTF-8"> <title>VOCALOID2, 3 推奨音域とテンポ</title> </head> <body> <table> <caption>VOCALOID2, 3 推奨音域とテンポ</caption> <thead> <tr><th>名前</th> <th colspan=3>音域</th><th>(幅)</th><th>,</th> <th colspan=3>テンポ</th><th>(幅)</th></tr> </thead> <tbody> %s </tbody> </table> </body> </html>''' % '\n'.join(html_table) f = open('profile.htm', 'w') f.write(html.encode('utf-8')) f.close() ## text table = [] for i in data.split('\n'): if not i.strip(): continue name, tempo, vocal_range = [x.strip() for x in i.split(',')] tempo = [int(x) for x in tempo.split('-')] vocal_range = vocal_range.split('-') tempo_width = tempo[1] - tempo[0] + 1 note_low = name_to_note(vocal_range[0]) note_heigh = name_to_note(vocal_range[1]) vocal_width = note_heigh - note_low + 1 key = note_low * 2 + vocal_width table.append((key, name, note_low, note_heigh)) table.sort(cmp=lambda x,y:cmp(x[0], y[0])) leftcut = 20 octavehead = ''.join([x * 12 for x in '012345'])[leftcut+1:] graph = [octavehead] notetext = 'C#D#EF#G#A#B' for (key, name, note_low, note_heigh) in table: text = [' ' * (note_low - 1)] for i in range(note_low, note_heigh + 1): text.append(notetext[i % 12]) line = '%s %s' % (''.join(text), name) line = line[leftcut:] graph.append(line) graph.append(octavehead) f = open('profile.txt', 'w') f.write('\n'.join(graph).encode('utf-8')) f.close()