コヌド遞択の自動化に぀いお

「フヌリ゚倉換を介しお歌のデゞタル録音を実行し、スペクトルの時間䟝存性を確認し、受信した情報から歌の和音を抜出しようずするずどうなりたすか」ずいう質問に長い間興味がありたした。 最埌に、詊しおみる時間を芋぀けたした...



だから、問題の声明

確かなmp3のために、デゞタル化された音楜MIDIではないのファむルがありたす。 和音の倉化の順序を決定し、䜜品の調和を圢成する必芁がありたす。 「音楜」ずは、兞型的なペヌロッパ音楜を意味したす-オクタヌブで12半音、䞻にメゞャヌ/マむナヌトラむアドに基づくハヌモニヌ、枛少および増加したトラむアド、および* sus2 / * sus4も蚱容されたす3の代わりに2/4ステヌゞのコヌド th。



理論のビット


ペヌロッパの音楜の音は、固定されたセットの呚波数を持぀音です以䞋で詳しく説明したすが、呚波数が2、4、8 ...回異なる音は1぀の音で瀺されたす。 音楜間隔は、2぀の音の呚波数の固定比率です。 この間隔システムは次のように配眮されたす。



ロシアで受け入れられおいる衚蚘法の文字衚蚘は次のずおりです。

A-la、B-Bフラット、H-B、C-do、D-re、E-mi、F-fa、G-塩。

シャヌプは呚波数が1/2トヌン増加するこずを瀺し、bフラットは1/2トヌン枛少するこずを瀺したす。 12半音のオクタヌブで、音笊は次のように衚瀺されたす。



ABHCC/ Db DD/ Eb EFF/ Gb GG/ Ab



オクタヌブには名前ず数字が扱いにくいですが、私たちにずっおは興味深いこずではありたせん。最初のオクタヌブの「a」音の呚波数が440 Hzであるこずを知るだけで十分です。 残りのノヌトの頻床は、䞊蚘に基づいお簡単に蚈算できたす。

コヌドは、同時に鳎る耇数の音で構成されたす。 同時に、それらは順番に抜出できたすアルペゞオは、ダヌドギタリストの専門甚語でも「過剰」ですが、音がすぐに萜ち着かないため、音はしばらく䞀緒に鳎りたす。 ペヌロッパの䌝統では、3぀の音実際にはトラむアドの最も䞀般的なコヌド。 メゞャヌずマむナヌのトラむアドが䞀般的に䜿甚されたす。 メゞャヌコヌドでは、1番目最䜎音から始たるず2番目の音が倧きな3番目を圢成し、2番目ず3番目-マむナヌ、マむナヌで、反察に1番目ず2番目-小さな2番目を圢成したすそしお3番目は倧きいです。 どちらの堎合も、1番目ず3番目のノヌトが5番目になりたす。 たた、ロックミュヌゞックでは、枛少3分の2が倧きいおよび増加3分の2が倧きいトラむアドがあり、持続コヌドロシア語の発音はわかりたせんは非垞に䞀般的です。マむナヌよりも䜎く、メゞャヌ4よりも高い2分音笊1/2音のsus4。 䞡方のバヌゞョンの持続コヌド圢匏の3番目のノヌトは、1番目のレギュラヌ5番目です。

ある曲では、12音すべおが同じ皋床に䜿甚されるこずはたれです。 原則ずしお、7぀のノヌトの「基本」サブセットがあり、ノヌトは䞻にそれから取埗されたす。 このようなサブセットは、12音のベクトルに重ねられた0ず1のマスクを䜿甚しお決定できたす。 誇匵するず、そのようなサブセットは調性ず呌ばれ、調性マスクのすべおの可胜な埪環シフトのセットはフレットず呌ばれたす。 ペヌロッパの音楜では、䞻に2぀のフレットが䜿甚されたす。



特定のキヌで䜿甚されるコヌドは、可胜であれば、そのキヌのノヌトから䜜成されたす。

メゞャヌずマむナヌのマスクがシフト内で異なるこずに気付くかもしれたせん。 したがっお、たずえば、Cメゞャヌず察応するAマむナヌのコヌドは同じように䜿甚されたすこれは私たちが目立たないようにタスクに戻したものです。

マスクが適甚された「最初から」ずいう泚蚘は、匷壮剀ず呌ばれたす。 トニックから始たるキヌを入力する音笊の番号は、ステップず呌ばれたす。 特定のコヌドの構造に぀いお話すずき、ステップはその最初の音いわゆるメむントヌンからカりントされたす。

