Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Kohsuke Yuasa
11,222 views
オーディオ用レベルメータを作ってみよう
http://edge.connpass.com/event/20910/
Engineering
◦
Read more
6
Save
Share
Embed
Embed presentation
Download
Downloaded 19 times
1
/ 38
2
/ 38
3
/ 38
4
/ 38
5
/ 38
6
/ 38
7
/ 38
8
/ 38
9
/ 38
10
/ 38
11
/ 38
12
/ 38
13
/ 38
14
/ 38
15
/ 38
16
/ 38
17
/ 38
18
/ 38
19
/ 38
20
/ 38
21
/ 38
22
/ 38
23
/ 38
24
/ 38
25
/ 38
26
/ 38
Most read
27
/ 38
28
/ 38
29
/ 38
Most read
30
/ 38
31
/ 38
32
/ 38
33
/ 38
34
/ 38
35
/ 38
36
/ 38
37
/ 38
38
/ 38
Most read
More Related Content
PDF
研究発表を準備する
by
Takayuki Itoh
PPTX
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
by
Norishige Fukushima
PPTX
論文の書き方入門 2017
by
Hironori Washizaki
PDF
クラスタリングとレコメンデーション資料
by
洋資 堅田
PDF
研究の基本ツール
by
由来 藤原
PDF
NumPy闇入門
by
Ryosuke Okuta
PDF
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
by
Preferred Networks
PDF
5分でわかるかもしれないglmnet
by
Nagi Teramo
研究発表を準備する
by
Takayuki Itoh
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
by
Norishige Fukushima
論文の書き方入門 2017
by
Hironori Washizaki
クラスタリングとレコメンデーション資料
by
洋資 堅田
研究の基本ツール
by
由来 藤原
NumPy闇入門
by
Ryosuke Okuta
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
by
Preferred Networks
5分でわかるかもしれないglmnet
by
Nagi Teramo
What's hot
PDF
ブレインパッドにおける機械学習プロジェクトの進め方
by
BrainPad Inc.
PDF
最適化超入門
by
Takami Sato
PDF
研究発表を準備する(2022年版)
by
Takayuki Itoh
PPTX
近年のHierarchical Vision Transformer
by
Yusuke Uchida
PDF
機械学習で泣かないためのコード設計 2018
by
Takahiro Kubo
PDF
機械学習チュートリアル@Jubatus Casual Talks
by
Yuya Unno
PDF
Juceで作るオーディオアプリケーション
by
Kohsuke Yuasa
PPTX
【論文読み会】Pyraformer_Low-Complexity Pyramidal Attention for Long-Range Time Seri...
by
ARISE analytics
PDF
それはYAGNIか? それとも思考停止か?
by
Yoshitaka Kawashima
PDF
Pythonによる黒魔術入門
by
大樹 小倉
PDF
非線形データの次元圧縮 150905 WACODE 2nd
by
Mika Yoshimura
PPTX
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
by
Shota Shinogi
PDF
Jubatus Casual Talks #2 異常検知入門
by
Shohei Hido
PPTX
30分で分かる!OSの作り方
by
uchan_nos
PDF
一般向けのDeep Learning
by
Preferred Networks
PDF
テスト文字列に「うんこ」と入れるな
by
Kentaro Matsui
PDF
【DL輪読会】Novel View Synthesis with Diffusion Models
by
Deep Learning JP
PDF
Machine learning CI/CD with OSS
by
yusuke shibui
PDF
20190625 OpenACC 講習会 第3部
by
NVIDIA Japan
PDF
JDLA主催「CVPR2023技術報告会」発表資料
by
Morpho, Inc.
ブレインパッドにおける機械学習プロジェクトの進め方
by
BrainPad Inc.
最適化超入門
by
Takami Sato
研究発表を準備する(2022年版)
by
Takayuki Itoh
近年のHierarchical Vision Transformer
by
Yusuke Uchida
機械学習で泣かないためのコード設計 2018
by
Takahiro Kubo
機械学習チュートリアル@Jubatus Casual Talks
by
Yuya Unno
Juceで作るオーディオアプリケーション
by
Kohsuke Yuasa
【論文読み会】Pyraformer_Low-Complexity Pyramidal Attention for Long-Range Time Seri...
by
ARISE analytics
それはYAGNIか? それとも思考停止か?
by
Yoshitaka Kawashima
Pythonによる黒魔術入門
by
大樹 小倉
非線形データの次元圧縮 150905 WACODE 2nd
by
Mika Yoshimura
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
by
Shota Shinogi
Jubatus Casual Talks #2 異常検知入門
by
Shohei Hido
30分で分かる!OSの作り方
by
uchan_nos
一般向けのDeep Learning
by
Preferred Networks
テスト文字列に「うんこ」と入れるな
by
Kentaro Matsui
【DL輪読会】Novel View Synthesis with Diffusion Models
by
Deep Learning JP
Machine learning CI/CD with OSS
by
yusuke shibui
20190625 OpenACC 講習会 第3部
by
NVIDIA Japan
JDLA主催「CVPR2023技術報告会」発表資料
by
Morpho, Inc.
More from Kohsuke Yuasa
PDF
C++ マルチスレッドプログラミング
by
Kohsuke Yuasa
PDF
イマドキC++erのモテカワリソース管理術
by
Kohsuke Yuasa
PDF
最近のC++ @ Sapporo.cpp #5
by
Kohsuke Yuasa
PDF
規格書で読むC++11のスレッド
by
Kohsuke Yuasa
PDF
C++ ポインタ ブートキャンプ
by
Kohsuke Yuasa
PDF
Introduction to boost test
by
Kohsuke Yuasa
PDF
C++ template-primer
by
Kohsuke Yuasa
PDF
Read egg oven
by
Kohsuke Yuasa
PDF
Study3 boost
by
Kohsuke Yuasa
PDF
Sapporocpp#2 exception-primer
by
Kohsuke Yuasa
C++ マルチスレッドプログラミング
by
Kohsuke Yuasa
イマドキC++erのモテカワリソース管理術
by
Kohsuke Yuasa
最近のC++ @ Sapporo.cpp #5
by
Kohsuke Yuasa
規格書で読むC++11のスレッド
by
Kohsuke Yuasa
C++ ポインタ ブートキャンプ
by
Kohsuke Yuasa
Introduction to boost test
by
Kohsuke Yuasa
C++ template-primer
by
Kohsuke Yuasa
Read egg oven
by
Kohsuke Yuasa
Study3 boost
by
Kohsuke Yuasa
Sapporocpp#2 exception-primer
by
Kohsuke Yuasa
オーディオ用レベルメータを作ってみよう
1.
2016/01/23 オーディオ用レベルメーターを 作ってみよう @hotwatermorning 1
2.
はじめに ✤ 勉強会の紹介ページにかっこいいUIを作って みようとか書いてあるんですが、 ✤ 僕自身UI作るの苦手でかっこいいUI作れません ✤
このスライドではせめて、3種類のレベルメーター の実装方法を紹介します 2
3.
自己紹介 ✤ @hotwatermorning ✤ C++やったりDTMやったりしてます ✤
C++ポケットリファレンス(共著) 3
4.
レベルメーターについて 4
5.
レベルメーター ✤ このスライドでは、 単になにか音量を表示するメーター ✤ Sound
Level Meterだと騒音計に なってしまいます。 5
6.
レベルメーターの意義 ✤ サウンドプロダクションの時に、耳で聞くだけじゃ なく、音の大きさの情報を計測して表示 ✤ 音の大きさを調整するために必要 ✤
また、 オーディオデータは、耳で聞くだけじゃなく、 その音量の情報を可視化して表示すると、 かっこいい! 6
7.
レベルメーターの種類 ✤ VUメーター ✤ ピークメーター ✤
スペクトルアナライザー ✤ ラウドネスメーター 7
8.
VUメーター ✤ いわゆる音量メーターっぽい見た目のアレ 動画: https://www.youtube.com/watch?v=f6Pi2TBdMhI 8From
wikimedia Commons/FileVU_Meter.jpg 05:15, 12 August 2006 (UTC) License=CC BY 2.5
9.
VUメーター ✤ Volume Unit(音量感)を計測するためのメーター なので、VUメーター ✤
ただしこの音量感は、かならずしも人間の聴覚の特性 には一致しない。 ✤ 後述する、ラウドネスメーターを使用する必要がある。 9
10.
VUメーターの特徴 ✤ 音量感を表すメーターのため、信号の瞬発的なピー クには反応しない ✤ VUメーターは規格上-20dB付近に表示の下限が あるので、小さい音量には反応しない ✤
細かい音量変化を読み取るのは難しい 10
11.
ピークメーター ✤ 正式名称は、Peak Programme
Meter(PPM) ✤ 瞬間瞬間の波形のピークを表示する。 11
12.
ピークメーター ✤ 信号のピークは、刻々と変化するので、そのまま ではピークを目視しにくい ✤ そのため、ピークホールド機能が実装されている こともある 12
13.
ピークメーターの種類 ✤ True Peak
Programme Meter ✤ Quasi Peak Programme Meter ✤ Sample Peak Programme Meter ✤ Over-sampling Peak Programme Meter 13
14.
ピークメーターの特徴 ✤ その瞬間の音量を表示するため、音量変化に 非常に敏感 ✤ メーターの変化が激しいので、目が疲れる ✤
反面、人間が感じるようなスムーズな音量変化の 度合いを読み取るのは難しい 14
15.
スペクトルアナライザー ✤ 入力された波形を周波数毎に分解し、周波数帯域 ごとの信号の強さを表示するメーター 動画: https://www.youtube.com/watch?v=vWpC5PtNE6E 15https://www.flickr.com/photos/electriksuicide/2284349103
16.
スペクトルアナライザーの特徴 ✤ 周波数ごとの音の強さがわかるので、低音域から 高音域まで、どの部分の音が強いかが分かる ✤ それぞれの音域での音の強さの変化を読み取れる 16
17.
ラウドネスメーター ✤ 入力される波形を、人間の聴覚の特性に合わせて 補正を行い、人間が感じる音の大きさを表すよう に作られたメーター ✤ 役割的にはVUメーターの上位互換 ✤
現在のテレビのデジタル放送なんかは、このラウ ドネスメーターで計測した音量の基準を満たすよ うに番組が作られている ✤ 現代のサウンドプロダクションの世界では、 ラウドネスメーターとOver-sampling PPMを使用 17http://www.soundonsound.com/sos/jul13/articles/qanda-0713-2.htm
18.
レベルメーターの実装 18
19.
サンプルプログラム ✤ https://github.com/hotwatermorning/ LevelMeter 19
20.
レベルメーターの実装 1.ピークメーター 2.VUメーター 3.スペクトルアナライザー 20
21.
レベルメーターの実装 1.ピークメーター 2.VUメーター 3.スペクトルアナライザー 21
22.
ピークメーターの実装 ✤ Sample PPMを実装する ✤
入力されたオーディオ信号を走査して、もっとも dB値が大きなサンプルを記録する ✤ その時のdB値をdBスケールで表示する 22
23.
dB(デシベル)とは? ✤ 人間が感じる音量の変化は、音の強さの変化に対 して対数的 ✤ ウェーバー・フェヒナーの法則で検索 ✤
音の強さの変化を、そのままのスケールで表現す るよりも、対数スケールで表現した方が、感覚に 合う。 23
24.
ピークメーターの実装 ✤ 実際にコードを見てみましょう 24
25.
レベルメーターの実装 1.ピークメーター 2.VUメーター 3.スペクトルアナライザー 25
26.
VUメーターの実装 ✤ 実際のVUメーターと同じ挙動を再現するのは難 しい ✤ VUメーターの規格では、VUメーターの針がど のように動かなくてはいけないかまで細かく指 定されている 26
27.
VUメーターの実装 ✤ なので、今回はVUメーターと同じような特性を もつRMSメーターで代用する。 ✤ ただし、一般的にRMSメーターの方がVUメーターより も数値が大きくなる傾向があるらしい 参考:
http://jp.residentadvisor.net/feature.aspx?1473 27
28.
RMSとは? ✤ Root Mean
Squareの略 ✤ 信号の各サンプルを2乗して平均をとり、その平 方根をとる操作 ✤ 時間とともに変化する信号の実効値が得られる。 参考: http://www.g200kg.com/jp/docs/dic/rms.html 28
29.
VUメーターの実装 ✤ 入力された信号を2乗して、300ms分のサンプル の平均値をとり、その平方根をとる ✤ 得られたRMS値を、角度にマッピングしてVUメー ター状のUIに表示 29
30.
VUメーターの実装 ✤ 実際にコードを見てみましょう 30
31.
レベルメーターの実装 1.ピークメーター 2.VUメーター 3.スペクトルアナライザー 31
32.
FFTメーターの実装 ✤ 設定したFFTの次数でのバッファサイズに達する まで、オーディオデータをキャッシュする ✤ キャッシュしたオーディオデータをFFTで周波数 成分に分解する ✤
各周波数帯域の成分(複素数)の絶対値を算出し、 これをdBスケールで扱うことで、パワースペクト ルを生成する 32
33.
FFTメーターの実装 ✤ パワースペクトルが得られたら、 そのスペクトルのピークホールドを表示したり、 フレームごとのスペクトルの移動平均をとって、 周波数ごとの音の強さの変化を表示できる 33
34.
FFTメーターの実装 ✤ 実際にコードを見てみましょう 34
35.
おわりに 35
36.
おわりに ✤ オーディオデータを複数の方法で計測して、 音の大きさの情報をいくつかの側面から 分析/表示できる ✤ 表示したい情報に合わせたメーターを実装しよう ✤
かっこいいUIを作るのは難しい 36
37.
参考になる発表 ✤ CEDEC 2015の CRI
増野さんによるセッション 「イカすビジュアライザー天国 -音楽と同期した イケてる映像表現とその設計手法-」 https://cedil.cesa.or.jp/cedil_sessions/view/1280 37
38.
ありがとうございました 38
Download