パスワードを忘れた? アカウント作成

quomoさんのトモダチの日記。 アナウンス:スラドとOSDNは受け入れ先を募集中です。

16631108 journal
ハードウェアハック

t-nissieの日記: 【国民投票案】3Dプリンター使ってる? 9

日記 by t-nissie

職場の3Dプリンターを仕事で使ってる
職場の3Dプリンターを私用している
家の3Dプリンターを活用している
家の3Dプリンターで仕事をしている
3Dプリンターを使ったことはない
われこそは3Dプリンターなり!

16631105 journal
Ruby

t-nissieの日記: Ubuntu 22.04 LTS に Ruby 3.3.0-preview1 をコンパイル&インストールしたら岩波公式集Iの例の数値積分が高速になったはなし

日記 by t-nissie

お久しぶりでございます。
十数年前のPCにUbuntu 22.04 LTS 日本語 Remixをインストールして使っているんですが、
そこにRuby 3.3.0-preview1をコンパイル&インストールしたら岩波公式集Iの例の数値積分が高速になりました。
開発者の皆様に感謝!

2016年に作ったRubyのRangeを積分範囲としてブロックで与えられた関数を数値積分するライブラリと
2018年に少し話題になっていた岩波数学公式Iのp.240の数値積分に2022年に挑戦したときの記録は
https://gist.github.com/t-nissie/b6ef8d39229a2534498b

今回のRubyのテスト(93秒が84秒に高速化してJITを使うと45秒で例の積分が終わる):
$ lscpu
モデル名: Intel(R) Core(TM) i7-3770K CPU @ 3.50GHz
$ git clone https://gist.github.com/b6ef8d39229a2534498b.git integrations
$ cd integrations
$ uname -r -v
5.19.0-41-generic #42~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue Apr 18 17:40:00 UTC 2
$ ruby --version
ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-linux-gnu]
$ /usr/bin/time -f "%e %M" ruby part.rb ###--jitではほとんど速くならなかった###
-0.13449639088600002
-0.00183072931408726
-0.00004147904805336
-0.01811104207072666
--------------------
-0.15447964131886729
====================
-0.15447964132000000 Iwanami
92.63 21888

$ sudo apt install libssl-dev libffi-dev libyaml-dev libz-dev
$ pwd
$ /SOMEWHERE/ruby-3.3.0-preview1/build-gcc-11.3.0
$ ../configure --prefix=/tmp/ruby-3.3.0-preview1
$ make -j9
$ make install

$ PATH=/tmp/ruby-3.3.0-preview1/bin:$PATH ruby --version
ruby 3.3.0preview1 (2023-05-12 master a1b01e7701) [x86_64-linux]
$ PATH=/tmp/ruby-3.3.0-preview1/bin:$PATH /usr/bin/time -f "%e %M" ruby part.rb
-0.13449639088600002
-0.00183072931408726
-0.00004147904805336
-0.01811104207072666
--------------------
-0.15447964131886729
====================
-0.15447964132000000 Iwanami
83.88 23760
$ PATH=/tmp/ruby-3.3.0-preview1/bin:$PATH /usr/bin/time -f "%e %M" ruby --jit part.rb
-0.13449639088600002
-0.00183072931408726
-0.00004147904805336
-0.01811104207072666
--------------------
-0.15447964131886729
====================
-0.15447964132000000 Iwanami
44.92 37160

13651742 journal
プログラミング

t-nissieの日記: 【電脳】CMake 3.12.0がリリース、開発者らがredditでAMA (Ask Me Anything)を開催【タレコミ】

日記 by t-nissie

7月17日、マルチプラットフォーム対応のオープンソースな
ビルドシステムCMakeの最新版3.12.0がリリースされた。

そのリリースサイクルが始まった約1ヶ月前、CMakeの開発元
のKitware社に所属する開発者らがRobert Maynard氏を中心に
redditでAMA (Ask Me Anything) を開催していた。そのスレッド
曰く「ぼくはCMakeのリリースサイクルのマネジメントをしているよ。
『CMakeは嫌い』って言うのみんな大好きだよね。なんでも聞いてね。」

Kitware社はオープンソースな三次元グラフィクスシステムのVTKの開発で有名だ。
Robert Maynard氏はCMakeのCUDA対応も担当しているとのこと。

「『嫌い』って言うのみんな大好きなのはAutotoolsじゃなかったのかな?」との質問には
「その王冠をAutotoolsから奪えて嬉しいよ。」、
「Mesonについてはどう思ってる?」との質問には
「全てがよくオーガナイズされているようだね。」などと答えている。

みなさまはAutotools, CMake, Mesonなどのビルドシステムについてどう思われてますか?

13513324 journal
GNU is Not Unix

t-nissieの日記: 【電脳】GCC 7.3.0をコンパイルして遊んでみた

日記 by t-nissie

GCC 7.3.0がリリースされたそうです。IntelのCPUの脆弱性「Spectre」を
回避する機能が入っているそうですが、よくわかりません。

Fortran の Bug 82567 - [6/7/8] gfortran takes a long
time to compile a simple implied-do with -Optimization.
が直っているかどうかためして遊んでみました。Modern Fortranではこんな
内包表現みたいな書き方もできるんですね。知りませんでした。writeの後の
暗黙のdoは知ってましたが。


