New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Translate FamiTracker text exports #4

Closed
pinobatch opened this Issue Feb 9, 2016 · 4 comments

Comments

Projects
None yet
2 participants
@pinobatch
Owner

pinobatch commented Feb 9, 2016

Apparently more chiptune musicians in the West are familiar with FamiTracker than with MML (PPMCK) or LilyPond, the notations that inspired Pently syntax. Competing NES music engines, such as FamiTone, offer one-click conversion of a subset of FamiTracker text exports to their own format. At first I thought the differences between FamiTracker and Pently were so insurmountable. But eventually I figured out a subset that might be workable.

The following command produces a text export:

famitracker.exe etude.ftm -export etude.txt

Interpretation of the text export would not be without compromises:

  • Expansion sound: Only MMC5 is supported, and the first MMC5 channel would translate to the attack channel.
  • Release phases of envelopes are initially unsupported, as are pitch and high-pitch envelopes and the volume channel in patterns.
  • The following effects are supported
    • 0xy -> ENxy
    • 3xx -> Set slur to true if x is nonzero else false
    • Bxx -> dal segno, setting frame x as the segno
    • Cxx -> fine
    • Dxx -> pattern break. x is ignored and treated as if it were 00.
    • Fxx -> set Pently tempo based on FT speed, FT tempo, current scale, current time signature, and frame rate.
    • Gxx -> grace wait for x frames then note
    • Qxy -> Note for one row then slur into new pitch y semitones up, ignoring x
    • Rxy -> Note for one row then slur into new pitch y semitones down, ignoring x
    • Sxx -> grace note for x frames then rest
  • Each pitch at which a noise note is played would need to become a separate sound effect.

But a conversion still needs to specify the time signature (what's a measure?) and the scale (how many rows is an eighth note?).

@Qix-

This comment has been minimized.

Show comment
Hide comment
@Qix-

Qix- Feb 9, 2016

Collaborator

This would be huge. Cant wait to get home and look at these

Collaborator

Qix- commented Feb 9, 2016

This would be huge. Cant wait to get home and look at these

@Qix- Qix- added the enhancement label Jun 14, 2016

@pinobatch

This comment has been minimized.

Show comment
Hide comment
@pinobatch

pinobatch Jun 16, 2016

Owner

NovaSquirrel is working on this in ft2pently

Owner

pinobatch commented Jun 16, 2016

NovaSquirrel is working on this in ft2pently

@Qix-

This comment has been minimized.

Show comment
Hide comment
@Qix-

Qix- Jun 16, 2016

Collaborator

Wonderful. Going to be so useful!

Collaborator

Qix- commented Jun 16, 2016

Wonderful. Going to be so useful!

@pinobatch

This comment has been minimized.

Show comment
Hide comment
@pinobatch

pinobatch Jun 18, 2017

Owner

I've used ft2pently, and it appears to be stable. Further issues can be filed at its issue tracker.

Owner

pinobatch commented Jun 18, 2017

I've used ft2pently, and it appears to be stable. Further issues can be filed at its issue tracker.

@pinobatch pinobatch closed this Jun 18, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment