SlideShare a Scribd company logo
プロの音に近づくための研究と練習
2021/02/26
Music×Analytics Meetup Vol.4 LT
SKUE
自己紹介
● 名前
○ SKUE ( Mr_Sakaue )
● バックグラウンド
○ 大学・大学院で経済学・統計学
● 仕事
○ レバレジーズ株式会社の分析部門のマネジャー兼データサイエンティスト
■ https://melev.leverages.jp/entry/2020/09/15/100000
● スキル
○ Python, R, SQL
● 趣味
○ トランペット, ブログ作成, 料理
2
http://kamonohashiperry.com/
研究動機
3
研究動機
● トランペットを10年ぶりに再開し、その間に得たデータ分析関連の技術などを用
いて、良い音は何かを明らかにし、より効率的に音質の向上を目指したいと思っ
た。
4
トランペットの音が出る仕組み
● マウスピース
○ 口から振動を伝える
○ 振動の速い遅いで調整
■ 高い音→振動が速い
■ 低い音→振動が遅い
● ピストン
○ 押すことで管の長さが変わる
○ 3つのピストンだけなので、
8通りしかない
■ 振動でコントロールして
40種類くらい音階を
操れる。
● ベル
○ 振動を音に変えて前方に飛ばす役割
5
先行研究
6
先行研究
● 山崎・伊藤 (2020), “参照音源の奏法特徴を
考慮した模倣評価による管楽器奏者のため
の練習支援システム ”, 情報処理学会第82回
大会
● サックスの特殊奏法の出来不出来を スペクト
ログラムを用いて判定するシステムの提案。
○ プロの音源との類似度を見ている。
7
横軸が周波数で
縦軸が信号成分
の強さ
スペクトログラムについて
8
スペクトログラムについて
● 横軸に時間、縦軸に周波数、色の濃淡で信
号成分の強さを表したグラフ。
○ 動物の鳴き声の分析などにも使われる。
● 音をフーリエ変換し、時間で積分したものの
二乗をパワースペクトルと呼び、それを可視
化したものをスペクトログラムと呼ぶ。
○ フーリエ変換は音を、色々な周波数の波の重
なりあった和で表現にする手法。
9
時間
周波数
信号成分の強さ
スペクトログラムについて
● 周波数が突出しているものをフォルマントと
呼び、周波数の低いほうから第 1フォルマン
ト、第2フォルマントと呼ぶ。
10
時間
周波数
信号成分の強さ
第1フォルマント
第2フォルマント
第3フォルマント
研究概要
11
研究概要
● プロプレイヤーの音源と自分の音源のスペクトログラムを可視化し、プロと自分
との違いを明らかにし、違いがある場合、どのような奏法による工夫をすれば違
いを埋めれるのかも検証したい。
○ プロプレイヤーの音は Youtubeで楽器の音のみが録音されたファイルを集め、音楽を流し PCの
マイクで録音することで用意した。(追記)
12
研究計画
13
研究計画
● Pythonでトランペットの音を録音
● 音源をwavファイルに変換
● フーリエ変換をしてスペクトログラムを描く
● プロと自分の演奏のスペクトログラムを比較
● 奏法の工夫でスペクトログラムがどう変化するか比較
14
Pythonでトランペットの音を録音
15
Pythonでトランペットの音を録音
● ffmpegをインストール
● ipywebrtcをpipでインストール
● jupyterの拡張機能を有効にする
16
sudo apt install ffmpeg
pip install ipywebrtc notebook
jupyter nbextension enable --py widgetsnbextension
Pythonでトランペットの音を録音
● ipywebrtc
○ AudioRecoderとCameraStreamのaudioだけ
を用いる。
● jupyter notebookに表示される丸ボタンを押
せば録音を開始でき、再び押せば録音が終
了する。
○ その場で再生もできる。
17
Pythonでトランペットの音を録音
● 録音したファイルを保存
● 録音したファイルをffmpegで16000ヘルツの
wavファイルに変換
● scipyのwavfileで変換したwavファイルを読
み込み、信号成分とサンプルレートを返す。
18
Pythonでトランペットの音を録音
● 録音環境
○ 場所
■ 貸しスタジオ
○ 機材
■ MacBook Proの内蔵マイク
○ 楽器
■ Bach 180ML37SP
19
フーリエ変換をして
スペクトログラムを描く
20
フーリエ変換をしてスペクトログラムを描く
● librosa(リブロサ)
○ 音楽などの分析向けのライブラリ
■ 信号処理に必要なものがある程度
揃っている。
21
フーリエ変換をしてスペクトログラムを描く
● 正規化
○ 音声データを-1から1の間に変換
● フレーム
○ 有限サンプリングデータの単位のこと
● フレーム長
○ 1つのフレームに含まれるサンプリングデータ
の個数
● オーバラップ
○ 細かいとスペクトログラムの測定をしやすくす
る。
22
フーリエ変換をしてスペクトログラムを描く
23
プロと自分の演奏の
スペクトログラムを比較
24
プロと自分の演奏のスペクトログラムを比較1
● プロの演奏 ● 自分の演奏
25
プロと自分の演奏のスペクトログラムを比較1
● プロの演奏 ● 自分の演奏
26
第4フォルマントの信号の強さが足
りていない。
プロと自分の演奏のスペクトログラムを比較2
● プロの演奏 ● 自分の演奏
27
プロと自分の演奏のスペクトログラムを比較2
● プロの演奏 ● 自分の演奏
28
第4フォルマントの信号の強さが足
りていない。
第6フォルマントの信号の強さが足
りていない。
奏法の工夫でスペクトログラムが
どう変化するか比較
29
奏法の工夫でスペクトログラムが
どう変化するか比較
プロと自分とでは強い信号成分のフォルマントの数
に違いがあることがわかった。
どうすれば強い信号成分を出すことができるだろう
か?
30
奏法の工夫でスペクトログラムが
どう変化するか比較
● 音質向上につながりそうな奏法
○ お腹に力をいれる
○ 息の吸う量を変える
31
お腹の力
● 強い ● 弱い
32
お腹の力
● 強い ● 弱い
33
弱いとフォルマントが 2つくらいになる
が、力を強めてもあまり 4つめのフォル
マントは赤くならない。
● たくさん吸う
息の量
息をたくさん吸い、膨らました風船が徐々に萎むイ
メージで演奏してみた。
34
以前 今回
● たくさん吸う
息の量
35
第4フォルマントが赤くなることがわかった。
要は、これまで息の量が十分ではなかった可能性
がある。
息の量を増やすと良い?
36
息の量を増やすと良い?
● 自分の演奏(改善前) ● 自分の演奏(改善後)
37
考察
38
考察1
● スペクトログラムに従い、プロと自分の音源を比較したところ、息の吸う量をより
多くすることで不足していた4つめのフォルマントなどの信号成分が強くなること
がわかった。
○ 息をたくさん吸うことは管楽器で重要だが、どれくらい吸えばいいのかを判断するのは難しかっ
たため、スペクトログラムでその程度をコントロールできるのは面白い。
39
考察2
● 管楽器には音程を測るためのチューナーという装置があるが、スペクトログラム
も測れる装置があれば、音質の向上に役立つかもしれない。
○ そのような製品があれば管楽器奏者のスキル向上に寄与するかもしれない。
○ モバイルアプリとかがあればいいかも。
■ とうぶんはjupyterで頑張る。
40
ご清聴ありがとうございました!
41
参考情報
● イラストで学ぶ 音声認識 (KS情報科学専門書)
● 参照音源の奏法特徴を考慮した演奏評価による管楽器奏者のための練習支援
システム
● 楽器音の分析とスペクトログラム (Julia Advent Calendar 2018)
● Librosa
● Record Audio in a Jupyter Notebook
● Installing jupyter_contrib_nbextensions
● Jupyter Widgets
42
[追記]懇親会でのFB
● 日によって調子が違うはずなので、サンプルを増やしていくと良いのではない
か。
● マイクやその位置によっても違いが生じるはずなので、条件を揃えるためにもう
少し色々やれるのではないか。
● プロと同じ楽器ではあるが、他にもプロの音源と録音の条件を揃えると良いので
はないか。マウスピースは同じものの方がいいのではないか。
43

