22
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

声優のオープンデータを作ってみた

Last updated at Posted at 2018-01-14

声優のオープンデータがなかったので、
Linked Open Dataとして作ってみました。

声優とアニメ作品とキャラクターのデータを作りました。

また、声優の一番気になる情報といえば声!
そこで、声優のCV(キャスティングボイス)を解析し、音声の特徴量を解析してデータ化しました。

Linked Open Dataとは構造化されたデータ(Linked Data)のオープンデータです。
Qiita内にLinked Dataについて記事があったのでこちらを参照してください。
Wikipedia からスクレイピングして… とか言ってる人におすすめしたい,DBPedia からの情報抽出

#データについて
作成するにあたり、Wikipediaのデータを用いました。
WikipediaのページはCC-Byで公開されているので用いました。
 参考:Wikipedia:ウィキペディアを二次利用する
声優のサンプルボイスは、以下の事務所のサイトで公開されているサンプルボイスを基に解析しました。
・EARLYWING
・大沢事務所
・81プロデュース
・アイムエンタープライズ
・マウスプロモーション
・青二プロダクション
・アクロスエンタテインメント
・賢プロダクション
・アーツビジョン

作成したデータのエンドポイントはこちらになります。
http://seiyu-lod.org/sparql

#スキーマ説明
以下がスキーマ図です。
◯はURI、□はリテラルを示しています。
図中で使われているprefixは以下です。
・prefix rdfs: http://www.w3.org/2000/01/rdf-schema#
・prefix so: http://seiyu-lod.org/ontology/

スクリーンショット 2018-01-15 0.02.08.png

以下のデータをRDF化しています。
・声優のサンプルボイスの特徴量
・声優が参加したアニメ
 ・アニメのスタッフ情報(監督・制作など)
   ※図中では監督・制作・音響監督のみですが、実際のデータは多数あります
・声優が担当したキャラクター

独自定義したプロパティと説明です。

プロパティ名 説明
so:sampleVoice サンプルボイス
so:join 参加した作品
so:voice 声を担当したキャラクター
so:voicedBy 声を担当した人
so:mfcc メル周波数ケプストラム係数 (MFCC)の数値
so:series 登場する作品
so:staff アニメ作品のスタッフ
so:監督,so:音響,etc so:staffのサブプロパティ

#クエリ例
###「上坂すみれ」が参加した作品一覧

select distinct ?anime_name where {
 ?seiyu_uri rdfs:label "上坂すみれ"@ja . 
 ?seiyu_uri <http://seiyu-lod.org/ontology/join> ?anime.
 ?anime a <http://seiyu-lod.org/ontology/TVAnime>.
 ?anime rdfs:label ?anime_name.
}

※随時追加予定

取得した特徴量

音声の特徴量として、メル周波数ケプストラム係数 (MFCC) を取得しました。
MFCCは、人間の音声知覚の特徴を考慮し、声道特性を表す特徴量です。

解析方法

MFCCの解析には、librosaを使いました。
MFCCを扱いやすいよう12次元に圧縮し、音の高さを軸に平均と分散を算出します。

sample.py
import librosa
import numpy as np

args = sys.argv
filepath = './hoge.wav'

y, sr = librosa.load(filepath)
mfcc = librosa.feature.mfcc(y=y, sr=sr, n_mfcc=12)
result = np.zeros((mfcc.shape[0], 2))
result[:,0] = np.mean(mfcc, axis=1)
result[:,1] = np.var(mfcc, axis=1)

print result

出力例として、吉岡茉祐さんのサンプルボイス(ナレーション)から取得したMFCCをあげます。

result
[[-4.24218419e+02,2.78179371e+04],
[3.16817718e+01,2.48903506e+03],
[-3.86587320e+00,9.25306136e+02],
[1.69041341e+00,7.31437290e+02],
[-1.00446837e+01,4.51986376e+02],
[-7.58551697e+00,2.82802210e+02],
[-4.26236357e+00,1.28497457e+02],
[-1.03372452e+01,2.44193435e+02],
[-1.12978920e+01,1.98538023e+02],
[-2.15735125e+00,8.91169019e+01],
[-1.21181751e+01,2.04762452e+02],
[-2.50601151e+00,1.13155405e+02]]
22
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
22
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?