問題タブ [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.
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 などがあります。
正しい数のメモが削除されていることを確認するために、現時点で を返しました。
したがって、基本的には、特定のノードを特定の時点で削除し、新しいファイルに書き込む前に新しいノードに置き換えるために使用できる構文またはコードの種類に関する支援を探しています。これが可能であることを願っています (ロジックは複雑に見えませんが、何が可能かは誰にもわかりません)。
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 番目の部分をどのように行うかはまだわかりませんが、それは最も難しい部分ではないかもしれません。何か提案はありますか?)
c# - 逆シリアル化する前に XML ファイルの種類を区別するにはどうすればよいですか?
プログラムに MusicXML ファイルをロードしています。問題: timewiseとpartwiseの 2 つの「方言」があり、ルートノードが異なります (そして構造も異なります)。
と
これまでのところ、部分的なスコアを逆シリアル化するための私のコードは次のとおりです。
2 つの方言を区別する最良の方法は何ですか?
java - Jfugue: 不適切な MusicXML 形式
私は Java で個人的なプロジェクトに取り組んでおり、音楽の生成と再生を簡素化するために JFugue を使用しています。Finale NotePadで表示できるように、保存したMIDIファイルごとにMusicXMLファイルを出力しようとしていますが、出力されたMusicXMLファイルが適切にフォーマットされていないようです。"...<type>/0.0</type></note><note><" のように突然終了します。
ファイルの書き込みに使用しているコードは次のとおりです。
xml - musicXML で音符の開始点を見つける
javaとjSoupを使用して、musicXMLファイルの各部門でどのピッチクラスが演奏されているかのリストを解析しようとしています。出力は次のようになります (部門ごとに 1 行)。
曲の分割数が与えられると、音の長さに基づいてこの配列を埋めることができます。しかし、メモの開始時間が見つからないようです。それを解析する簡単な方法はありますか?
musicXML仕様にはデュレーションとピッチ (解析可能) がありますが、音符の開始時間について混乱しています。
musicxml - MusicXML のセグメンテーション マーク
musescore などのソフトウェアで読み取ることができる音楽 XML ファイルにセグメンテーション マークを入れる方法を探しています。
おそらく、ノートの上の大きな縦線またはラベルでしょうか?
簡単な方法でメモをマークする方法についてのアイデアはありますか?
歌詞のテキストを書くことができます。しかし、次のようにマークするのは素晴らしいことです。

java - さまざまな要素を繰り返し処理し、JSoup で特定の要素を変更する
musicxml ファイルの奥深くにネストされているいくつかの要素を変更する必要があります。jSoup を使用してドキュメントを解析し、計算を実行します。
ここで、jsoup doc を詳しく調べて、最初にいくつかの変更を加えたいと思います。問題は、xml ファイル内で、要素に一意の識別子がないことです (たとえば、多くのメモと小節があり、メモに番号が付けられていません)。
このようにドキュメントをループします。そして、特定の基準が満たされた後、特定のメモを変更したいと考えています。この iter を Java で使用するとコピーが使用されるため、要素を変更しても元のドキュメントに違いはありません。for i = 0; を使用できますか? 私は<?? か何か?これは同じ順序で要素を通過しますか(基準を確認するために重要です)。
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>)' の型引数は、使用法から推測できません。型引数を明示的に指定してみてください。
何か不足していますか?