$ cat intensional.f
! test Bug 82567
! https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82567
! http://www48.atpages.jp/fortran2008/index.html.bak
!!
SUBROUTINE sub()
IMPLICIT NONE
INTEGER, PARAMETER :: n = 10000
REAL, ALLOCATABLE :: x(:)
REAL :: xc, h
INTEGER :: i
ALLOCATE( x(n) )
xc = 100.
h = xc/n
x = h*[(i,i=1,n)]
! Replacing the previous line with one of these lines gives faster compilation
! x = [(i*h,i=1,n)]
! x = (100./n) *[(i,i=1,n)]
END SUBROUTINE sub
$ gfortran --version && /usr/bin/time -p gfortran -O1 -Wall -ffree-form -c intensional.f
GNU Fortran (GCC) 7.2.0
(中略)
real 21.38
user 20.68
sys 0.11

$ gfortran --version && /usr/bin/time -p gfortran -O1 -Wall -ffree-form -c intensional.f
GNU Fortran (GCC) 7.3.0
(中略)
real 10.62
user 10.54
sys 0.06

これで、直っているのでしょうか???
いまいちバグジラに何て書いてあるかわかりません。
まあ、展開に時間がかかっているのでしょう。
-ftime-reportなんてコンパイルオプションもあるんですね。

13464296 journal
日記

aitoの日記: 11/25 SIGMUS@日大まとめ

日記 by aito

■楽器 [11:00-12:00]
(1) 手回しオルゴールの魅力と脳波的考察
   関 妹子,志賀 一雅
最初に手回しオルゴールの紹介。今回利用しているのはカード式。福祉施設での音楽療法(聞くことではなく,ハンドルを回して演奏することによる),保育園や美術館などでの演奏活動。カードを作るワークショップなども開いている。好評なので,手回しオルゴールの音に癒し効果があるのか調べた。効果の計測は脳波によるが,脳波の説明は嘘とは言えないがやや怪しい。脳波の計測には脳力開発研究所というところが作っているアルファテック7という機器を使っているが,これ怪しくないのかなあ。参考文献にはバイオフィードバック学会と日本サイ科学会の論文が並んでいる。演奏の実演では「こんぺいとうの踊り」の演奏を行った。オルゴールは素敵な音色。

(2) RWC楽器音データベースを利用したビブラート音の複数楽器にわたる比較分析
   黒崎 友,平賀 譲
楽器のビブラート奏法による音の分析。楽器による音の高さと強さの変動の違いを調べた。分析にはMatlabのVibrato Analysis Toolboxを利用。F0成分のみを取り出した後,ヒルベルト変換によってAM・FM成分を抽出する。
分析の結果,様々な楽器のビブラート変動周波数(vibrato rate)はいずれも4~6.5Hzぐらい。バイオリンでは音高によらず6Hzでほぼ一定。いずれの楽器でも周波数と音量は同じvibrato rateを持つ。一方,バイオリンでは音量が変わるとvibrato rateが変化する(弱い方が遅くなる)。音量と音高の関係では,順位相と逆位相のデータが両方観測される。
ビブラートの深さ(vibrato depth)については,音量が大きくなると深さも深くなる。
楽器の違いについての分析では,オーボエとフルートはAM優勢,サックスはFM優勢であった。

13:30-14:30 「ISMIR2017報告: 音楽情報科学の世界的な研究動向」
・キーノート
Elaine Chew (Queen Mary U of London)音楽の構造について
 スパイラルアレイ
 Tonal Structure の変曲点
 構造をどう奏でるか テンポでの表現,装飾音での表現(二胡など)
 即興演奏システムでの構造の作り方
 構造の知見を創作へ
  PDQ Bach
  MorpheuSによる自動音楽生成
  不整脈を音楽へ
Roger Dannenberg: Does MIR Stop at Retrieval?
 MIRから創作へ(解析から合成・演奏へ)
 Music creation: Performance, Production, Composition
 自動作曲
 ピッチだけの世界からフレーズと全体的な構造へ
 評価について;主観評価は常に良いとは限らない。データの構造や学習したモデルの構造を分析する。システム出力が識別器や人間をだますことができるか?(GANなど)
・オーラル
Counterpoint by Convolution
 バッハのコラール風の曲の自動生成:CNNとGibbs Samplerを使う
 楽譜の穴埋め問題(削除部分を少しずつ埋める)
Quantifying Music Trends and Facts Using Editorial Metadata from the Discog Database
 音楽研究者は使わないがDJとかには人気のメタデータDiscogを分析した
Artist Prefecences and Cultural, SOcie-economic Distances...
Learning Audio-Sheet Music Correspondence...
 音楽信号(スペクトログラム)とスコアの関係をNNで学習
Video-based Vibrato Detection...
 音符レベルでビブラートの検出と分析。音とビデオから推定した動きの関係とか
Decoding Neurally Relevant Musical Features
Transfer Learning for Music Classification
Drum Transcription via Joit Beat and Drum Modeling using Convolutional RNN
The significance of the low complexity ...
 ピッチとリズムはどっちが類似度に効いているか
Multi-Label Genre Classification...
 マルチジャンル分類データセット 音だけでなくジャケ写,アルバムレビューの文章も使う
Monaural Score-informed source separation for classical music using convolutonal neural network
An analysis/synthesis framework for automatic F0 annotation of multitrack datasets
Deep salience representations for F0 tracking in polyphonic music
Make your own accompaniment ...
 ユーザのソロ音源を使って,オケ音源からそのパートをキャンセルする

・ポスター
DNN/LSTM系が多い CNNもそれなりにある(小節単位)
MidiNet: A convolutional generative adversarial network...
 メロディ生成のDCGAN
Re-visiting the music segmentation problem with crowdsourcing
Chord generation from symbolc melody using BLSTM networks
 メロディからコードの生成をLSTMでやる
One-step detection of backgrund staff lines...
 OMR CNNで楽譜線消去をする
Automatic Playlist sequencing and transitions
 クロスフェードがうまくつながる制約で経路探索
A post-processing procedure for improving music tempo estimates...
 テンポ推定の誤りを訂正する後処理
Chord recognition in symbolc music using semi-markov CRF
 多選率データから和音シンボルとコードを推定
Early MFCC and HPCP Fusion gor robust cover song identification
 音響信号からカバー曲の検出
Score-informed syllable segmentation ...
 アカペラ歌唱とスコアから音声を音節に分割
Improving Note Segmentation in automatic piano music transcription...
 PLCAのアクティベーション行列の二値化のためのHMMパラメータの検証
Multi pitch detection and voice assignment for a capperlla recordings of multiple singers
 多重音採譜とパート割り当て
End-to-end optical music recognition using neural networks
Automatic stylistic composition of Bach chorales with deep LSTM
A study of LSTM networks for polyphonic music sequence modeling
 LSTMのパラメータ値と音符予測精度などの関係性を検証

■演奏支援 [14:45-15:45]
(3) エレキギター演奏自動評価のための音響的特徴量の調査
   下尾 波輝,矢谷 浩司
従来のギター練習支援のための自動評価では,音の高さとタイミングしか考えていなかったが,それ以外にも演奏の良さに関係がある要因があるだろうということで調査。テクニックに関連するものとして,左手と右手の動きを合わせること(hand synchronization)があり,これがうまくいかないと発音区間が短くなる。そこで音の鳴り終わりから次の音のオンセットまでの時間(Lag)を指標とする。また音色に関連する特徴として,「悪い音色」(フレットをきちんと押さえていないことによるビビリ音)を表すTone Stability と Tone Variance を提案。主観評価値と提案の特徴量をSVRで回帰。相関係数0.8ぐらい。実際にデモシステムを作ってデモをやってみていた。

(4) JamGesture:スマートフォンを用いた身体動作による即興演奏支援システム
   水野 創太,白松 俊,北原 鉄朗,一ノ瀬 修吾
スマホを使う即興演奏システム。スマホを持った手の上下で旋律概形を表現する。旋律概形から実際のメロディを生成する方法は著者らの先行研究(マウスで描画した旋律概形からメロディを生成する)と同じ。新規な部分はスマホのポジショントラッキング部分のみ。センシングデータから実際の上下方向位置を推定する場合は,単に加速度を積分するだけでなく,機械学習による推定で精度を上げる。また,スマホの画面をタッチすることによって旋律概形を入力する(手を放すと演奏をやめる)。また,スマホのカメラに映った手の位置から手の上下方向座標の推定をする方法も試している。これにはカラーグローブを利用する。性能としてはカメラを利用した手法のほうが高い。

■招待講演 [16:00-17:00]
(5) 自然言語処理における深層学習の進展
   岡崎 直観
・自然言語処理とは
 言葉を操る賢いコンピュータを作る
  応用:機械翻訳,QA,自動要約,対話,評判分析,情報検索等
  基礎:形態素解析,固有表現解析,構文解析,etc.
  多くのタスクは「入力xから出力yを予測」 hat y = argmax_y P(y|x)
 評判分析の例:単語列からラベルを予測する(positive, neutral, negative)
 品詞タグ付け:単語列からラベル列:
 単語列から木構造:構文解析
・深層学習ブームの幕開け(2012年ごろ)
当初は限定的→最近はDNNが最高性能を達成
・単語の分散表現
 単語の意味をネットワークに埋め込む
 Skip-gram with negative sampling (word2vec)
 word2vecのデモ(安倍晋三-日本+ドイツ=メルケル)
 GloVe(2014) 共起行列の対数をベクトルの内積で予測する
 fastText(2017) 単語シンボルとつづりの情報を使う単語ベクトル
・分散表現の合成
 文の意味をNNで計算:句や文の意味は,その合成に必要なパラメータと合成方法によって合成する
 RNN/LSTMによる文の意味表現の合成
 Recursive Neura Network:句構造に合わせてNNを合成
 Convolutional Neural Networkを1次元に適用する
 Gated Additive Composition:行列をかけないでゲートだけで合成
 Simple Recurrent Unit:ベクトルと行列の積を並列計算できるようにする
・エンコーダ・デコーダ/アテンション
 分散表現からの文生成→機械翻訳,対話文生成,自動要約など
 符号化・復号化モデル:ニューラル機械翻訳
 アテンション:過去の途中までの意味ベクトルを利用する
 アテンションだけの機械翻訳
 対話文生成,動画記述文生成
 ニューラル機械翻訳の挙動の解析
・深層学習により注目を浴びた言語処理のデータセット
 ヘッドライン生成:Gigawordコーパスを使って記事内容からヘッドラインを生成するモデルを推定
 読解タスク:文を読んで穴埋め問題を解く
 質問応答 SQuAD:Wikipedia記事から質問を自動生成→クラウドソーシングで答えを集める
 Stanford Natural Language Infrence (SNLI)
 ストーリー穴埋め

13431656 journal
GNU is Not Unix

t-nissieの日記: 【電脳】いまさらMakeを使っている人はMake組。Ninja速い。 1

日記 by t-nissie

タイトルは煽りです。
いまさらCMakeとNinjaを試してみました。
GNU AutotoolsにくらべてCMakeがとてもよいとはわたくしは言えないです。
GNU MakeにくらべてNinjaはとても(下の例では2.5倍)速いです。驚きました。


