声優統計第四号において、駄目絶対音感の例として、レベルネオのCMの声優を日笠陽子と誤答する例が紹介されている。実際には早見沙織である。
声優の声の解析は声優統計および自分自身においても長らく滞っている分野であり、声優統計第五号がいろんなまとめサイトで取り上げられてバズっていた間にネット難民だった自分は取り残されていた。
そんなこんなで1月の間は信号解析について勉強していたのだが、ブログの更新も全然ェ…だったため、適当に下書き状態で書き進めつつ、がんばって書いた。というのも、一記事の情報量が多ければ多いほどIFの高い雑誌に採択されやすい適当に拡散されていろんな人の目に留まりやすいのですごい分量になっている…と思う(下書きの最初の時点では全然ェ…)
基本的にはPythonで音声信号処理のPythonスクリプトとMiyazawa’s Pukiwiki 公開版のmatlabスクリプトをRに書き下しただけのところが多いので、興味のある人はコピペしてみよう。
声優サンプルボイスの入手
声優事務所からクッソがんばって声優のサンプルボイスを手にいれまくる。Rで音声解析をしようと思ったら、大人の事情でmp3よりwavの方がいいので、コマンドで無音部分で分割してモノラルに一括変換する。
基本的には朗読形式のサンプルボイスなので、BGMは入っていないものとする。しかし、肝心のレベルネオのCMはBGMが入っているので、なんとかしてBGMを消去(声優音声とBGMの分離)を行うこととする(後述)。
こちらを参考に mp3splt と ffmpeg が必要。
# ターミナルで # 44100Hz, 16bit, モノラルに変換 for nf in *.mp3; do mp3splt -sn $nf; done for nf in *_silence_*.mp3; do ffmpeg -i $nf -ac 1 -ar 44100 -acodec pcm_s16le ${nf%.mp3}.wav; done #rm *_silence_*.mp3
ここで、はやみんが「はやみさおりです」と言っているファイルと例にやってみる。必要なパッケージ群はあらかじめインストールしておく。
library(tuneR) library(seewave) library(sound) library(dtt) library(fastICA) library(phonTools) library(e1071) library(gtools) library(randomForest) library(ape) library(tsne) library(Rlof) setwd("/cv_mp3/file/") # wav ファイルがあるディレクトリ
無音部分で分割したファイルで、はやみんのデータは"HAYAMI"とついている前提で、はやみんデータだけ読み込んだとする。そのなかで「はやみさおりです」ファイルだけ取っておく。
f <- list.files(pattern="HAYAMI") lab <- mapply(function(x) strsplit(x, "_silence_")[[1]][1], f) wav <- mapply(readWave, f) w <- wav[[1]] spectro(w, flim=c(0, 13)) # スペクトログラム
無音部分で分割したとしても、完全に分割されていないっぽかったので、Rのほうでも無音部分で分割してみる。extractWave 関数の msmooth のオプションで、移動平均による平滑化の具合を指定できるので適当にしてみる。
cutt <- timer(w, f=fs, threshold=0.1, msmooth=c(50, 0)) fs <- w@samp.rate w <- extractWave(w, from=cutt$s.start[1]*fs, to=cutt$s.end[1]*fs) spectro(w, flim=c(0, 13))
というわけで「はやみさおりです」部分だけを純粋に抽出したっぽいデータができた。
音声解析をやってみる
音声解析の前提として、
音声はいくつかの三角関数の和でできている
ということと、
和としての音声を元の周波数に分解して、構成要素を考える
ということのようである。
というわけで、上の参考リンクにあるように、答えの分かっているシミュレーションデータを使って確かめてみる。
4つの異なる周波数、振幅の正弦波が存在しているとする。
fs <- 1000 t1 <- seq(0, 10, 1/fs) f0 <- c(130, 200, 260, 320) # 周波数 a0 <- c(1.2, 0.9, 1.8, 1.4) # 振幅 theta <- runif(length(f0), min=0, max=2)*pi # 位相のズレ的な wav <- colSums(mapply(function(x) a0*sin(2*f0*pi*x+ theta), t1)) plot(t1, wav, type="l", xlab="Time [sec]", ylab="Amplitude", xlim=c(0, 0.05))
フーリエ変換を使うと周波数に分解することができ、絶対値を取るとそうなる。
2乗したものはパワースペクトルとなる。フーリエ変換すると左右対称になるので、前から半分を取る。
dft <- fft(wav) Adft <- abs(dft) # 振幅スペクトル Pdft <- Adft^2 # パワースペクトル hz_scale <- 1/diff(range(t1)) # 周波数スケール hz <- seq(0, fs, by=hz_scale) # 周波数 i <- seq(length(hz)/2) # 半分 xl <- c(0, 500) plot(hz[i], Adft[i], xlim=xl, type="l", xlab="Frequency [Hz]", ylab="Amplitude") abline(v=f0, lty=3, col="red") plot(hz[i], 10*Pdft[i], xlim=xl, type="l", xlab="Frequency [Hz]", ylab="Power")
振幅スペクトルの対数を逆フーリエ変換すると、ケプストラムになる。
cp <- c(Mod(fft(log(Adft, 10), inverse=TRUE))) plot(t1[i], cp[i], type="l", xlab="Quefrency [sec]", ylab="Cepstrum")
ケプストラムの低次成分を20次元分くらい取ってきてリフタリングを行い、さらにフーリエ変換するとスペクトル包絡が取れる。
音声モデルとしては、音声出力は人固有の喉の長さと音源の対数和で取れる、ということを仮定しているらしい。
cepCoef <- 20 # ケプストラム次数 cpsLif <- cp # arrayをコピー # 高周波成分を除く(左右対称なので注意) cpsLif[(cepCoef+2):(length(cpsLif) - cepCoef)] <- 0 dftSpc <- c(Mod(fft(cpsLif))) yl <- range(20*log(c(Adft[i], dftSpc[i]), 10)) plot(hz[i], 20*log(Adft[i], 10), type="l", xlim=xl, ylim=yl) lines(hz[i], 20*log(dftSpc[i], 10), type="l", col="blue", xlim=xl) abline(v=f0, lty=3, col="red")
なんかうまくいかない…
あとはスペクトル包絡のおそらく変曲点っぽいところを取れば、フォルマントと呼ばれる声優固有の周波数が取れう。ただし、これは同一の音を発声しているときじゃないと比較できないような感じ?
よくわからんので後述のフォルマント分析をパクってくる
l <- lpc(w@left, fs=fs, show=TRUE) # lpc によるスペクトル包絡を求める frm <- findformants(w@left, fs=fs) # フォルマント抽出
本当は、入力信号が周期関数でないと厳密な意味でフーリエ変換ができないから、ハミング窓と呼ばれる関数をかけて
hamming.window(length(wav))
なおかつ、高周波数領域の音は解析時につぶれるから、preemphasis というフィルターをかけて
preEmphasis <- 0.97 pre_signal <- c(tail(signal, -1) - preEmphasis*head(signal, -1))
その後、メルフィルタというのもをかけたりすると最終的にメルケプストラムというデータが取れる。がんばって関数を作ってもいいし、Rならmelfccという関数が既にあるので面倒くさければこれを使う。
melfccは指定時間ごとに音声データをずらして、指定窓ごとにメルケプストラムを求めるっぽい。
# mel filterbank の作成 melFilterBank <- function(fs, nfft, numChannels){ fmax <- fs / 2 # ナイキスト周波数(Hz) melmax <- 1127.01048 * log(fmax / 700 + 1) # ナイキスト周波数(mel) nmax <- nfft / 2 # 周波数インデックスの最大数 df <- floor(fs / nfft) # 周波数解像度(周波数インデックス1あたりのHz幅) dmel <- melmax / (numChannels + 1) # メル尺度における各フィルタの中心周波数を求める melcenters <- seq(numChannels) * dmel fcenters <- 700 * (exp(melcenters / 1127.01048) - 1) # 各フィルタの中心周波数をHzに変換 indexcenter <- round(fcenters / df) # 各フィルタの中心周波数を周波数インデックスに変換 indexstart <- c(0, head(indexcenter, -1)) # 各フィルタの開始位置のインデックス indexstop <- c(tail(indexcenter, -1), nmax) # 各フィルタの終了位置のインデックス filterbank <- matrix(0, nr=numChannels, nc=nmax) for(l in seq(numChannels)){ # 三角フィルタの左の直線の傾きから点を求める increment <- 1 / (indexcenter[l] - indexstart[l]) for(k in seq(indexstart[l], indexcenter[l]-1) + 1){ filterbank[l, k] <- (k - indexstart[l]) * increment } # 三角フィルタの右の直線の傾きから点を求める decrement <- 1 / (indexstop[l] - indexcenter[l]) for(k in seq(indexcenter[l], indexstop[l]-1) + 1){ filterbank[l, k] = 1 - ((k - indexcenter[l]) * decrement) } } filterbank <- cbind(0, filterbank) res <- list(filterbank=filterbank, fcenters=fcenters) return(res) }
メルケプストラムは人が持つ音声認識能力に非常に近い解析、とかなんとかいろいろ書いてあった。もうひとつ、メルケプストラムの時間変化量である動的特徴量というものもある。こちらを参考に線形回帰の係数をただとるだけの関数を作る。
# melfcc のcepstra 行列をぶち込む形式 # dd は前後いくつ取るか delta_cepstrum <- function(mat, dd=2){ res <- mat dat1 <- mat[c(rep(1, dd) ,seq(nrow(mat)), rep(nrow(mat), dd)), ] x <- seq(2*dd + 1) for(j in seq(ncol(dat1))){ for(i in (dd+1):(nrow(dat1)-dd)){ y <- dat1[(i-dd):(i+dd), j] lm1 <- lm(y ~ x) res[i-dd, j] <- lm1$coefficients[2] } } return(res) } dc <- delta_cepstrum(m$cepstra, dd=5) matplot(t(dc), type="l")
独立成分分析
レベルネオのCMにBGMが混じっているのをどうにかしよう。音声の分離には、カクテルパーティ効果とか聖徳太子効果とか言われる、独立成分分析と呼ばれる手法を用いる。これは、音源が独立に音を発していて、観測者がそれを混成信号として受け取るときに、なんとかそれらを分離できるという手法である。
# ICA をする neo <- readWave("tvcm_stereo.wav") X <- cbind(neo@left, neo@right) a <- fastICA(X, 2, alg.typ = "deflation", fun = "logcosh", alpha = 1, method = "R", row.norm = FALSE, maxit = 200, tol = 0.0001, verbose = TRUE)
Sというリストに分離された信号が入っているわけだが、これをwav化して保存する。
S <- apply(a$S, 2, Wave, samp.rate=neo@samp.rate, bit=neo@bit) for(i in seq(S)) writeWave(S[[i]]*3000, paste("neo", i, ".wav", sep="")) sec0 <- 7.3 sec1 <- 8.5 w <- extractWave(S[[1]], from=sec0*fs, to=sec1*fs) spectro(w, flim=c(0, 5))
たぶんBGMがちょっと消えたやつ。
はやみんの音声が消えてBGMになったやつ。6秒くらいからの盛り上がり部分で振幅が大きくなっている。
たぶん正規化されて出力は音声が小さいので適当に底上げしておく。
ステレオ音源2つから2つの独立音源を抽出した的な感じでやると、ひとつはBGMが完全分離できたが、はやみんの「レベルネオ」は純粋に分離できなかったっぽい。
これで少しノイズが軽減したとしよう。
15秒のCMのなかで、「レベルネオ」は7秒から8秒くらいのところなので、ここを切り出し、さらに100msec 程度ランダムサンプリングして、同様に声優サンプルボイスからランダムサンプリングして得られた日笠、早見学習器にぶち込んで推定結果を見ることにする。
n_trn <- 1000 # 学習データ数 ms <- 100/1000 # melfcc 用の秒数 f_n <- 4 # 採用するformant 数 cv_label <- rep(cv_name, each=n_trn) res <- array(0, c(12*18, n_trn, length(cv_name))) # メルケプストラム fres <- array(0, c(f_n, n_trn, length(cv_name))) # フォルマント counter <- 1 pb <- txtProgressBar(max=length(wav)*n_trn, style=3) for(cv in seq(wav)){ i <- 1 while(i <= n_trn){ setTxtProgressBar(pb, counter) idx <- sample(seq(wav[[cv]]), size=1) w <- wav[[cv]][[idx]] d <- timer(w, f=fs, threshold=0.1, msmooth=c(50, 0), plot=FALSE) k <- which(d$s.end - head(d$s.start, length(d$s.end)) > ms) didx <- ifelse(length(k) == 1, k, sample(k, size=1)) if (length(k) > 0){ w1 <- extractWave(w, from=d$s.start[didx]*fs, to=d$s.end[didx]*fs) sec0 <- runif(1, min=0, max=length(w1@left)/fs-ms) sec1 <- sec0 + ms #spectro(w);abline(v=c(sec0, sec1), lty=3, col=2) tmp_w <- extractWave(w1, from=sec0*fs, to=sec1*fs) m <- melfcc(tmp_w, wintime=ms/5, hoptime=0.01, spec_out=TRUE) dc <- delta_cepstrum(m$cepstra, dd=5) g <- rbind(m$ceps, dc) dim(g) res[, i, cv] <- c(g) tmp_f <- findformants(tmp_w@left, fs=fs, verify=FALSE) fres[, i, cv] <- head(tmp_f$formant, f_n) i <- i + 1 counter <- counter + 1 } } } # 行列に書きなおす res1 <- matrix(res, nr=length(cv_name)*n_trn, byrow=TRUE) res1 <- data.frame(cv=cv_label, res1)
1000件ずつランダムサンプリングデータを作成し、学習器を作る。特に理由なくランダムフォレストを使うDeep learning って書けばアクセス増える。学習データセットでは
Call: randomForest(formula = cv ~ ., data = res1) Type of random forest: classification Number of trees: 500 No. of variables tried at each split: 14 OOB estimate of error rate: 5.15% Confusion matrix: HAYAMI HIKASA class.error HAYAMI 927 73 0.073 HIKASA 30 970 0.030
別に作成した検証データセットでも93%くらいの精度っぽい。
HAYAMI HIKASA HAYAMI 887 113 HIKASA 31 969
で、CMからちょっとだけBGMを除去し、「レベルネオ」の部分だけ100msec 程度で1000回ランダムサンプリングしたデータで、日笠・早見誤認問題を解くと…
HAYAMI HIKASA 1000 0
結果としては 100% 早見沙織 でした。
今回は日笠と早見の二人だけ分類器だったが、これを3人目の「その他」分類や、もっと増やして誰になるか、とかしてもよかったかもしれない。
パラメータはメルケプストラム12次元に動的統計量12次元に、音声データを少しずつずらして得ているので12*12*9の216次元になっている。このパラメータ数に対してデータが1000で学習器を作っているので汎化性能的にどうなの?という問題がありそうななさそうな気がするが、計算資源がいまのところないので国立遺伝学研究所のスパコンを申請しようと思う。
フォルマント分析
フォルマントはケプストラム分析でLPCしたときの係数らしい。こちらが詳しい。
いろいろ見ていたら4つくらい成分を取れば結構認識に使えるとか使えないとか…
めんどくさいので findformant 関数を使う。
普通は「あ」とか単一で、発話者は同一の単語をしゃべってもらって解析するようだが、そんなことは無理なのでケプストラムと同様に300msec程度のランダムサンプリングを繰り返して平均をフォルマントとすることにしよう。
いい感じでフォルマント数に応じて高い周波数になっている。
さきほどの「はやみさおりです」サンプルボイスでフォルマントがどうなっているかプロットしてみる。
う〜んまあ、なるほどわからん。
多次元データ解析
フォルマントは各声優についての4次元定量データなので、ごちうさっぽく多次元データ解析してみる。
まずは何も考えずクラスタリングしてみる。
男女では声の高さが人の耳で聴いても違うように、フォルマントで分類したらそれなりにきれいに分かれそうである。気になる点としては
オレの好きなほっしゃん(堀江由衣)と一番近いのは僕の王の力(右腕)(梶裕貴)である。まったく分からない。次に近いのはあらららららぎ君(神谷浩史)でこれも分からない。
癒しボイスの皆川純子が男性クラスタ内にいる。どういうことだってばよ…
ぶるわぁぁあぁ(若本規夫)に一番近いのが朴路美、竹達彩奈というのもよく分からない。
とりあえず仲間はずれなフォルマントを有する声優がいないかLOFを行った。結果としては水樹奈々、能登麻美子、野島裕史の3人は外れ値のようである。なぜ外れ値になったのかはなぜと聴かれると難しいが、能登麻美子はときどき早見沙織に聴こえる、という話を聞くので、むしろ能登麻美子だけ外れ値になって早見沙織はそうならなかったのかが気になる。声優としては声に特徴があったほうがいいだろうから、むしろ外れ値になったほうがいい?よく分からないが。
最後にtSNEをした。SPADEは面倒くさかったのでやらなかった。
これも男女の分離はそれなりにできていそうである。クラスタリングでも指摘したように、堀江由衣や皆川純子が男性側に、若本規夫らが女性側に来ている。井上和彦はクラスタリングでもtSNEでもものすごい女性側である。
音声データから様々な統計量を抽出し、統計解析をしてみたわけだが、声優固有の周波数だとか、魅力的な周波数帯だとか、声優統計的に一番知りたいだろそれは的なことはぶっちゃけよく分からなかった。ただ、周波数帯的に似ている声優のクラスタリングには成功しているっぽいので、自分以外の声豚からのコメントを待ちながら、声優として魅力的な周波数帯の発見を課題にしたい。
と同時に、統計的声質変換を使って、例えば配役の替わってしまったドラマCDを元の声優に戻すことや、「このキャラの配役、どう考えても間違っただろェ…」というアニメのメインヒロインを、オレの大好きな種田梨沙や茅野愛衣にひたすら変換していく作業をしたい。
声優フォルマント
name name1 sex f1 f2 f3 f4 ABE_Atsushi 阿部敦 M 589.51 1566.54 2714.205 3977.01 AIZAWA_Mai 相沢舞 F 790.515 2210.77 3479.23 4803.715 AKESAKA_Satomi 明坂聡美 F 654.45 2041.49 3681.91 4620.525 ARAI_Satomi 新井里美 F 804.635 1995.16 3295.31 4837.48 ENDO_Aya 遠藤綾 F 725.825 1894.47 3415.725 4580.745 FUJITA_Saki 藤田咲 F 800.075 2337.445 3908.495 5009.175 FUJIWARA_Keiji 藤原啓治 M 484.495 1952.215 3108.065 4474.655 FUKAMI_Rica 深見梨加 F 820.72 1938.41 3240.32 4662.585 FUKUEN_Misato 福圓美里 F 657.135 1612.96 3524.275 4608.685 FUKUYAMA_Jun 福山潤 M 778.71 1758.335 2885.475 4553.025 GOTO_Yuko 後藤邑子 F 865.675 1963.835 3761.7 4633.105 HAYAMI_Saori 早見沙織 F 891.025 1993.52 3371.29 4782.065 HIKASA_Yoko 日笠陽子 F 684.91 2001.295 3384.95 4633.985 HINO_Satoshi 日野聡 M 422.295 1748.365 2873.8 3603.625 HIRAKAWA_Daisuke 平川大輔 M 704.735 1486.78 2669.13 3942.825 HIROHASHI_Ryo 広橋涼 F 799.275 1709.845 3744.475 4694.04 HONDA_Mariko 本多真梨子 F 613.99 1816.79 3328.5 4740.585 HORIE_Yui 堀江由衣 F 643.34 1870.785 3024.545 4295.065 HOSHI_Soichiro 保志総一朗 M 660.9 1698.8 2982.44 4242.1 HOSOYA_Yoshimasa 細谷佳正 M 480.02 1525.565 2690.955 3721.89 IGUCHI_Yuka 井口裕香 F 829.915 1794.01 3477.5 4641.445 INOUE_Kazuhiko 井上和彦 M 752.455 1675.4 3668.41 4717.03 INOUE_Kikuko 井上喜久子 F 646.355 2091.455 3648.705 4810.905 INOUE_Marina 井上麻里奈 F 890.165 1870.31 3213.77 4852.225 ISHIDA_Akira 石田彰 M 618.92 1660.57 2842.055 4008.31 ITO_Shizuka 伊藤静 F 775.79 2169.935 3538.38 4715.945 KADOWAKI_Mai 門脇舞以 F 805.45 2032.19 3747.215 4911.97 KAJI_Yuki 梶裕貴 M 666.36 1977.88 3081.935 4244.225 KAMIYA_Hiroshi 神谷浩史 M 733.015 1867.235 3033.125 4125.915 KAWAKAMI_Tomoko 川上とも子 F 963.5 1958.475 3233.99 4332.175 KITAMURA_Eri 喜多村英梨 F 853.335 1834.575 3451.905 4657.045 KOBAYASHI_Sanae 小林沙苗 F 862.595 2005.145 3722.065 4838.26 KOBAYASHI_Yu 小林ゆう F 977.23 1863.32 3276.635 4572.78 KOSHIMIZU_Ami 小清水亜美 F 794.775 1912.815 3700.895 4816.725 KUGIMIYA_Rie 釘宮理恵 F 934.58 2060.09 3752.9 5022.98 KUWATANI_Natsuko 桑谷夏子 F 502.46 2000.17 3517.53 4659.135 MAENO_Tomoaki 前野智昭 M 631.9 1552.53 2741.93 3767.745 MAJIMA_Junji 間島淳司 M 533.97 1640.42 2830.39 4095.48 MATSUOKA_Yuki 松岡由貴 F 974.26 1929.965 3698.105 4966.015 MIDORIKAWA_Hikaru 緑川光 M 533.005 1724.195 2763.235 3965.055 MINAGAWA_Junko 皆川純子 F 751.27 1877.505 2929.78 4458.46 MIZUHASHI_Kaori 水原薫 F 863.865 1966.145 3470.47 4720.72 MIZUKI_Nana 水樹奈々 F 828.27 2100.06 3729.39 5504.3 MORIKUBO_Showtaro 森久保祥太郎 M 665.495 1990.815 3231.21 4785.995 NABATAME_Hitomi 生天目仁美 F 836.315 1830.53 3517.765 4566.025 NAKAHARA_Mai 中原麻衣 F 838.465 2264.61 3839.295 5129.385 NAKAMURA_Eriko 中村繪里子 F 781.97 1804.005 3168.275 4606.175 NAKAMURA_Yuichi 中村悠一 M 820.75 1801.165 3114.955 4890.245 NAKATA_Joji 中田譲治 M 649.885 1744.365 2688.55 4571 NAMIKAWA_Daisuke 浪川大輔 M 663.54 1748.935 2692.305 4460.73 NOGAWA_Sakura 野川さくら F 853.86 1914.005 3564.795 4777.74 NOJIMA_Hirofumi 野島裕史 M 618.2 1699.73 2817.49 5105.355 NONAKA_Ai 野中藍 F 731.77 1838.66 3419.795 4291.33 NOTO_Mamiko 能登麻美子 F 665.82 1655.355 3591.065 4999.315 OGATA_Megumi 緒方恵美 F 868.935 1939.715 3512.07 4790.73 OHARA_Sayaka 大原さやか F 547.525 2165.08 3280.085 4559.78 OKAWA_Toru 大川透 M 592.465 1651.905 2823.84 3570.945 ONO_Daisuke 小野大輔 M 577.35 1649.425 2834.91 4156.875 ORIKASA_Ai 折笠愛 F 710.48 2015.79 3376 4649.08 ORIKASA_Fumiko 折笠富美子 F 554.695 1372.91 2718.87 4028.105 OTANI_Ikue 大谷育江 F 678.975 2038.555 3726.035 4937.895 OTSUKA_Akio 大塚明夫 M 430.7 1574.98 2541.125 3867.44 PARK_Romi 朴路美 F 553.975 1778.645 3361.37 4499.905 SAIGA_Mitsuki 斎賀みつき F 631.52 1763.925 3149.5 4348.555 SAITO_Chiwa 斎藤千和 F 916.275 2096.03 3778.91 4880.3 SANADA_Asami 真田アサミ F 750.72 1598.355 3504.355 4529.38 SAWASHIRO_Miyuki 沢城みゆき F 755.58 2123.145 3773.73 4676.95 SHIMODA_Asami 下田麻美 F 907.395 1864.48 3178.22 4185.655 SHIMONO_Hiro 下野紘 M 487.345 1525.42 2808.75 4299.305 SHINTANI_Ryoko 新谷良子 F 873.79 1770.155 3395.255 4647.42 SHIRAISHI_Minoru 白石稔 M 562.68 1493.725 2692.25 4167.835 SUGIYAMA_Noriaki 杉山紀彰 M 578.985 1541.19 2649.225 4114.495 SUZUKI_Tatsuhisa 鈴木達央 M 804.82 1870.33 2883.145 4680.48 SUZUMURA_Kenichi 鈴村健一 M 673.965 2068.04 2987.87 4013.44 TACHIBANA_Shinnosuke 立花慎之介 M 626.45 1653.98 2933.63 4072.62 TACHIKI_Fumihiko 立木文彦 M 724.655 1984.655 3070.23 4823.65 TAKAHASHI_Hiroki 高橋宏樹 M 669.44 1852.61 3228.085 4231.95 TAKAHASHI_Mikako 高橋美佳子 F 843.105 1794.54 3592.455 4695.2 TAKETATSU_Ayana 竹達彩奈 F 656.255 1684.39 3253.15 4481.195 TAKEUCHI_Junko 竹内順子 F 793.215 2070.46 3508.52 4735.945 TAMURA_Yukari 田村ゆかり F 604.415 2100.805 3823.355 4962.505 TANAKA_Atsuko 田中敦子 F 499.425 2071.04 3288.02 4446.125 TANIYAMA_Kisho 谷山紀章 M 808.47 1778.355 2912.525 4380.825 TERASHIMA_Takuma 寺島拓篤 M 545.585 1706.035 2886.845 3755.99 TORIUMI_Kosuke 鳥海浩輔 M 696.85 1848.305 2784.35 4173.95 UEDA_Kana 植田佳奈 F 806.61 1926.9 3724.175 4873.415 UTSUMI_Kenji 内海賢二 M 427.575 1542.08 2728.67 3724.175 WAKAMOTO_Norio 若本規夫 M 472.775 1854.755 3301.465 4549 YAHAGI_Sayuri 矢作紗友里 F 636.91 2331.465 3937.955 5225.6 YAMADERA_Koichi 山寺宏一 M 703.045 1660.47 2524.505 3951.21 YONAGA_Tsubasa 代永翼 M 641.15 1875.71 3213.44 4384.265 YOSHINO_Hiroyuki 吉野裕行 M 688.17 1868.665 3210.07 4445.75 YUKINO_Satsuki 雪野五月 F 762.425 1880.865 3593.315 4680.51 Yukana ゆかな F 625.055 1736.32 3458.49 4548.545