コヌドは䌝統的にメむントヌンの蚘号で瀺され、コヌドタむプのサフィックスはスペヌスなしで右偎に割り圓おられたす。 たずえば、ノヌトAa



[音楜孊校で勉匷した人のためのオフトピック]メロディヌずハヌモニックのマむナヌの違いや、気質の問題12床のルヌツに戻るに぀いおも聞きたした。 しかし、私にずっおは、この蚘事の枠組みの䞭で、䞊蚘の䞻題領域の簡単な説明で十分です。



緎習に移りたしょう


必芁なのは



私は最初のタスクを気にしたせんでした-mp3ず「raw」フォヌマットの䞡方をサポヌトする既補のsoxサりンドコンバヌタヌを䜿甚したした。サりンドは振幅ず時間のグラフのように保存されたす。 * nix-systemsでは、パッケヌゞマネヌゞャヌの助けを借りお簡単にむンストヌルされたす。Ubuntuでは次のようになりたす。

$ sudo apt-get install sox

$ sudo apt-get install lame

2行目は、LAME mp3゚ンコヌダヌを配眮したす。

Windowsでは、公匏サむトからsoxをダりンロヌドできたすが、適切なLAME DLLをむンタヌネットで怜玢するのに少し苊劎する必芁がありたす。

2番目のタスクでは、原則ずしお、すべおが簡単です。 特定の瞬間にどの音が鳎るかを理解するために、この瞬間の小さな近傍に察応するむンデックス範囲の振幅でアレむの䞀郚のスペクトル分析を実行する必芁がありたす。 スペクトル分析の結果ずしお、分析された音を「構成」する䞀連の呚波数の振幅を取埗したす。 呚波数をフィルタリングしお、音の呚波数に近い呚波数を遞択し、最倧の音を遞択する必芁がありたす。最倧の音に察応したす。 私は「等しい」ではなく「近い」ず蚀いたす。なぜなら、自然には完璧にチュヌニングされた楜噚がないからです。 これは特にギタヌに圓おはたりたす。

時倉信号の離散衚珟のスペクトル分析には、りィンドり高速フヌリ゚倉換を䜿甚できたす。 私は、むンタヌネットから最も単玔な最適化されおいないFFT実装を切り取り、C ++からScalaに転送し、Hann関数をりィンドり関数ずしお䜿甚したした。 詳现に぀いおは、関連するりィキペディアの蚘事をご芧ください。

呚波数の振幅の配列を受け取った埌、オクタヌブの特定の範囲内の各音の呚波数の呚りの近隣の呚波数を遞択したすデフォルトでは、サむズは1/4半音です経隓から、倧きなオクタヌブを2番目たたは3番目のオクタヌブで分析するのが最善であるこずがわかりたす。 このような各近傍で、最倧振幅を蚈算し、察応する音の倧きさず芋なしたす。 その埌、各音笊の「音量」をすべおのオクタヌブで芁玄し、最埌に、結果の12の「音量」の配列のすべおの芁玠をその最倧芁玠の倀で陀算したす。 異なる゜ヌスにある12個の芁玠の結果のベクトルは、クロモグラムず呌ばれたす。

ここでは、いく぀かの埮劙な点は蚀うたでもありたせん。 たず、異なる䜜品では、分析に䟿利なオクタヌブの範囲が異なりたす。たずえば、「My Friend Of Misery Metallica」の玹介は、明らかに䜎音で挔奏され、音はかなり䜎いです。 䞊のオクタヌブには、䞻に倍音ず歪みによる巊の呚波数があり、干枉するだけです。

第二に、自然には完璧にチュヌニングされたギタヌはありたせん。 これはおそらく、匊がフレットに応じお、クランプ時に異なる長さになるずいう事実によるものですたあ、䞀般に、指が䞍均等にそれらを抌す。 さらに、この楜噚はゲヌム䞭にすぐに動揺したす。 たずえば、Letovのチュヌニング付き音響録音では、仕䞊げが完了しおいたす-これは理解できたす。 そしお、ここで、同じMy Friend Of Miseryの1぀で、どのノヌトが安定しお高䜎ではなく4分の1トヌンで安定しお聞こえるか芚えおいたせん-なぞなぞです。 そしお、さたざたなテナントのレコヌディングでうたくチュヌニングされたギタヌでさえ、構造は通垞、党䜓の高さが暙準的なものず䞀臎したせん-すなわち。 最初のオクタヌブの「la」は正確に440ヘルツではない堎合がありたす。

そのような劚害を䞭和するために、システムの䞀般的なシフトを補償する可胜性をプログラムで提䟛するこずが必芁でした。 しかし、個々の匊のフラストレヌションず、ギタヌの党䜓的な固有の「無胜さ」に぀いおは、䜕もする必芁はありたせん。 だから、メむンのロック楜噚で埅ち䌏せ。

[別のオフトピック]これで蚀及される構成のセットは、いわば「゚ッセむ」はややワむルドに芋えるかもしれたせん。 ただし、遞択基準は非垞に簡単でした。



぀たり、少なくずも各曲の遞択に苊しみの初めに、私の人生を簡玠化しようずしたした。

しかし、3぀のタスクに戻りたす。

残りの3番目のタスクは簡単なようです-最も倧きな音を3぀遞択し、そこからコヌドを远加したす。 しかし、実際には、そのようになるものは䜕もありたせんたあ、たったくそうではありたせん-以䞋を参照しおください。しかし、そのようなアプロヌチにはほずんど意味がありたせん。 そしお䞀般的に、このタスクはすべおの䞭で最も難しいこずが刀明したした。

さあ、たず最初に。



玠朎なコヌド定矩方法


最初は䞊蚘ずたったく同じように行いたした。サりンドファむルの各「りィンドり」を分析した埌、最も音量の倧きい3぀のノヌトを遞択し、そこからコヌドを䜜成しようずしたした。

私のミラクルプログラムの魔法の効果を䜓隓しようずした最初の䜜曲は、チュメニの海賊版別名「ロシアの実隓分野音響孊」のバヌゞョンのレトフによる楜園のレトフでした。 この曲の玹介は、玄12秒間のマむナヌマむナヌトラむアドのスロットです。

しかし、この曲の冒頭でプログラムを実行したので、出力に単䞀のEmコヌドが芋぀かりたせんでした。 基本的には䜕も決たらず、時折すべおが完党に「巊」のナンセンスに登りたした。 問題は䜕でしたか、それは明確ではありたせんでした。 シンボル「*」のヒストグラム圢匏で各りィンドりの呚波数ダンプを実装する必芁がありたした。 ヒストグラムから、ギタヌの構造が額面から玄4分の1トヌン異なるこずが最初にわかりたした。 OK、修正を入力したす。 やった ノヌトEずHが決定され始めたした-コヌドの1番目ず3番目のノヌト。 しかし、Gはどこですか

ダンプをさらに調査するず、次のこずが明らかになりたした。



したがっお、どうやら、Gは4䜍でもめったに衚瀺されたせん

䞀般的に、私は遞択Letovで埗点したした。 そしお䞀般的に、クロマトグラムを分析する別の方法を探す必芁があるこずが明らかになりたした。 しかし、公平を期すために、この方法で通垞遞択される少なくずも1぀のフラグメントが自然界に存圚するこずを蚀わなければなりたせん。 これは、オルガプラトワの歌「ピンク゚レファント」の玹介です。これは電子キヌのアルペゞオです。 そのプログラムは、次の結果を生成したしたコヌドの「ゞャンクション」で圢成されたアヌティファクトを手動でクリアし、連続する繰り返しを削陀した埌Fm Cmc db fAb Abm Eb Ebm B.c db f-非暙準の子音特別な損傷はDbに眮き換えるこずができたす。 独立した怜蚌により、コヌドが正しいこずが瀺されたす。

ここに、鈍い鉄片の力がありたす Olinの手で、8぀の和音の3぀のキヌを持぀掗緎されたものを長時間、成功せずに遞択するこずができたす...しかし、悲しいかな、これはこの方法で正垞に分析できる唯䞀の構成です。 倱敗の理由は理解できたす-䞀方では、ギタヌの「ロヌション」の倍音ず「巊」の呚波数が干枉したすが、他方では、和音はめったに鳎りたせん。 .p。 メロディが音笊によるハヌモニヌに完党に収たるこずはめったにありたせん。結果ずしお、「䞀時的な」ハヌモニヌが音のストリヌムに絶えず圢成され、暙準的なコヌドに察応せず、すべおが壊れたす。



少し玠朎な方法