More Related Content

What's hot

流行りの分散表現を用いた文書分類について Netadashi Meetup 7
流行りの分散表現を用いた文書分類について Netadashi Meetup 7流行りの分散表現を用いた文書分類について Netadashi Meetup 7
流行りの分散表現を用いた文書分類について Netadashi Meetup 7
Teruyuki Sakaue
 
Pythonによるソーシャルデータ分析―わたしはこうやって修士号を取得しました―
Pythonによるソーシャルデータ分析―わたしはこうやって修士号を取得しました―Pythonによるソーシャルデータ分析―わたしはこうやって修士号を取得しました―
Pythonによるソーシャルデータ分析―わたしはこうやって修士号を取得しました―Hisao Soyama
 
Webで使えるやさしい統計学
Webで使えるやさしい統計学Webで使えるやさしい統計学
Webで使えるやさしい統計学
Mharu
 
データサイエンスビギナーズ創設に至ったわけ
データサイエンスビギナーズ創設に至ったわけデータサイエンスビギナーズ創設に至ったわけ
データサイエンスビギナーズ創設に至ったわけ
Hiroki Kitano
 
データサイエンスビギナーズ創設の想い
データサイエンスビギナーズ創設の想いデータサイエンスビギナーズ創設の想い
データサイエンスビギナーズ創設の想い
Hiroki Kitano
 
企業における統計学入門
企業における統計学入門企業における統計学入門
企業における統計学入門
antibayesian 俺がS式だ
 
Powerpointでの資料作成スキル
Powerpointでの資料作成スキルPowerpointでの資料作成スキル
Powerpointでの資料作成スキル
Keiichi Maeda
 
Rはいいぞ!むしろなぜ使わないのか!!
Rはいいぞ!むしろなぜ使わないのか!!Rはいいぞ!むしろなぜ使わないのか!!
Rはいいぞ!むしろなぜ使わないのか!!
Shushi Namba
 
機械学習による積極的失業〜オウンドメディアの訪問予測
機械学習による積極的失業〜オウンドメディアの訪問予測機械学習による積極的失業〜オウンドメディアの訪問予測
機械学習による積極的失業〜オウンドメディアの訪問予測
Teruyuki Sakaue
 
RでMplusがもっと便利にーmplusAutomationパッケージー #Hiroshimar05
RでMplusがもっと便利にーmplusAutomationパッケージー #Hiroshimar05 RでMplusがもっと便利にーmplusAutomationパッケージー #Hiroshimar05
RでMplusがもっと便利にーmplusAutomationパッケージー #Hiroshimar05
Masaru Tokuoka
 

What's hot (11)

流行りの分散表現を用いた文書分類について Netadashi Meetup 7
流行りの分散表現を用いた文書分類について Netadashi Meetup 7流行りの分散表現を用いた文書分類について Netadashi Meetup 7
流行りの分散表現を用いた文書分類について Netadashi Meetup 7
 
しゅうかつ
しゅうかつしゅうかつ
しゅうかつ
 
Pythonによるソーシャルデータ分析―わたしはこうやって修士号を取得しました―
Pythonによるソーシャルデータ分析―わたしはこうやって修士号を取得しました―Pythonによるソーシャルデータ分析―わたしはこうやって修士号を取得しました―
Pythonによるソーシャルデータ分析―わたしはこうやって修士号を取得しました―
 
Webで使えるやさしい統計学
Webで使えるやさしい統計学Webで使えるやさしい統計学
Webで使えるやさしい統計学
 
データサイエンスビギナーズ創設に至ったわけ
データサイエンスビギナーズ創設に至ったわけデータサイエンスビギナーズ創設に至ったわけ
データサイエンスビギナーズ創設に至ったわけ
 