$ tar xf xtalgrowth-1.0.3.tar.gz
$ mkdir xtalgrowth-1.0.3/build-make xtalgrowth-1.0.3/build-ninja
$ cd xtalgrowth-1.0.3/build-ninja/
$ cmake .. -G Ninja
$ /usr/bin/time ninja -j6
[9/9] Linking C executable src/xtalgrowth
                0.13 real 0.23 user 0.11 sys
$ cd ../build-make/
$ cmake ..
$ /usr/bin/time make -j6
Scanning dependencies of target xtalgrowth
[ 11%] Building C object src/CMakeFiles/xtalgrowth.dir/PostScript.c.o
                  :
[ 88%] Building C object src/CMakeFiles/xtalgrowth.dir/parse_opt.c.o
[100%] Linking C executable xtalgrowth
[100%] Built target xtalgrowth
                0.32 real 0.31 user 0.23 sys
$ ninja --version
1.8.2

以上 http://loto.sourceforge.net/xtalgrowth/ で遊んでみた結果の報告でした。

13390883 journal
日記

aitoの日記: 8月26日 SIGMUS夏シンポ3日目まとめ

日記 by aito

8月26日(土)
■分析 [9:00-10:30}
(19)作曲者判定タスクのために分析すべき楽曲の長さ
   高本 綺架,吉田 光男,梅村 恭司,市川 裕子
このグループでは、データ圧縮効率によって作曲者を当てるという手法を試している。前回は既存のデータ圧縮ツールを使っていたが、今回は自前でデータ圧縮を行う。提案手法はMultigram言語モデルみたいな方法で、ピアノロール×16分音符の2次元に発音しているかどうかの0/1パターンを作り、それを連結した1次元データから辞書を作って圧縮する。辞書作成の時に何個の音まで利用するかを調べたところ、連続する2音まで使うとほとんどのデータに対して正解することができる。多分各時刻の発音パターンを符号化して符号の分布を考えるのと似たことをしていて、そちらの方が性能が高くなる気がする(いずれにしても、このタスクは簡単なので何を使っても性能は高いだろう)。

(20)多重ラベル分類を用いた意外性を有する楽曲検索・推薦手法の実験的考察
   大久保 好章,原口 誠,劉 赫宇
楽曲検索で、楽曲には音響情報とユーザによるタグ(ラベル)情報がついていると仮定した場合、クエリとして楽曲を与え、それに音楽的には似ているがラベル情報は必ずしも似ていない検索結果集合を求める方法。クエリにはラベルがついていないので、まずクエリについているであろうラベルを推定する。次に推定されたラベルから遠くてクエリには近い楽曲集合を求める。実際にはクエリのラベルを直接求めるのではなく、ラベルの空間を1次元にした空間への写像を求めて、1次元(直線)上で遠い楽曲を持ってくる。実験対象はMillion Song Datasetのベンチマークセットから24万曲。まだ実験を始めたところで結果は例だけ。

(21)TextTimeline: 文字表示を保持した発話テキストの音響特徴可視化
   中野 倫靖,加藤 淳,後藤 真孝
音声の特徴を反映して文字を表示する可視化方式。歌詞を横方向に表示し、音節ごとに音ゲーのように縦方向の長さが継続時間に比例したブロックが流れてくるデザイン。このデザインになるまでのサーベイやデザインポリシーの説明がとてもわかりやすかった。

■音楽データ [10:45-11:45]
(22)楽譜記述言語MusicXMLの拡張による楽典を考慮した和声解析フレームワークの提案
   清水 祐輔,沼尾 雅之
和声の解析をする際に、(筆者らの)これまでの研究では楽典の知識を使っていなかったので、楽典に沿った解釈によって和声解析をするためのフレームワークを作成した。拍節構造を考慮した構成音収集、楽典による解釈付与、和音の候補付与、候補の絞り込み、記譜などをフレームワーク上で行うことができる。楽典解釈の付与の部分ではいきなり実装の説明があって妥当性がよくわからない。また、処理とそのためのデータ構造のXML表現の両方が出てくるのだが、XML表現(MusicXMLの拡張)の提案とそれを処理する処理系の提案を同時に行っているということだろうか。

(23)ピアニストの演奏解釈を記述した演奏表情データベースの構築
   橋田 光代,兼口 敦音,中村 栄太,古屋 晋一,小川 容子,片寄 晴弘
これまで集めていたピアノ曲の表情データベースCrestMusePEDBを増強する話。PEDB 2nd versionではピアノのプロ奏者がMIDIピアノで演奏した曲を収録するほか、演奏者の解釈情報も収録し、全部で400弱の演奏を収録する予定。解釈は演奏者の主観に基づくので、アノテーションとXML化するのはたぶん人力なので大変そう。さまざまな「解釈の違い」による演奏の違いのデモがあった。

13390454 journal
日記

aitoの日記: 8月25日 SIGMUS夏シンポ2日目まとめ

日記 by aito

8月25日(金)
■演奏支援 [9:00-10:30]
(7) グラウンデッド・セオリー・アプローチ的方法によるピアノ演奏習得におけるチャンク形成要因の予備分析
   石垣 愛美,竹川 佳成,平田 圭二,冨永 敦子