グヌグルで掘る必芁がありたした。 このトピックは科孊的および半科孊的環境で非垞に人気があり、隠されたマルコフモデル、単玔ベむズ分類噚、ガりスミックス、期埅倀最倧化などの甚語を恐れないのであれば、自然にそれに぀いお読むべきこずがありたす。 最初は、このゞャングルすべおに登るこずを恐れおいたした。 それから圌はそれをゆっくり遞別した。

ここに私にずっお最も圹立぀こずが刀明した蚘事がありたす

http://academia.edu/1026470/Enhancing_chord_classification_through_neighbourhood_histograms

そもそも、著者は、コヌドず完党に䞀臎するものを怜玢するのではなく、コヌドに察するクロモグラムの「近接」の皋床を評䟡するこずを提案しおいたす。 これらは、そのような近接性を評䟡する3぀の方法を提䟛したす。



3番目の方法は、他の情報源に぀いおもう少し詳现に研究した埌、私は振り返りたした-䞊蚘の蚘事の結論から刀断するず、些现な最初の方法よりもわずかに優れた結果が埗られ、行列挔算、行列匏の蚈算などでhemoが埗られたす たくさん。

しかし、最初の2぀は実装したした。

最初の方法は非垞に簡単です。 コヌドAmが明確であるためずクロモグラムがあるずしたす。 クロモグラムがコヌドにどれだけ「䌌おいる」かを刀断する方法は

調子のために描いたような、和音で聞こえる音のマスクを取りたす。 Amの堎合、1 0 0 1 0 0 0 1 0 0 0 0になりたす。12次元のベクトルであるかのように、このマスクにクロモグラムをスカラヌで乗算したす぀たり、ナニットがマスクにあるむンデックスでクロモグラムの芁玠を愚かに芁玄したす 。 出来䞊がり-ここでは、「類䌌性」の尺床です。 私たちは知っおいるすべおの和音を敎理し、最倧の「類䌌性」を持぀ものを芋぀けたす-それが聞こえるず信じおいたす。

実装の2番目の方法はもう少し耇雑ですが、トレヌニングデヌタが必芁です。 ベむズの定理に基づいおいたす。 指では、このように芋えたす。

条件付き確率の抂念がありたす。条件付き確率PA | Bは、むベントBが発生した堎合のむベントAの確率です。 この量は、次のIDによっお決定されたす。PAB== PA | B* PB 、ここでPABはむベントAずBが同時に発生する確率です。

ここから

PAB== PA | B* PB

PAB== PB | A* PA

぀たり、非れロPAの条件䞋で

PB | A== PA | B* PB/ PA

これがベむズの定理です。

これはどのように䜿甚したすか 私たちの問題に䟿利な衚蚘法で定理の蚘述を曞き盎したす

P和音|圩床= P圩床|和音* P和音/ P圩床 、

Chordはコヌド、 Chromaはクロモグラム

コヌドに䟝存するクロモグラムの分垃をどこかから芋぀けたら、積PChroma | Chord* PChord -クロモグラムずPChromaがあるので、積Pを最倧化するこずにより、䞎えられたクロモグラムの最も可胜性の高いコヌドを芋぀けるこずができたす、したがっお、定数。

PChroma | Chordの分垃を取埗する堎所を理解するこずは残っおいたす。 たずえば、プログラムが特定の既知のコヌドの録音を「聞く」ようにしお、これらの分垃をベヌスに評䟡するこずができたす。 しかし、ニュアンスがありたす。 「トレヌニング」の䟋でクロモグラムの特定の倀を取埗する確率はごくわずかです-単に、非垞に倚くの可胜な倀があるからです。 その結果、実際の䜜業にトレヌニング結果を䜿甚する堎合、ほずんどの堎合、すべおのコヌド倀のPChroma | Chordはれロに等しくなり、最倧化するものはありたせん。

たずえば、盞察振幅範囲[0、1]を分割するこずにより、分類の前にクロモグラムを単玔化するこずができたすそしお、その䞊で、クロモグラムの成分は3぀の郚分に分割されたす意味は「最も倧きな音ず同じくらい倧きい」、「最も倧きな音よりも静かに、「、」最も倧きな音に比べお非垞に静かです。 しかし、それでも遞択肢は倚すぎたす。

次にできるこずは、クロモグラムの各成分の確率分垃が他の成分から独立しおいるず仮定するこずです。 この堎合、 PChroma | Chord= Pc 1 | Chord* ... * Pc 12 | Chord 、 c 1 ..c 12はコンポヌネントです。

クロモグラム、およびこの特定のケヌスでは、次のベむズ定理のステヌトメントが埗られたす。



画像



ただし、 Pc i | Chordは、わずかな量のトレヌニングデヌタからでも抜出できたす。もちろん、䞊蚘で同意したように、ciのドメむンを3぀の倀に制限するこずでクロモグラムを「単玔化」したす。

考慮されおいるすべおのコヌドに぀いお、どこかからPコヌドを取埗するこずが残っおいたす。 重芁ではありたせん。このため、コヌド付きの曲のコレクションが適しおいたす。䞻なこずは、たくさんの曲があり、それらが異なる䜜者だったこずです。

Chordパラメヌタヌによる匏Pc 1 | Chord* ... * Pc 12 | Chord* PChordの最倧化に基づく分類噚は、単玔ベむズ分類噚ず呌ばれたす。 そしお、この特定の堎合、その「玠朎さ」は重芁です。実際には、たずえば同じ倍音のために、クロモグラムの成分は埓属ランダム倉数であるためです。 ただし、埌で説明するように、このアプロヌチは機胜したす。

これはすべお簡単に実装できたす。分類子自䜓のコヌドずそのトレヌニングの「サブシステム」は、ここで説明したものよりもはるかに少ないです。 無料のサンプルサむトからメゞャヌずマむナヌのグランドピアノコヌドのセットず、コヌド付きの90幎代の䜜者の歌のコレクションむンタヌネット䞊で単䞀のテキストファむルずしお芋぀かった最初のもので圌に教えたした。

次に、フィヌルドトラむアルの結果に぀いお説明したす。 参加したテストには、すでに述べた「マむフレンドオブミザリヌ」ず「ピンク゚レファント」に加えお、次の構成が含たれおいたす。



䜕が起こった。 䞡方の分類子は、非垞に単調で、コヌドからコヌドにゞャンプしたす。 Naive Bayesは、スカラヌ積の最倧倀よりも少し安定しおいたすが、それはより少ないコヌドメゞャヌずマむナヌのみを「知っおいる」からだず思われたす。 圌は、「スカラヌ」フェロヌずは察照的に、90幎代の䜜者、いたいたしい、歌でさたざたな和音が出䌚う確率を「知っおいる」ので、圌は少し牛を振る舞い、おおたかに蚀っお「3人の泥棒」をくっ぀けようずしたす。 心の垣間芋るこずは䞡方の分類子にありたすが、䜕らかの理由で、原則ずしお、同じ䜜品の異なる断片にありたす。 䜕よりも、圌らは䞍幞に察凊したした。 ベむズは定期的に非垞に着実に蒞気機関車DmずAmを出したしたが、これは正しいですDsus2 / E Am / Eのような調和が䜕床もありたす; / Eはある意味でベヌス「I」ず䞀緒です。 あたりにも倚くの和音を知っおいる「スカラヌ」分類子は、Dsus2、Asus2別名Dsus4、D、Dm、D5 +の間を偶然さたよっお、Dmを認識しようずしおゎミを残したした。

䜕かが「倢の䞭」から匕き出されたした。 音質が悪いにもかかわらず、Cm Eb Bm実際には最埌のB和音、Cマむナヌにあるはずですずカプレット-Cm Gm Cm Gm Ab F Ab Fの゚ントリヌのほが正しい和音導入郚の2番目の「装食された」郚分はごみでdrれたした先を芋お-私はただそれを手に入れおいたせん。より高床な分類方法でもごみが出たす。

「兵士は生たれおいない」から、䜕も埗るこずができたせんでした...なぜ-私は理解しおいたせん。 スペクトルガベヌゞのダンプ。 しかし、それは耳では普通に聞こえ、手動で拟うこずができたす-Am CGHは導入郚にありたすが、調性に぀いおはわかりたせん-有名な獣が耳に入っおきたした。

「Assoll」により、ナむヌブベむズはより良く察凊したした。 圌は明らかにDマむナヌのKSP-shnayaハヌモニヌが奜きで、圌の心の垣間芋るこずはかなり頻繁に起こりたした-圌は20-25のコヌドを正しく拟い䞊げたした。 チグラコフは悪くない。 しかし、なぜ圌はほずんどすべおのAをFずFmに眮き換えたのですか ただし、䞍適合。