データサイエンスビギナーズ創設の想い
データサイエンスビギナーズ創設の想いデータサイエンスビギナーズ創設の想い
データサイエンスビギナーズ創設の想い
 
企業における統計学入門
企業における統計学入門企業における統計学入門
企業における統計学入門
 
Powerpointでの資料作成スキル
Powerpointでの資料作成スキルPowerpointでの資料作成スキル
Powerpointでの資料作成スキル
 
Rはいいぞ!むしろなぜ使わないのか!!
Rはいいぞ!むしろなぜ使わないのか!!Rはいいぞ!むしろなぜ使わないのか!!
Rはいいぞ!むしろなぜ使わないのか!!
 
機械学習による積極的失業〜オウンドメディアの訪問予測
機械学習による積極的失業〜オウンドメディアの訪問予測機械学習による積極的失業〜オウンドメディアの訪問予測
機械学習による積極的失業〜オウンドメディアの訪問予測
 
RでMplusがもっと便利にーmplusAutomationパッケージー #Hiroshimar05
RでMplusがもっと便利にーmplusAutomationパッケージー #Hiroshimar05 RでMplusがもっと便利にーmplusAutomationパッケージー #Hiroshimar05
RでMplusがもっと便利にーmplusAutomationパッケージー #Hiroshimar05
 

More from Teruyuki Sakaue

実務と論文で学ぶジョブレコメンデーション最前線2022
実務と論文で学ぶジョブレコメンデーション最前線2022実務と論文で学ぶジョブレコメンデーション最前線2022
実務と論文で学ぶジョブレコメンデーション最前線2022
Teruyuki Sakaue
 
警察庁オープンデータで交通事故の世界にDeepDive!
警察庁オープンデータで交通事故の世界にDeepDive!警察庁オープンデータで交通事故の世界にDeepDive!
警察庁オープンデータで交通事故の世界にDeepDive!
Teruyuki Sakaue
 
