Giter VIP home page Giter VIP logo

Comments (13)

ultrasound1372 avatar ultrasound1372 commented on September 2, 2024 1

Alright, that will work then. Thanks very much!
よし、それなら大丈夫だ。どうもありがとう!

from mml2vgm.

kuma4649 avatar kuma4649 commented on September 2, 2024

わかりにくいので、「記述するmml」と「実際に演奏されるmml」を提示していただけるとありがたいです。

仰りたいのはこういうことでしょうか?
Case 1:
記述するmml

  'S1-3 o2 [` l`8 l4 [cd+g>]2 `]

実際に演奏されるmml

  'S1   o2    l8      c& c>  r   c& c>  r   r
  'S2   o2    l8      r  d+& d+> r  d+& d+> r 
  'S3   o2    l8      r  r   g&  g> r   g&  g>

Case 2:
記述するmml

  'L03-05 o6 [` l2 l`8 >e< `4. b `4 aga `8 b `]

実際に演奏されるmml

  'L03    o6       l8  >e& <e& e  g& g& g 
  'L04    o6       l8  >r  <b& b& b  a& a 
  'L05    o6       l8  >r  <r  a& a  r  b 

↑の理解であっているのであれば、以下の通りに記述できるようにしたほうが分かりやすいかもしれません。如何でしょうか。(実際に発音する音調をlコマンド、音符コマンドの修飾コマンドとして指定する)
Case 1:
記述するmml

  'S1-3 o2 [` l8`4 [cd+g>]2 `]

実際に演奏されるmml

  'S1   o2    l8    c& c>  r   c& c>  r   
  'S2   o2    l8    r  d+& d+> r  d+& d+>  
  'S3   o2    l8    r  r   g&  g> r   g >
                                          ~~~~最後だけ違いが出る

Case 2:
記述するmml

  'L03-05 o6 [` l8`2 >e<  b`4. a`4 ga b`8 `]

実際に演奏されるmml

  'L03    o6    l8   >e& <e& e  g& g& g 
  'L04    o6    l8   >r  <b& b& b  a& a 
  'L05    o6    l8   >r  <r  a& a  r  b
                                        ~~この場合は違い無し

from mml2vgm.

ultrasound1372 avatar ultrasound1372 commented on September 2, 2024

I suppose I must have provided difficult data to start with, or maybe just incorrect. If we take it to be a note modifier, applied to the note that comes before the switch, the input for your second example would be:

'L03-05 o6 l2`8 [` >e1`4.< b.`2 ag a`4 b `]

Which says the default note length is a half note, and the default switch step is an eighth note. That would then give the output:

'L03 >e1< g2
'L04 r4. b2. a2
'L05 r4. r2 a2 b2

Or if it has to be modifying the note after the switch rather than before, shift all of the explicit `n modifications one to the right, which better matches your example.
It still would require some careful timing by the composer if they wanted the notes to extend all the way up until the channel is to be used again, like I just did, but if the round-robin comes around and a note is still playing from a previous one it should just get cut off. As for the first case the sound is fine, the rests at the end are the only thing that's different aren't they? Do they make it so that all the channels will end at the same place in the overall tempo? That may or may not be desirable depending on if you want to put other things on the channels, like I did in the composition for the transitions, so the second idea you provided seems to be the better way to go.


私が最初に提供したデータが難しかったか、あるいは間違っていたのでしょう。スイッチの前の音に適用されるノートモディファイアだとすると、2番目の例の入力は次のようになります:

'L03-05 o6 l2`8 [` >e1`4.< b.`2 ag a`4 b `]

デフォルトの音符の長さは2分音符で、デフォルトのスイッチステップは8分音符です。そうすると、次のように出力される:

'L03 >e1< g2
'L04 r4. b2. a2
'L05 r4. r2 a2 b2

あるいは、スイッチの前ではなく、スイッチの後に音を修正する必要がある場合は、明示的な n の修正をすべて右に1つずらせば、あなたの例によりよくマッチします。
しかし、もしラウンドロビンが回ってきて、前の音符がまだ演奏されている場合は、その音符はカットされます。最初のケースに関しては、音は問題なく、最後の休符だけが違いますよね?全体のテンポの中で、すべてのチャンネルが同じところで終わるようにするのですか?それは、トランジション用のコンポジションでやったように、チャンネルに他のものを置くかどうかによって、望ましいかどうかが変わってくる。

from mml2vgm.

kuma4649 avatar kuma4649 commented on September 2, 2024

言いたいことはわかりました。
しかしmmlが読みにくい。

 'L03-05 [` l8`2 e4.`1 b2`. a g a4 b2 `]

