Skip to content
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

Music Studio: I have some songs that just stop playing mid-song. #6

Open
robin-raymond opened this issue Mar 1, 2024 · 4 comments
Open

Comments

@robin-raymond
Copy link

I don't know why this is happening but some (or all) of the tracks will just stop playing mid playback. Just load this song, play it, and it will not play through (at least it doesn't for me). If I export as C64 and play it, the song will stop at the same spot as it would in the MusicStudio. Other songs will play just find. I'm not sure what's "special" about this song.

belle.zip

@robin-raymond robin-raymond changed the title I have some songs that just stop playing mid-song. Music Studio: I have some songs that just stop playing mid-song. Mar 1, 2024
@martinpiper
Copy link
Owner

For all three voices, where you have the first tracker row with the "VOL:0F" command, change it to be "VOL:0F HRD".
The space between the two commands is important.

The "HRD" command disables the hard reset functionality. This hard reset is usually meant to ensure the SID voice restarts correctly, but in this case the sustain is so long it's causing problems with retriggering the SID voice waveform and the SID voice drops out instead.

Clicking the "DUR Block editor mode" button will show the start of the block with the extra HRD command:
;Tracker block VOL:0F HRD ENV:01 DTI:20,20 G-4

@robin-raymond
Copy link
Author

This works. Thanks. Does this pose any risk to playing subsequent songs later if a hard reset isn't done?

@martinpiper
Copy link
Owner

Hard restart is meant to fix the SID hardware issue where sounds do not start correctly: https://codebase64.org/doku.php?id=base:classic_hard-restart_and_about_adsr_in_generally

Briefly, this SID has a hardware bug where a sound does not start correctly if an internal counter is at a certain bad state compared to ADSR settings. The usual way to avoid this is to ensure that the SID is to ensure the voice is silent before playing the note and the internal counter is in a known good state. This is known as "hard restart". Music composed with this always enabled sounds different to music that doesn't use the technique.

In the old days, often music would not care about this issue and the music was composed in such a way to mostly avoid (by accident or design) the notes that drop out, or just continue playing and the note will sound a bit off and then it will correct itself. The music editor allows this "old way" and the new "hard restart" way. This allows different musical sound styles to be incorporated.

@martinpiper
Copy link
Owner

martinpiper commented Mar 1, 2024

Your piece of music specifically seems to want to make use of long sustained notes? In which case instead of disabling the hard restart, you might want to use the "SLE" and "SLR", slur (tied note) enable and release commands instead.
belle SLE SLR.zip

I also added the " VIB:" command which adds some vibrato.

SLE will disable hard restart, and SLR will enable hard restart again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants