問題タブ [guitar]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1572 参照

arduino - DIY XBox360 ギターヒーローコントローラー

Xbox 360 でギター ヒーロー用の DIY ギター コントローラーを作成しています。Web で確認できる限り、MS セキュリティ プロトコルにより、最初から何かを作成してコンソールに接続するだけではできません。そのため、DIY コントローラーは通常、中央の実際のコントローラー ボード (このアーケード コントローラーhttp://hacknmod.com/hack/diy-arcade-controller-for-xbox-360/など)。しかし、一部の GH エディションは通常のコントローラーでは再生できず、特にギター コントローラーが必要になるため、カスタム ギター インターフェイスを通常のコントローラーで作成しただけでは機能しません。

実際のコントローラーを使用せずにコンソールに接続する方法は実際にありますか? それとも、実際のコントローラーとコンソールの間に座って、通信を変更して、コンソールにギターが接続されていると認識させるのでしょうか? この場合、Arduinoはその仕事をすることができますか?

0 投票する
3 に答える
3215 参照

c# - エレキギターのピッチトラッキング時に弦を検出する方法は?

こんにちは、私はオーディオ関連のコーディングの初心者で、ピッチ トラッキング DLL に取り組んでいます。この DLL を使用して、ビデオ ゲーム ロックスミスの一種のオープン ソース バージョンを学習体験として作成しようとしています。

これまでのところ、FFT を機能させることができたので、ピッチ周波数 (Hz) を検出できます。次に、アルゴリズムと下の表を使用して、オクターブ (2 番目から 6 番目) とノート (C から B) を決定できます。ノートを再生しました。

次のステップは、フレットを特定できるように弦を検出することです。

ここに画像の説明を入力

私はそれについて考えてきましたが、理論的にはこれで作業できます。ユーザーが正しい音符を演奏しているときはわかりますが、Hz を使用するだけではゲームが検出できないため、ゲームは「ハック」になる可能性があります。ノートは右の弦で演奏されます。たとえば、5 弦 + 1 フレット = C4 261.63Hzは、6 弦 + 5 フレット = C4 261.63Hzに等しくなります。

ユーザーが間違った弦で音符を弾いて正しく弾く可能性は低いですが、ユーザーが間違った弦を弾いたときにエラー フィードバックをユーザーに提供できるように、弦を知ることは本当に良いことだと思います (弦を上下に移動する必要があります)。

文字列を検出するために何ができるか知っていますか? 前もって感謝します :)

[編集]

使用しているギターと弦は音色に影響を与えるため、音色を分析することは弦を検出する簡単な方法ではないようです。

「ギターの音色のバリエーションは、ピックアップのデザインと位置、使用される木材 (木材の種類が異なります!) によるギターの自然な共鳴とダンピング、およびその構造と形状、弦のゲージと使用年数、演奏テクニック、弦をどこでフレットして弾くかなどです。」

0 投票する
0 に答える
895 参照

java - Java Guitar Hero with Midi

Midi ファイルで偽の GH を作成しています。ギター トラックがロードされ、どこかに保存されます。次に、特定の間隔で再生します。

しかし、ギタートラックとノートを取得する方法がわかりません。さらに、現在再生されているサウンドと同時にノートを再生する必要があります。

編集: 特定: 1) MIDI ファイルをロードする必要があります (たとえば、メタリカ、ギターの何か) 2) ギター トラックを取得し、そのうちの 1 つを選択したいです。または、単に最初のギターを選択します。まあ、それは問題ではありません。3) ポイントは次のとおりです。プログラムは特定の間隔で文字列 (E、A、D、G、b、e) を取得する必要があります。たとえば、1:21 でギターの弦を取得します。(リストに保存してその時の音符を計算すればいいと思います)

音符のオクターブを介した Java midi 音符から文字列へのマッピング これは既に見つけましたが、探していた種類のコードではありませんでした。

だから私を助けてください!学校の目的で必要です。

どうもありがとう!

0 投票する
1 に答える
1501 参照

audio - FFTから弦の音を検出する方法

フーリエ変換からスペクトルを取得しました。次のように見えます: 通りすがりの警察が作成した音のスペクトログラム
ちょうど近くを警察が通過していました

色は強度を表します。
X 軸は時間です。
Y 軸は周波数で、0 が上になります。

口笛や警察のサイレンは 1 つの痕跡しか残していませんが、他の多くの音には多くの高調波周波数が含まれているようです。

EHGDAEチューニングギターのサウンドスペクトログラム エレキギターをマイクに直接差し込む(標準チューニング)

本当に悪いことは、あなたが見ることができるように、大きな強度がないということです - ほぼ等しい2-3の周波数があります.
最も重要なピークを強調するピーク検出アルゴリズムを作成しました。

アイデアは、データを調べて、 thresold より大きい値を覚えているということですminimal_val。次のlook_range値が選択した値よりも小さい場合は、ピークと見なされます。このアルゴリズムはあまりスマートではありませんが、実装は非常に簡単です。

ただし、私が予想したように、文字列の主要な周波数がどれであるかはわかりません。

ギター弦が最も強い周波数で強調表示されました
赤い点は最も強いピークを強調しています

これが実際にどのように機能するか (または機能しないか) を確認するための jsFiddleを次に示します。

0 投票する
1 に答える
154 参照

php - PHP/HTML を使用して 4 部和音の反転を計算して表示する

ギターの 6 つの弦を一連の範囲として表す PHP アプリケーションを作成しています。このようにして、一連の数値を加算または減算して、定義した典型的な構造を体系的に変更できます。

範囲は次のとおりです。

以下のコードに問題があります。

関数

ご覧のとおり、これは非常に反復的です。このコードを見るだけで、もっと良い方法が必要だと思います。私が必要としているのは、無限線形の方法で配列を使用することだと思います:

ここで、定義済みの $note => $offset ペアのいずれかを取得し、この配列を 1、2、または 3 回ジャンプさせる必要があります。たとえば、ルートとして開始し、1 つのジャンプを行う場合、4 を追加して「3 番目」にし、その値を「3 番目」に変更する必要があります。しかし、ルートとして開始して 2 回ジャンプする場合は、4 を加算し、3 を加算してから、その値を「5 番目」に変更する必要があります。