殺シ屋鬼司令II

読書と研究について書いてきました。最近は万年筆で書く快感にひたっています。当ブログでは、Amazonアフィリエイトに参加してリンクを貼っています。

声優と役名を入れ替えてまとめるPerlスクリプトを書いていた

wikipedia:SHIROBAKOから名前と声優の対応を引っ張ってきて検索にかけて抜き出して並べ替えた。
個人的にはスレたキャラクターの平岡と、回想シーンの丸川社長と同じ声優が担当しているのがオモシロイと思った。

声優 担当数*1 役名
興津和幸 6 リッキー, 三村 健一, 中林 渉, 作曲家マネージャー, 百瀬 勇(回想), 舞茸 しめじ
伊藤静 5 あや(伊藤鈴鹿), キャサリン・ウェラー(伊藤鈴鹿), 中田 恵理, 伊藤 鈴鹿(いとう すずか), 堂本 知恵美
沼倉愛美 5 お姉さん(坂下祐菜), ノア・アシュケナージ(浅上エリ), ポピー, 井口 祐未, 浅上 エリ
木村珠莉 4 ベソベソ, ミムジー&ロロ, 宮森 あおい
中原麻衣 4 あかね(中春鳴), エミー, 中春 鳴(なかはる めい), 興津 由佳
山岡ゆり 4 タチアナ(常盤ひろ子), 常磐 ひろ子, 永井 つかさ, 矢野 エリカ
山本格 4 カウボーイ(第1話に出演なし), 大口径男(灰田宏貴), 尾之上 将人, 課長(灰田宏貴)
野瀬育二 4 プラス, 佐賀森 幸次, 土橋, 山渕 篤
高橋伸也 4 ビル, 原作者(ミムジー&ロロ内にて), 大山 匠, 杉江 茂(回想)
高橋李依 4 佐久間 ひろみ, 内田 茜, 森 しのぶ, 藤 明日香
日野まり 3 なつき, 佐倉 大志郎, 新川 奈緒
濱野大輝 3 浜崎 五郎, 渥美 裕治, 薬師寺 笊良
米澤円 3 クリスティーネ(牧瀬彩乃), 佐藤 沙羅, 牧瀬 彩乃
茅野愛衣 3 あるぴん(茅菜夢衣), 小笠原 綸子, 茅菜 夢衣(かやな むい)
菅原雅芳 3 中垣内 伸昭, 木佐 光秀, 池谷 ひろし
葉山いくみ 3 ヴァロア役, 安藤 つばき, 織居 結衣
高木渉 3 丸川 正人, 伊波 政彦, 水山 康宏
保村真 2 桜田 伸広, 竹倉 圭司
千菅春香 2 ルーシー(坂木しずか), 坂木 しずか
家中宏 2 ピート, 森宮 三郎
小林裕介 2 丸川 正人(回想), 平岡 大輔
山岸治雄 2 「松亭」の店長, 篠田 俊樹
山川琴美 2 恋ヶ窪三保(ガクボ警部、声・佐和田 望), 瀬川 美里
岩田光央 2 富ヶ谷, 稲浪 良和
手塚ヒロミチ 2 刑事(堀一毅), 北条 弘明
斎藤寛仁 2 円 宏則, 辻田 光良
村田太志 2 小野寺, 橋本 雄也
松本忍 2 中山田 信雄, 遠藤 亮介
樫井笙人 2 支配人(釜谷大我), 菅野 光明
檜山修之 2 帽子の男(三條高志), 木下 誠一
武虎 2 ジョージ, 大倉 正弘
浜添伸也 2 佐々木, 清野 守
浜田賢二 2 ベテラン声優, 山田 昌志
福島潤 2 タグチ(安崎稜斗), 茶沢 信輔
西地修哉 2 本田 豊, 通行人(間野健次)
金元寿子 2 春夏秋冬ありあ(主人公)(鈴木京子), 鈴木 京子(すずき きょうこ)
こぶしのぶゆき 1 葛城 剛太郎
井上文彦 1 百瀬 勇
井澤詩織 1 久乃木 愛
佳村はるか 1 安原 絵麻
北沢力 1 堀田 光
吉野裕行 1 高梨 太郎 / タロー
大和田仁美 1 今井 みどり
子安武人 1 枕田 強
宮田幸季 1 チャッキー
林祐介 1 バディ
小柳基 1 杉江 茂
小西克幸 1 明日川 源
岸本百恵 1 杉江の妻
川田紳司 1 磯川 久光
慶長佑香 1 あおいの母
斉藤次郎 1 半藤 達也
斉藤貴美子 1 オバチャン(一ノ瀬佑子)
斧アツシ 1 若柱 博一
早志勇紀 1 立石 孝一
松岡禎丞 1 落合 達也
松風雅也 1 渡辺 隼
栗津貴嗣 1 三浦
森谷里美 1 宮森 かおり
横尾まり 1 縦尾まり
橋本ちなみ 1 遠藤の妻
櫻井孝宏 1 野亀 武蔵
櫻井浩美 1 日高
江越彬紀 1 岸谷 宏
田村ゆかり 1 相馬 れな
真殿光昭 1 屋良瀬 匠
石川賢 1 向井 優地
野中秀哲 1 北野 三郎
間島淳司 1 下柳 雄一郎
青山穣 1 河野 幸泰
飛田展男 1 遠城 営助
高梨謙吾 1 佐倉 良樹
高野麻美 1 藤堂 美沙

手順を解説すると、

役名 声優
洲崎綾
洲崎綾
洲崎綾
洲崎綾

のようなデータを、

声優 役名
洲崎綾 第六駆逐隊 暁, 響, 雷, 電

のように変換したいというものである。
タブ区切りの入力ファイルを読み込んで、役名をキーにしたハッシュを、声優をキーにしてハッシュにし、それで順次読み出している。

#!/usr/bin/perl
use strict;
use warnings;

my $file = "shirobako-cv-tab-separate.txt";

open (IN, $file) or die "$!";

my $relation = {};
while (my $line = <IN>) {
	chomp $line;
	my ($cast, $cv) = split('\t', $line);
	$relation->{$cv}->{$cast} = 1;
};

for my $actor (sort keys %$relation) {
	print "$actor\t";
	my @castlist = sort keys %{$relation->{$actor}};
	my $castnumber4actor = @castlist;
	print "$castnumber4actor\t";
	print join(', ', @castlist);
	print "\n";
}

昼に買い物に行った後は散歩をしたり親子丼を食べに行ったりした。

*1:劇中劇役担当数と通算になっているが、ひとりでそれだけ演じ分けるのでこうしたほうが適当と考えた