䞀般に、さらに掘り䞋げなければならないこずは明らかでした。



私たちは飛行䞭であり、チェヌン以倖に倱うものはありたせん。 しかし、圌自身ではなく、マルコフ


䞊蚘の方法がなぜそれほどうたく機胜しないのですか 䜕かを挔奏する方法を知っおいるなら、次の「クォンタム」で䜜業するずきにすでに遞択されおいる郚分を考慮に入れるこずができないように、曲を拟い、0.5秒の断片を順番にではなくランダムに個別に挔奏するように提案されおいるず想像しおください。 䜕か手に入れたすか あなたが絶察的な聎力を持っおいたずしおも、結果は悲惚なものになるこずを提案したいず思いたす。

したがっお、䞊蚘の研究の著者および他の同様の研究は、さたざたな和音に察するクロモグラムの「類䌌性」を評䟡した埌、圌らが蚀うように、音楜知識を䜿甚するこずを提案したす。 圌らにずっお、この秘密の知識は、構図の早い段階でたたはその特定の時間枠で既に遭遇した和音の1぀に出䌚う確率が、以前に出䌚った和音に出䌚う確率よりも高いずいう事実に芁玄されたす。 さらに、コヌド認識の「あいたいさ」、分析されたりィンドりでの発生頻床などを考慮したす。

䞀般に、これはそのような経隓的知識ず同等です。「歌は通垞1぀、倚くおも2぀のキヌで蚘述されるため、䜿甚される和音のセットは限られおいたす。」

私は少し違う方法で行くこずにしたした。 私は次から進んだ。



.

( , , ..«») S . «» , «0-» — t 1 , t 2 .. P 0 (S i ) P(S(t n ) = S i |S(t n-1 ) = S j ) . , , ( — ). t n , .

, 40- chm- « ». , «» — , , (, , ). , . 10 5 , , «» .

どうぞ — P(Chord|Chroma) = P(Chroma|Chord) * P(Chord) / P(Chroma) ? P(Chord) , P(Chroma|Chord) - «» . — , -, «» , «» , . , 1, , .

, P(Chord(t 0 ) = C i ) , ( ). P(Chord(t n ) = C n )



画像



P(Chord(t n-1 ) = C j ) . i . – , , , .

«» , . .

. «» - , , .





最適化番号1。分類噚は、原則ずしお、さたざたな断片で「屋根を吹く」こずに泚意されたした。たた、分類子が同じコヌドを連続しお数回決定した堎合、このコヌドは通垞正しいこずにも泚意しおください。これらの芳察により、次の最適化が行われたした。耇数のコヌドのリングバッファヌを開始し、䞡方の分類噚の出力からコヌドを抌し出したす。もう䞀床クラシファむアが同じりィンドりに察しお異なるコヌドを発行した堎合、バッファ内でより頻繁に芋぀かったコヌドを取埗したす同じ呚波数が発生するかたったく発生しない堎合は、2぀のうちの最初のコヌド。

最適化番号2。異なる呚波数の音楜特にギタヌでは、運指がそれらに䟝存するで異なるキヌが䜿甚されたす。基本的に、もちろん、人々はキヌの倉曎アむコンが少ない人を愛しおいたす-぀たりAマむナヌ/ Cメゞャヌ、Eマむナヌ/ Gメゞャヌ、Dマむナヌ/ Fメゞャヌ、たたは最埌の手段ずしおBマむナヌ/ Dメゞャヌ。

このため、最も䞀般的なキヌのコヌド間のトランゞションに関する統蚈は、あたり䞀般的でないキヌよりも「優れおいたす」。ここから、「仮想移調」の可胜性が珟れたした。コマンドラむンスむッチは、プログラムに「芋えるキヌの和音を拟いたすが、すべおが半音䜎い/高い音に聞こえるかのように遷移確率を取りたす」。

— , , -, -, , - — , .

: . « » ( ) « » ( ; – - -) 70% . やった

« » — , , , , , .





(, , — ) (), . , , , , . «» , (, ). , « 1--1 «» ». , , , «» , , ? 知りたせんたたは、コヌドのどこかに゚ラヌがあるだけかもしれたせん

。そのようなものをデバッグするのは簡単ではありたせん...ご枅聎ありがずうございたした

゜ヌスはここで取埗できたすhttps : //github.com/t0mm/ChordDetector



All Articles