問題タブ [jfugue]

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 投票する
2 に答える
490 参照

audio-player - JFugue を使用したダイナミクス

私はJFugueと協力して音楽を生成しています。

音楽の弦にダイナミクスを追加する方法を知っている人はいますか? それは可能ですか?

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

java - Javadosスタイルでサウンドの周波数を再生する

Turbo C ++には、3つの関数とを公開するというヘッダーファイルがdos.hあります。これらの3つの関数を使用して、C++で初歩的なピアノプログラムを作成することができました。soundnosounddelay

Javaを使用して同じ結果を達成したかったのです。私の選択肢は、jfugueまたは。が提供するライブラリを使用することでしjavax.sound.sampledた。問題は、各ノートが事前に再生される期間がわからないことです。

ユーザーが特定のキーを押したときに特定の周波数の再生を開始し、ユーザーがそれを離したときにのみ停止したい。この問題にどのように取り組むことができますか?

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

jfugue - JFugue '+' が解析されない? コードが鳴らない

バージョン 4.1x 、4.02 (これらは私が試した唯一のものです) のように見えますが、ハーモニー '+' が機能していません。実行すると: Player p = new Player(); p.play (「C5maj」);

3 つの音符すべてが聞こえる

しかし、 p.play("C+G+E"); を実行すると Eの音しか聞こえません。同じことが、これと同じ「コード」文字列にも当てはまります。最後の音だけが演奏されているようです。Linuxで実行しています。

どんな助けでも大歓迎です。

編集:

ノートを並行して再生すると、デフォルトの長さのメカニズムが機能しないことがわかりました。したがって、C+G+E を弾くと E が得られます。しかし、「Ch+Gh+Eh」を弾くと、すべての音符から音が得られます。

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

java - アプレットのUIを介してユーザーがパラメーターを変更したことに応じて、実行時間の長いスレッドを終了し、新しいスレッドを開始します

JFugue APIを使用して音楽を作成し、ユーザーのために再生するアプレットがあります。これにより、ユーザーは曲のベースとなる音楽フレーズを入力したり、フレーズをランダムに生成するように選択したりできます。私は次のメソッドを(成功して)使用して、JFugueのPlayerクラスを使用するスレッドで実行される音楽を単純に停止および開始していました。

クラスとアプレットGUIからのユーザー入力を使用して音楽を生成します...次に...

}

また、Player.isPlaying()がtrueのときにユーザーが停止/開始ボタンを押したときに音楽を停止するには、次のようにします。

ここで、ユーザーが音楽の再生中にパラメーターを変更し、更新された音楽パターンを作成して、そのパターンを再生できるようにする機能を実装したいと思います。基本的には、ユーザーのために生成された音楽の「リアルタイム」調整をシミュレートするという考え方です。

さて、私は数週間これで壁に頭を打ちつけてきました。私はすべての標準的なJavaドキュメントを読み、フォーラムを調査、読み、検索しましたが、さまざまなアイデアを試しましたが、どれも成功しませんでした。

私が試したすべてのアプローチで遭遇した問題は、新しい更新された音楽パターンで新しいスレッドを開始すると、すべての古いスレッドも開始し、希望する出力の代わりに理解できないノイズの不協和音が発生することです。

私が集めたものから、問題は、私が遭遇したすべてのメソッドが、スレッドが「フラグ」変数の値を定期的にチェックし、その「実行」ブロック内から自分自身をシャットダウンできることを必要とすることであるようです。その変数に応じて。ただし、私のスレッドは実行(音楽の再生)に最低数分かかる呼び出しを行い、これを実行している間にスレッドを終了する必要があるため、実際には安全な方法はありません。

ですから、スレッドに関して欠けているものがあるのか​​、それともまったく異なるアプローチを使用して目標を達成できるのか、疑問に思っています。任意のアイデアやガイダンスは大歓迎です!ありがとうございました!

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

java - JFugueで音楽を一時停止

GUIがフリーズするため、マルチスレッドを介してバックグラウンドで音楽を再生するプログラムに取り組んでいます。私はマルチスレッド(揮発性、同期など)の基本的な知識を持っていますが、(プロセスが処理している場合でも)スレッドをすぐに停止/一時停止する方法を考えていました。バックグラウンドで音楽がループしていますが、停止変数をループにフックすると、音楽を停止するために曲の再生を停止する必要があります。だから私の質問は残っています、親スレッドから、曲の途中で音楽をすぐに一時停止または終了する方法はありますか?それの後に再生するオーディオがあるからです。

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

java - 高さの値を操作しながら BufferedImage からピクセルを取得する

私は現在、BufferedImageを音楽に変換するプログラムを書いています。の幅と高さを取得するとBufferedImage、値は正しいです。ただし、FORピクセルを取得するために使用しているループ内で、FORループ値の 1 つを操作しています ( i++)。の最後にvoid、値を元の状態にリセットします ( i--)。プログラムは画像全体を評価しませんが、代わりに次のエラーが表示されます。

このエラーを修正するにはどうすればよいですか? これが私のコードです:

JFugue API を使用しています。

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

java - Eclipseを使用してjfugueに依存関係を追加するにはどうすればよいですか?

私は、jfugueを必要とするEclipseIDEのプロジェクトに取り組んでいます。Mavenを使用して、この依存関係をプロジェクトに追加するにはどうすればよいですか?

私がしようとしました:

  1. プロジェクト名を右クリック->Maven->依存関係の追加;
  2. pom.xmlフォームから依存関係を追加しました:

    /li>
  3. リポジトリを追加しました:

    /li>
  4. リンク切れのあるファイルを検索しますが、プログレスビューに1秒以上表示されないため表示されません。

どうすればこれを修正できますか?ご協力いただきありがとうございます。

UPDATE 1jfuguepom.xmlはこれです。私のpom.xmlはこれです。

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

android - AndroidアプリでMusicXmlを使って楽譜を描きたい

これを行うためにさまざまな方法を試しました。

  1. proxymusic-2.0.jar ライブラリを使用 => Java オブジェクトと Xml ファイルの間でマーシャリングとアンマーシャリングが行われましたが、Android アプリ (Activity、View など) で Xml ファイルからアンマーシャリングして描画する方法が見つかりませんでした。

  2. JFugue-4.0.3-with-musicxml.jar ライブラリの使用 => MusicXmlParser、MusicXmlRenderer、ParserListener クラスがあるため、このライブラリは非常に便利だと思います。ただし、Android での Midi サポートの現状は憂鬱です。彼らは javax.sound.midi を削除したため、これに依存するすべてのライブラリが機能しなくなりました。(たとえば JFugue のようなもの、OMG)。

Androidの楽譜にmusicXmlファイルを表示したいだけです!!! この問題を解決するための参照サイトをお勧めするか、簡単なサンプル コードの URL を教えてください。

どうもありがとうございます。

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

java - jfugue-パターンの音量を制御する

パターンの音量をコントロールしようとしています。ドキュメントから私はこれを見つけました:

彼らが言及したものは音量を制御します。使い方がわかりません。これを使用するために何かを宣言する必要がありますか?私が理解していることから、これは「コントローラー」機能です。以下は私のコードです。