[丸ノ内アナリティクスバンビーノ#23]データドリブン施策によるサービス品質向上の取り組み
[丸ノ内アナリティクスバンビーノ#23]データドリブン施策によるサービス品質向上の取り組み[丸ノ内アナリティクスバンビーノ#23]データドリブン施策によるサービス品質向上の取り組み
[丸ノ内アナリティクスバンビーノ#23]データドリブン施策によるサービス品質向上の取り組み
Teruyuki Sakaue
 
[DSO] Machine Learning Seminar Vol.8 Chapter 9
[DSO] Machine Learning Seminar Vol.8 Chapter 9[DSO] Machine Learning Seminar Vol.8 Chapter 9
[DSO] Machine Learning Seminar Vol.8 Chapter 9
Teruyuki Sakaue
 
データ分析ランチセッション#24 OSSのAutoML~TPOTについて
データ分析ランチセッション#24 OSSのAutoML~TPOTについてデータ分析ランチセッション#24 OSSのAutoML~TPOTについて
データ分析ランチセッション#24 OSSのAutoML~TPOTについて
Teruyuki Sakaue
 
[DSO] Machine Learning Seminar Vol.2 Chapter 3
[DSO] Machine Learning Seminar Vol.2 Chapter 3[DSO] Machine Learning Seminar Vol.2 Chapter 3
[DSO] Machine Learning Seminar Vol.2 Chapter 3
Teruyuki Sakaue
 
[DSO] Machine Learning Seminar Vol.1 Chapter 1 and 2
[DSO] Machine Learning Seminar Vol.1 Chapter 1 and 2[DSO] Machine Learning Seminar Vol.1 Chapter 1 and 2
[DSO] Machine Learning Seminar Vol.1 Chapter 1 and 2
Teruyuki Sakaue
 
地理データを集め、可視化し分析することが簡単にできるプログラミング言語について @ BIT VALLEY -INSIDE- Vol.16
地理データを集め、可視化し分析することが簡単にできるプログラミング言語について @ BIT VALLEY -INSIDE- Vol.16地理データを集め、可視化し分析することが簡単にできるプログラミング言語について @ BIT VALLEY -INSIDE- Vol.16
地理データを集め、可視化し分析することが簡単にできるプログラミング言語について @ BIT VALLEY -INSIDE- Vol.16
Teruyuki Sakaue
 
[第1回]データ分析ランチセッション ~ Qiita Advent Calendar2019から得た情報10選
[第1回]データ分析ランチセッション ~ Qiita Advent Calendar2019から得た情報10選[第1回]データ分析ランチセッション ~ Qiita Advent Calendar2019から得た情報10選
[第1回]データ分析ランチセッション ~ Qiita Advent Calendar2019から得た情報10選
Teruyuki Sakaue
 

More from Teruyuki Sakaue (9)

実務と論文で学ぶジョブレコメンデーション最前線2022
実務と論文で学ぶジョブレコメンデーション最前線2022実務と論文で学ぶジョブレコメンデーション最前線2022
実務と論文で学ぶジョブレコメンデーション最前線2022
 
警察庁オープンデータで交通事故の世界にDeepDive!
警察庁オープンデータで交通事故の世界にDeepDive!警察庁オープンデータで交通事故の世界にDeepDive!
警察庁オープンデータで交通事故の世界にDeepDive!
 
[丸ノ内アナリティクスバンビーノ#23]データドリブン施策によるサービス品質向上の取り組み
[丸ノ内アナリティクスバンビーノ#23]データドリブン施策によるサービス品質向上の取り組み[丸ノ内アナリティクスバンビーノ#23]データドリブン施策によるサービス品質向上の取り組み
[丸ノ内アナリティクスバンビーノ#23]データドリブン施策によるサービス品質向上の取り組み
 
[DSO] Machine Learning Seminar Vol.8 Chapter 9
[DSO] Machine Learning Seminar Vol.8 Chapter 9[DSO] Machine Learning Seminar Vol.8 Chapter 9
[DSO] Machine Learning Seminar Vol.8 Chapter 9
 
データ分析ランチセッション#24 OSSのAutoML~TPOTについて
データ分析ランチセッション#24 OSSのAutoML~TPOTについてデータ分析ランチセッション#24 OSSのAutoML~TPOTについて
データ分析ランチセッション#24 OSSのAutoML~TPOTについて
 
[DSO] Machine Learning Seminar Vol.2 Chapter 3
[DSO] Machine Learning Seminar Vol.2 Chapter 3[DSO] Machine Learning Seminar Vol.2 Chapter 3
[DSO] Machine Learning Seminar Vol.2 Chapter 3
 
[DSO] Machine Learning Seminar Vol.1 Chapter 1 and 2
[DSO] Machine Learning Seminar Vol.1 Chapter 1 and 2[DSO] Machine Learning Seminar Vol.1 Chapter 1 and 2
[DSO] Machine Learning Seminar Vol.1 Chapter 1 and 2
 
地理データを集め、可視化し分析することが簡単にできるプログラミング言語について @ BIT VALLEY -INSIDE- Vol.16
地理データを集め、可視化し分析することが簡単にできるプログラミング言語について @ BIT VALLEY -INSIDE- Vol.16地理データを集め、可視化し分析することが簡単にできるプログラミング言語について @ BIT VALLEY -INSIDE- Vol.16
地理データを集め、可視化し分析することが簡単にできるプログラミング言語について @ BIT VALLEY -INSIDE- Vol.16
 
[第1回]データ分析ランチセッション ~ Qiita Advent Calendar2019から得た情報10選
[第1回]データ分析ランチセッション ~ Qiita Advent Calendar2019から得た情報10選[第1回]データ分析ランチセッション ~ Qiita Advent Calendar2019から得た情報10選
[第1回]データ分析ランチセッション ~ Qiita Advent Calendar2019から得た情報10選
 

[Music×Analytics]プロの音に近づくための研究と練習