mmitch / gbsplay

gameboy sound player
https://mmitch.github.io/gbsplay/
Other
98 stars 20 forks source link

request: option to trim silence from beginning of subsong #7

Closed y closed 4 years ago

y commented 9 years ago

since gbsplay already has silence detection via the silence-timeout option, i am hoping it would not be difficult to add an option to trim silence from the beginning of a subsong. this would be of great help when using the subsong-timeout option. right now i have to use -o stdout and pipe through sox's play command to trim the silence from the beginning of each subsong.

ranma commented 9 years ago

Do you have examples of gbs files with a significant amount of silence at the beginning of a subsong?

y commented 9 years ago

not anymore. it would be possible to script something up to find some examples, comparing the length before and after sox trims the silence.

y commented 9 years ago

ihe script takes a lot longer to run that I thought, so here's the first couple of examples it found.

This one isn't pure silence in the beginning, but it's close enough: http://www.zophar.net/music/gbs/animal-breeder.html Animal Breeder : track 14/62 120.000726 -> 109.915669

this one spews a bunch of warnings under gbsplay, and doesn't produce any audio, so it's all silence. http://www.zophar.net/music/gbs/animastar-gb.html Animastar GB : track 106/167 120.000726 -> 0.000000

mmitch commented 9 years ago

The "silent" parts both have activity on the drum/noise channel, so I would not consider this 'silence'.

Animastar indeed throws warnings (but sounds alright nontheless), would this warrant a separate bug?

ioread from 0xff70 unimplemented.
iowrite to 0xff70 unimplemented (val=01).
Bank 31 out of range (0-12)!
iowrite to 0xff70 unimplemented (val=ff).
ioread from 0xff70 unimplemented.

iowrite to 0xff70 unimplemented (val=01).

ranma commented 9 years ago

Seems to be a color game boy register: FF70 - SVBK - CGB Mode Only - WRAM Bank

ranma commented 4 years ago

With some fixes in the meantime "Animastar GB : track 106/167" is no longer silent, it seems to be a SFX track with only noise happening.

Similar as mmitch said "Animal Breeder : track 14/62" starts with the noise channel.