妥協案としては↑ですね。。。

from mml2vgm.

ultrasound1372 avatar ultrasound1372 commented on September 2, 2024

So the existing note length specification determines the switch length, and the extra ` decorator controls the note's duration on that channel?
つまり、既存の音符の長さの指定がスイッチの長さを決定し、追加のデコレーターがそのチャンネルでの音符の長さをコントロールするということですか?

from mml2vgm.

kuma4649 avatar kuma4649 commented on September 2, 2024

Yes.
そうです。

from mml2vgm.

kuma4649 avatar kuma4649 commented on September 2, 2024

TAG715をお試しください。

from mml2vgm.

ultrasound1372 avatar ultrasound1372 commented on September 2, 2024

One last question. Will the tie decoration on a note cause it to play the next note on the next channel without waiting any time at all, thus allowing the creation of chords? I figured it would be tie rather than length 0 since length 0 is related to the tone doubling functionality.
最後の質問です。ある音符にtieの装飾があると、次のチャンネルで次の音符が待たずに演奏され、和音を作ることができるのでしょうか?長さ0は倍音機能に関係しているので、長さ0ではなくtieだろうと思いました。

from mml2vgm.

kuma4649 avatar kuma4649 commented on September 2, 2024

どのようなmmlですか?

from mml2vgm.

ultrasound1372 avatar ultrasound1372 commented on September 2, 2024

I just realized it would actually make more sense for it to be the existing chord modifier that you have for the MIDI mode :. So say I gave this MML.

'L01-05 o6 [` l8`2 g4:b4:>e4< egba4b `]

It would give something like this.

'L01 g b
'L02 b r8 a
'L03 >e< r4. b
'L04 r4 e
'L05 r4 r8 g

That is, the part arp would distribute the notes about the allocated channels without waiting between switches at all, making a chord.


MIDIモードのコード・モディファイア:を使う方が理にかなっていることに気づいたんだ。例えば、こんなMMLを作ったとしよう。

'L01-05 o6 [` l8`2 g4:b4:>e4< egba4b `]

このようになります。

'L01 g b
'L02 b r8 a
'L03 >e< r4. b
'L04 r4 e
'L05 r4 r8 g

つまり、パートアルペジオは、スイッチとスイッチの間をまったく待たずに、割り当てられたチャンネルにノートを分散させ、和音を作ることになる。

from mml2vgm.

kuma4649 avatar kuma4649 commented on September 2, 2024

今回はその機能は要らないです。
なぜなら、
・似たような機能が既にある
・コマンドの本来の目的から外れる
・読みにくい
からです。

from mml2vgm.

ultrasound1372 avatar ultrasound1372 commented on September 2, 2024

Fair enough, although as I can't see it's likely my MML will on the whole be less readable. What is the similar function you mention? I know there is the chord thing but that only applies to MIDI. Otherwise you have implemented this feature well and can close this issue.
そうだね。でも、僕は見えないから、僕のMMLは全体的に読みにくくなるだろうね。あなたがおっしゃる同様の機能とは何ですか?コードのことは知っていますが、それはMIDIにしか適用されません。そうでなければ、あなたはこの機能をうまく実装しているので、この問題を解決することができます。

from mml2vgm.

kuma4649 avatar kuma4649 commented on September 2, 2024

'[|'コマンドと '|]'コマンドです>似たような機能

from mml2vgm.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.