問題タブ [musicxml]

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 に答える
557 参照

python - XML ファイル内の特定のノードの削除と置換

私は、楽譜を分析し、そこから特定の音符を削除するプロジェクトに取り組んでいます。コードから必要な情報を取得したので、新しい情報で元の XML スコアを編集する必要があります。私はこれをPythonで行っており、すでにMinidomを使用しているので、明らかにそれに固執したいと思います(ここの投稿の多くは、あまりフレンドリーではないインターフェースのためにXML解析のさまざまな方法を推奨しているため、これはおそらくばかげた選択でした. Minidom に存在します)。

たとえば、元の XML ファイルに、10 音符だけで構成された楽曲があるとします。メモの XML 形式を以下に示します。

したがって、これは音価ごとに 10 回繰り返されます。分析が完了したので、これらのメモのうち 5 つを削除したいと思います。削除とは、休符に置き換えることを意味します (これは結局のところ楽譜であり、それに適合する形状を持っているためです)。したがって、XML ファイルの残りの形式は次のようになります。

なので、あとはピッチタグを削除して残りのタグに置き換えるだけです。ただし、これについてどうすればよいかわかりません。私の検索から、似ていると思われるものは実際には見つかりませんでした。

削除するメモがどこにあるかを見つけることはあまり気にしません。Python でそれを行う方法を示す簡単なテスト ハーネスを作成したからです (xml_format は基本的に、新しい情報を含む辞書のリストにすぎません)。元の XML ファイルと同じ数のメモが含まれていますが、唯一の違いは、一部のメモが削除対象としてマークされていることです。したがって、元のファイルには、G、Bb、D、C、G、F、G、D、Bb のようなメモがあり、xml_format には G、Bb、D、REMOVE、G、REMOVE、G、D、Bb などがあります。

正しい数のメモが削除されていることを確認するために、現時点で を返しました。

したがって、基本的には、特定のノードを特定の時点で削除し、新しいファイルに書き込む前に新しいノードに置き換えるために使用できる構文またはコードの種類に関する支援を探しています。これが可能であることを願っています (ロジックは複雑に見えませんが、何が可能かは誰にもわかりません)。

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

python - musicxml からの pdf と midi の生成

私は MusicXML ファイルを読み込んで編集し (いくつかの部分を削除)、PDF シート ドキュメント + midi/mp3 を作成しようとしましたが、これらはすべて Python を使用しています。

私が最初に見たmusic21、それは私の MusicXML ファイルを正しくロードしますが、私が見つけることができる限り、適切なファイルを出力しませんでした (出力ファイルのすべての詳細が消え、残っているのはメモとタイトルだけです)

次に、abjadどれが有望に見えるかを見つけました。高品質の ly/pdf ファイルが出力されましたが、musicxml はインポートされませんでした。

その後、Lilypond にはmusicxml2lyスクリプトが付属していることを発見しました。私はそれを呼び出して、Python で結果の lilypond ファイルを取得することができましたsh(素晴らしい lib !) が、abjad lilypondパーサーはそれを解析しませんでした (ドキュメントによると、lilypond の「大きなサブセット」を精度を上げずに解析すると書かれています)。

最後に、python オブジェクトを abjad するためのエクスポーターがあることがわかりましたmusic21が、コードベースにはもう存在しないようで、エクスポーターのソース コードは明らかにメモをエクスポートしただけです。

これらの目標を達成するにはどうすればよいですか?

(追加点: サウンドフォントを使用して midi/mp3 に移動する 2 番目の部分をどのように行うかはまだわかりませんが、それは最も難しい部分ではないかもしれません。何か提案はありますか?)

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

c# - 逆シリアル化する前に XML ファイルの種類を区別するにはどうすればよいですか?

プログラムに MusicXML ファイルをロードしています。問題: timewisepartwiseの 2 つの「方言」があり、ルートノードが異なります (そして構造も異なります)。

これまでのところ、部分的なスコアを逆シリアル化するための私のコードは次のとおりです。

2 つの方言を区別する最良の方法は何ですか?

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

java - Jfugue: 不適切な MusicXML 形式

私は Java で個人的なプロジェクトに取り組んでおり、音楽の生成と再生を簡素化するために JFugue を使用しています。Finale NotePadで表示できるように、保存したMIDIファイルごとにMusicXMLファイルを出力しようとしていますが、出力されたMusicXMLファイルが適切にフォーマットされていないようです。"...<type>/0.0</type></note><note><" のように突然終了します。
ファイルの書き込みに使用しているコードは次のとおりです。

0 投票する
2 に答える
239 参照

xml - musicXML で音符の開始点を見つける

javaとjSoupを使用して、musicXMLファイルの各部門でどのピッチクラスが演奏されているかのリストを解析しようとしています。出力は次のようになります (部門ごとに 1 行)。

曲の分割数が与えられると、音の長さに基づいてこの配列を埋めることができます。しかし、メモの開始時間が見つからないようです。それを解析する簡単な方法はありますか?

musicXML仕様にはデュレーションとピッチ (解析可能) がありますが、音符の開始時間について混乱しています。

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

musicxml - MusicXML のセグメンテーション マーク

musescore などのソフトウェアで読み取ることができる音楽 XML ファイルにセグメンテーション マークを入れる方法を探しています。

おそらく、ノートの上の大きな縦線またはラベルでしょうか?

簡単な方法でメモをマークする方法についてのアイデアはありますか?

歌詞のテキストを書くことができます。しかし、次のようにマークするのは素晴らしいことです。 ここに画像の説明を入力

0 投票する
2 に答える
1534 参照

java - さまざまな要素を繰り返し処理し、JSoup で特定の要素を変更する

musicxml ファイルの奥深くにネストされているいくつかの要素を変更する必要があります。jSoup を使用してドキュメントを解析し、計算を実行します。

ここで、jsoup doc を詳しく調べて、最初にいくつかの変更を加えたいと思います。問題は、xml ファイル内で、要素に一意の識別子がないことです (たとえば、多くのメモと小節があり、メモに番号が付けられていません)。

このようにドキュメントをループします。そして、特定の基準が満たされた後、特定のメモを変更したいと考えています。この iter を Java で使用するとコピーが使用されるため、要素を変更しても元のドキュメントに違いはありません。for i = 0; を使用できますか? 私は<?? か何か?これは同じ順序で要素を通過しますか(基準を確認するために重要です)。

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

c# - Manufaktura Library で名前空間エラーが発生するのはなぜですか

このライブラリ Manufaktura を使用して、WPF アプリケーションで楽譜を描画しようとしています。

このページの指示に従って必要な using ステートメントがあります

Visual Studio のソリューション エクスプローラーでも適切な dll を参照しています。

コード サンプルを使用すると、2 つのエラーが発生します (3 つのうち 2 つは基本的に同じです)。

命令からのコード:

エラー:

エラー 1 タイプまたは名前空間名 'Score' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか?)

エラー 3 メソッド 'Manufaktura.Model.MVVM.ViewModel.OnPropertyChanged(System.Linq.Expressions.Expression>)' の型引数は、使用法から推測できません。型引数を明示的に指定してみてください。

何か不足していますか?