楽譜のまとまり(チャンク)が学習者の認知としてどのように形成されるのかを、Grounded Theory Approach (GTA)という理論に沿って分析する。ピアノ曲を題材に、直接演奏する場合と、楽譜と音楽を視聴するだけの場合でチャンクの獲得過程を比較。これを実験して分析するの大変だったろうなあ。分析を通して、チャンクを「譜面チャンク」「演奏チャンク」「音楽知識チャンク」の3つの大分類に分類。音楽を何回か演奏または視聴することで、どの分類のチャンクの比率がどの程度あるのかを分析した。経験者と初心者で傾向が違うが、演奏を行わないで楽譜を視聴するだけだと演奏に関するチャンクが形成されないという傾向があった。

(8) 多視点演奏映像を活用したピアノ演奏指使い分析ツールの提案
   長谷川 麻美,竹川 佳成,平田 圭二,兼重 直文
ピアノ演奏の際の良くない癖(悪癖)を発見してピアノ教育を支援するツール。演奏者の手指にマーカを付け、3方向から撮影しながらMIDI鍵盤で演奏して、指の動きと実際に打鍵している音を取得する。作成システムでは、取得した動画を再生したり、同じ曲の演奏動画を同期して再生したりでき、教師が悪癖を発見するのを補助することができる。

(9) 楽譜と演奏履歴を用いた深層自己回帰過程に基づく演奏タイミング予測
   前澤 陽
人間と協調する自動伴奏が目標。そのためには人間の演奏タイミングの先読みを行うことが重要。楽譜と演奏履歴から次の演奏タイミングを予測する。従来は「楽譜のみ」「演奏のみ」「楽譜と演奏を使うがオフライン」の手法しかなかったので、楽譜と演奏履歴を利用してオンラインかつ初見で演奏タイミングを予測する方法を開発する。手法としては、AR過程(過去の音符長の線形結合によって次の音符長を予測する)におけるLPC係数を過去の楽譜と演奏からDNNで予測する。評価としてピアノの表情付けを行った。

■作曲支援
(10)作者内一貫性と音楽的典型性を考慮した作曲支援インタフェース
   中村 裕美,中野 倫靖,深山 覚,後藤 真孝
作曲をすでにしている人向けの作曲支援。どれだけその人らしい曲か(作者内一貫性)と、どれだけ普通の音楽らしいか(音楽的典型性)を考慮する。このために、中野による「音楽のありがち度推定」を利用する。特定の楽曲、特定の作曲者の楽曲、全作曲者の楽曲のモデルをそれぞれ作り、それらのモデル間距離を使って楽曲の類似性を求める。作曲支援時には、目標となる一貫性と典型性を決め、そこに近づくような音列を推薦する。実験として、推薦された音列をそのまま追加していくと典型性と一貫性が目標値に近づくことを確かめた。

(11)ディープラーニングによるループ音源の自動生成
   細川 皓平,横山 想一郎,山下 倫央,川村 秀憲
DCGANを使ってループ音源を生成する。波形そのものを学習データとして波形を直接生成するが、実現可能にするようにサンプリング周波数は2048Hzで2秒分を生成。いろいろな制約により、実際に生成した例では学習サンプルを2個ないし4個しか使えていないので、たぶんこれだけではあんまり意味ないだろう。

(12)特徴量軌跡の機械学習に基づくジャズセッションの自動生成
   保利 武志,中村 和幸,嵯峨山 茂樹
一人ジャズセッションのためのジャズ伴奏生成システム。人・機械とも演奏が即興であるところが従来の自動演奏と異なる。音楽演奏を、特徴空間中の時間発展に伴う軌跡だと仮定する。セッションの「良さ」を表現するために、複数の楽器によるセッションでの複数の軌跡の共起関係を確率モデルで表現する。システムとしていくつかのバージョンがあるが、特徴量をGMM-HMMでクラスタリングし、共起制約はBLSTMとDBNで学習する。音高はガウス分布、リズムはPCFGで生成する。軌跡間の対応はHMMの状態対応として学習するが、表現力を上げるために状態の平均値からの変移も考慮する。現状はリアルタイムではないので(BLSTMを使っているので原理的にリアルタイムにならない)、自動伴奏ではなく伴奏の即興演奏生成システムというべきか。

■編曲支援 [13:15-14:15]
(13)音楽音響信号から得られる音楽要素に基づく自動ピアノアレンジ
   高森 啓史,深山 覚,後藤 真孝,森島 繁生
ポピュラー音楽の音響信号からピアノ譜を生成する自動アレンジ。いくつかの制約(メロディが最高音、コードが原曲と同じ、アクセントが原曲と同じ、リズムが原曲と同じ)を満たしつつピアノで演奏可能なアレンジを探索する。入力は音響信号だが、リズム以外の解析はSongleを使う。音響信号からアクセントのある音符位置を求め、右手パートではメロディに対してアクセント位置にコード構成音を足していく。左手については伴奏データベースからコードに合ったものを選択して微調整する。例としてPrologueのアレンジが流されたが、「原曲」として紹介した奴が初音ミクバージョンだった。RWCデータベースのものが原曲じゃないのか。

(14)和音系列の統計的木構造解析とSplit-Mergeサンプリングに基づくメロディへの和声付け
   津島 啓晃,中村 栄太,糸山 克寿,吉井 和佳
メロディに対するコード付与。従来手法に比べ、コード系列の繰り返しを考慮する。コードが直接繰り返すのではなく、機能和声(tonic, dominant, subdominant)レベルで繰り返し構造を想定し、その構造が木構造を形作ると仮定する。モデルとしては、PCFGから機能和声が生成され、機能和声からコードが生成され、マルコフモデルによってコードからリズムが生成され、コードとリズムから音符が生成されるというもの。その逆問題を解くのにMCMCを使う。

■推定・認識 [14:30-16:00]
(15)音響的に自然なつなぎ目の発見による楽曲ループ検出
   安井 拓未,中村 篤祥,田中 章,工藤 峰一
ゲーム音楽をループ再生するための継ぎ目の自動検出。そのために楽曲中から繰り返しを求める。これを最長周期部分列問題として定式化する。距離定義は振幅スペクトルの差分の絶対値をスペクトルのL1ノルムで正規化したもので、距離がある程度近ければ一致しているとする。計算量削減のため、ビートトラッキングによってビート位置を分割単位とする。接続時に不連続が起きないように、ゼロクロス位置で微分係数が一致している場所でつなぐ。部分列発見アルゴリズムは既存なので、ビートトラッキングの正確性が全体の精度を決めるが、そこはありもののライブラリを使っている。

(16)deepGTTM-III: グルーピング構造と拍節構造の自動獲得
   浜中 雅俊,平田 圭二,東条 敏
理研に異動した浜中さん。これまで作ってきたDBNによるグルーピングと拍節構造推定システムの改善。音符のオンセット・オフセット時間、ベロシティ、ピッチを入力として、まずグルーピングルールを推定するネットワークを作り、推定されたグルーピングルールと入力を合わせてグルーピング構造を生成する。拍節構造もほぼ同じで、最後に全体を合わせる。これまでのdeepGTTM(グルーピングと拍節構造を独立に推定)よりも少し性能向上。

(17)調とリズムを考慮した階層隠れセミマルコフモデルに基づく歌声F0軌跡に対する音符推定
   錦見 亮,中村 栄太,後藤 真孝,糸山 克寿,吉井 和佳
歌声のF0軌跡から実際に歌唱しようとした音高系列を推定する。調とリズムから楽譜が生成され、楽譜から時間的に逸脱した楽譜が生成され、さらにそこから周波数揺らぎをもったF0系列が生成されるという階層HSMMを使う。調は小節ごとに割り当てられ(転調を考慮)、単純マルコフモデルでモデル化する。音高の生成は調に依存して生成確率を持つ。ビート位置は1小節を16分割した位置のいずれかで、あるビート位置は直線のビート位置に依存する。これらをベイズ推定の枠組みにかけてパラメータ推定。実験の結果、調・楽譜モデルの導入の効果が大きい。

■デモセッション [16:00-18:00]
(18)デモンストレーション:音楽情報処理の研究紹介XVI
   奥村 健太,阪上 大地,荒 哉太,飯尾 英晃,石垣 愛美,齊藤 塁,高橋 公太,武田 郁弥,名畑 皓正,能登 楓,長谷川 麻美,原 史也,藤田 千尋,柳田 拓郎,類家 怜央

以下見たものだけ。

音源解析技術を活用した自動カホン演奏ロボット (UTSUWA)
カホンを演奏するロボット。Twitterアカウントもある( https://twitter.com/cajon_robot )。技術的には、演奏の音響信号からドラムを検出して、バスとスネアのタイミングにあわせてカホンの2か所をロボットがたたき分けるのが見どころ。産総研のSongle Widgetとかと組み合わせると今すぐにニコ動の任意の曲がたたけるようになりそう。

ピアノ学習支援システムを用いた演奏習得におけるチャンク分析(はこだて未来大)
午前中聞いたやつ。何かデモがあるのかと思ったが、出し物はなくてお話をしただけだった。

音を力の変化の信号を使用して再生(コータサウンド)
一昨年のSIGMUS夏シンポで理論は発表済みというのだけど、電子図書館を見たところ、夏シンポではなくて10月の研究会だった。論文はこれ。
https://ipsj.ixsq.nii.ac.jp/ej/?action=pages_view_main&active_action=repository_view_main_item_detail&item_id=145764&item_no=1&page_id=13&block_id=8
デモではこの論文にあった音の補正装置(ディジタル処理をしていたが、おそらくイコライザと同じ)を使って音楽を鳴らしていた。いい音ではあったが、提案装置を使わないとどうなるのかは不明。ちなみに上記論文のほうは、音響系トランスデューサの話であるにもかかわらずインピーダンスという単語が出てこないところからお察し。

三次元に拡張したメロディ概形を用いたギター特殊奏法の自動検出法について(はこだて未来大)
ビブラートやベンドなどの特殊奏法の検出に向けたモデル化の話。これらの奏法にはピッチだけ見ても通常奏法と区別しにくいものがあるので、基本周波数と振幅の両方を特徴量としてみようということなのだが(まあ妥当かな)、それを「メロディ概形」と呼んでいるところで各方面から突っ込まれていた。メロディ概形がだめなら何ならいいのか、ということでディスカッションしたが、「基本正弦波成分」でどうだろう、というアイデアを一応出しておいた。

スパイラルアレイモデルを用いた階層的調性構造を抽出する試みについて(はこだて未来大)
音高、和音、調などをらせん状のモデルで表す理論があり(音のピッチ知覚がらせん状になるやつとは違うらしい)、それを利用して、調の推定には情報が不十分であるようなときも調の推定ができるようにしたいというアイデア。調のらせんを3次元空間上に展開して、楽譜から得られた音符を同じ空間のどこかに写像し、近い調を探すというアイデアだが、らせん状の多様体とそこから外れた空間上の点のユークリッド距離に意味があるのかわからない(あるかもしれないし、ないかもしれない)。

暗意―実現モデルに基づく作曲者らしさ識別へ向けての予備検討(はこだて未来大)
暗意―実現モデルは、3つの音符の高さの変化に関するモデル。元の理論ではこれを何種類かに分類しているのだが、この発表では1番目と2番目の音符、2番目と3番目の音符それぞれの音程を2次元で表し、その分布から作曲家らしさを得ようとしている。作曲家認識が目標ならもっとスマートな方法がありそうだが、目的が何なのか今一つ釈然としなかった。

3視点演奏動画を用いたピアノ演奏者の指使い分析ツールの提案(はこだて未来大)
午前中聞いた。指に付けたマーカから3次元座標を復元するところはすでにツールで可能になっているとのこと。

声量制御のための音声フィードバック器具の設計と実装(はこだて未来大)
声を出しているときに、自分の声を増幅または抑圧してヘッドフォン提示すると、提示音が大きい場合には発声は小さくなり、提示音が小さい場合には発声は大きくなる。同じく、ホワイトノイズを提示すると、提示音が大きいときは発声も大きく、提示音が小さいときは発声も小さくなる。これを利用して、装着者の声の大きさをコントロールする器具を作ろうというアイデア。

筋電位とMIDI情報を用いたドラム演奏における疲労度の簡易計測法の提案(はこだて未来大)
筋電センサで筋電位を観測すると、その変動の周波数分布から筋肉疲労が計測できる。安い筋電センサが使えるようになったので、それを使ってドラム練習者の疲労度を測り、疲れない練習法の教授につなげようというアイデア。筋肉の使い方を教示したいのなら、疲労じゃなくて筋肉の緊張そのものを測ったほうがよいのでは。

音響音楽信号の分散表現法の提案とその楽曲推薦システムへの応用について(はこだて未来大)
音楽の音響特徴から心理量の空間に写像する奴はよくあるが、この研究は音響特徴量をいったん形容詞に変換し、その形容詞をword2vecでベクトルにすることで音楽をベクトル化しようというアイデア。検索の際に形容詞が使えるというのはわからなくもないが、良さがいまひとつピンとこない。

13389782 journal
日記

aitoの日記: 8月24日 SIGMUS夏シンポ1日目まとめ

日記 by aito

8月24日(木)
■アプリケーション・歌唱支援 [13:00-15:00]
(1) 背景音楽のテンポが休息時の作業者に与える効果:生理的指標の評価
   村上 昌志,坂本 隆,加藤 俊一
作業後の休息時間中に音楽を聞かせる場合に、音楽のテンポが休息効果にどう影響するかをしらべた。被験者にTOEICの模擬テストをやらせたあと、同じピアノ曲を60/120/180BPMの3条件で聞かせ、心拍の揺らぎのLF/HF比(ストレス指標)を測った。その結果、音楽がないよりもあったほうがよく、BPMが小さいほうがストレス指標が下がった(ストレス解消効果が高い)。ストレス解消効果があるBPMの下限はどこかという質問が出た。今回はピアノ曲なので、BPMが大きい方が全体のパワーが大きくてラウドネスが大きい(かもしれない)ことが影響しているのではないかとコメントした。

(2) MachineDancing: ポーズの変化に関する大局的制約と音楽と動作の局所的制約を同時に考慮したダンス自動生成
   深山 覚,後藤 真孝
音楽信号からのダンス動画の自動生成。音楽の分析結果(拍や構造)と個別の動作に分解されたダンスモーションのデータベースから学習を行い、音楽の拍ごとにモーションを予測する。従来は、いくつかの局所的な制約(音楽のビートと動作速度の対応、動作の滑らかさ制約など)の下で尤度を最大化する姿勢系列を生成していた。今回の発表では、大局的な制約を持った動作(ステップ、バースごとの繰り返し、場所を移動する動作など)を導入した。あらかじめ拍の強度をクラスタリングしておき、似た強度の拍では似たようなモーションをつける。音楽構造で対応が取れる部分に似た動作を割り当てることで制約を導入する。また、Kinectで取った製作者のモーションに似たモーションを生成する。このためには上半身と下半身のモーションを別々に解くのを繰り返していて面白い。

(3) 楽曲中の歌声とユーザ歌唱のリアルタイムアラインメントに基づく伴奏追従型カラオケシステム
   和田 雄介,坂東 宜昭,中村 栄太,糸山 克寿,吉井 和佳
ユーザの歌唱に合わせて伴奏するシステム。伴奏の元が音響信号であるところが新しい(伴奏がMIDIである研究は既存)。歌声付きの伴奏を用意し、その3秒分のスペクトログラムから音源分離によって歌声と伴奏を分離する。次に分離した歌声と入力歌唱とのアラインメントによって伴奏速度を推定し、それにしたがって分離された伴奏信号を伸縮して流す。アラインメントにはF0とMFCCの両方を利用する。伴奏の伸縮はフェーズボコーダ。

(4) 既存歌唱曲アレンジのための歌声キーボード
   尾島 優太,中野 倫靖,深山 覚,加藤 淳,後藤 真孝,糸山 克寿,吉井 和佳
混合音楽信号のドラムパートや伴奏パートをすげかえる研究はすでにあるが、この研究はボーカルパートを操作する。単にボーカルパートを挿げ替えるのではなく、キーボードを使ってリアルタイムに歌い方を操作することができる。音ゲーのようにピアノロール上で音符が落ちてくるインタフェースがあり、音符に合わせてキーボードを弾くことによってボーカルを演奏する。音高の変更、ハモリパートや輪唱の挿入などができる。手法としては、まずRobust PCAに基づく音源分離によって伴奏とボーカルを分離し、拍の推定によってボーカル信号を音符に分ける。ピッチシフトはPSOLA。音源分離は分離性能は高そうだがミュージカルノイズがひどくて音は悪い。その部分を改善すると面白そう。

■分離 [15:15-16:15]
(5) 複素ラプラス分布に基づく非負値行列因子分解
   丹治 寛樹,村上 隆啓,鎌田 弘之
Itakura-Saito距離を使うNMFは複素スペクトルに複素正規分布を仮定しているが、実際のスペクトルの分布はもっと尖っているので、尖った分布を生成されやすいモデルとして複素ラプラス分布を使うNMFを提案。ピアノとエレキギターの多重音分解を使って評価。いろいろやっているが、性能は他のNMFと同程度。

(6) モノラル音響信号に対する音源分離のための無限相関テンソル分解
   吉井 和佳
複素スペクトルに対する分解。吉井先生が以前提案していたPSDTF(半正定値テンソル分解)では周波数方向の相関を考慮していたが、提案法では時間と周波数双方の相関を考慮した分解を行う。そのために、複素スペクトログラムの各時間の周波数成分を全時間について並べて1つのベクトルにしたうえで共分散行列を計算する。そのうえで、その巨大行列を周波数方向の共分散行列と時間方向の共分散行列のクロネッカー積として近似する。生成モデルとしては、1つの確率モデルから一度にスペクトログラムが生成される形になる。

このあと企画セッションとして、音楽関連の各種国際会議の紹介セッションを行った。私が企画したが、おおむね好評だったものの、ちょっとまとまりに欠けたという意見もあった。ちょっと反省。

13380075 journal
日記

aitoの日記: IIH-MSP2017@松江 3日目

日記 by aito

2017/08/15

Session C01: Massive Image/Video Compression and Transmission for Emerging Networks
このセッションでは座長が来られなかったのでPan先生が座長をやる。

Extraction of EEG Components Based on Time-frequency Blind Source Separation (Xue-Ying Zhang et al)
No Show.

An Algorithm for Asymmetric Clipping Detection based on Parameter Optimization (Jiwei Zhang et al)
Niu先生が発表。「非対称クリッピング」というのは単に写真の(中心でない)部分を切り出すことのようだ。この研究では、カメラのパラメータを推定することで、対象の写真が撮影された画像の一部を切り出したものかどうかを推定する。途中の計算はよくわからなかったが、principal point(消失点みたいなもの?)を求め、それが画像中心から外れていれば切り出しを行ったと判断する。同様に消失点を使った方法も紹介されたのでprincipal pointは消失点ではないのかなあ。

Automatic Facial Age Estimate based on Convolution Neural Network (Jiancheng Zou et al)
No Show

The Application of Eye Tracking in Education (Yuyang Sun et al)
No Show

Adaptive Multiple Description Depth Image Coding Based on Wavelet Sub-band Coefficients (Jingyuan Ma et al)
No Show

Robust Unseen Visible Watermarking for Depth Map Protection in 3D Video Classification (Zhaotian Li et al)
2次元映像から深度マップを抽出し、深度マップから3次元映像をレンダリングする。深度マップをUVW (Unseen Visible Watermark)という方法で2次元映像に埋め込む。オリジナルのUVWを頑健にしたとのことだが、UVWを知らないので何が違うのかわからん。ともかくDCT領域に埋め込むらしい。深度マップを保護するために3次元映像に埋め込むとのことだが、「単に深度マップを暗号化して個別に送るのと比べて何がいいのか?」と聞いてみたところ、要領を得なかった。Unseen Visible Watermarkというのは、Visible Watermarkみたいに隅っこにマークが出るのだが、実は裏に別なデータが仕込まれているものらしい。

Session C02: Recent Advance in Multimedia Signal Processing Techniques
このセッションはC01の後のはずだったのだが、ふと気がつくと別な部屋でやっていた。そんなんありか。

Boosted HOG Features and Its Application on Object Movement Detection (Junzo Watada et al)

Training method for a Feed Forward Neural Network (Haydee Melo et al)

Fast Intra Mode Decision Algorithm for 3D-HEVC Transcoding (XuiJun Feng)

SURF Algorithm-based Panoramic Image Mosaic Application (Junzo Watada et al)
これの途中で部屋に入った。

Automatic People Conter in Store Using a Low-Cost IoT Sensing Platform (Supatta Viriyavisuthisakul et al)
山崎先生のところの人。カメラを使ってコンビニへの客の出入りを自動計測する。本体はラズパイでOpenCV利用。学生の演習としては面白いが、客の出入りだけなら赤外線センサで十分なんじゃないのか。

GUI of GMS Simulation Tool Using Fuzzy Methods (Yeonchan Lee et al)
第2著者のChoi先生が発表。GMSはGenerator Maintainance Systemで、発電所の発電機のメンテナンス計画をどう立てるかという話。電力会社はできるだけメンテナンスを省いて稼働率を上げたいし、政府はきちんとメンテナンスをさせて安定性を上げたいなど、互いに矛盾する評価基準がある。整数計画問題なので、通常遺伝的アルゴリズムなどによって解く。この発表では、ファジィ理論を使って各種指標のメンバーシップ関数を定義し、互いに適当に妥協する解を求めようとしている。GUIも作成しているが、この手のものを必要としているのは電力会社の中枢だけなので、研究としてGUIを作ったりする意味があるのか疑問。

typodupeerror

目玉の数さえ十分あれば、どんなバグも深刻ではない -- Eric Raymond

読み込み中...