Jump to content
IGNORED

A good soud music player ?


marc.hull

Recommended Posts

There has been quite a discussion about sound lists and players as of late and it sparked an idea. Since the sound list player in the ISR is truly a PITA and has few features, How about we write an open source, group effort sound player for the TI that is both easy to use and more functional than the console one. Perhaps one that can recognize notes, half steps and octaves in a traditional sense. The TI sound chip is not very complex or feature rich but that does not mean the player can't be. Any one interested ?

 

BTW... Topic should read Good Sound and Music Player....

Edited by marc.hull
Link to comment
Share on other sites

Maybe, but would anyone use it? The fun in a project like that would be the satisfaction of someone using the thing, which I'm not sure would happen. Also, IMO, a new sound player needs to be useful to someone writing a larger program (i.e. a game) and would need to be small and efficient at the expense of functionality. What good is a sound player if all the machine has time left to do is play the sounds?

 

I'd be interested in working on an expanded sound player, but I don't know about the features you mentioned since I don't know music per se, in the traditional sense.

 

What I think would be a useful player is one that gives you control of each channel separately, so you could start a sound, then start another without the first one stopping (think sound effects in a game, etc.) If you wanted a more complex tune, you would have the option to select the number of voices to use for a sound, up to the 3 (noise is not really a "voice"... I think?) available on the sound chip.

 

I think there should also be expanded control of starting, stopping, looping, and chaining sounds. There needs to be a LOAD/LINK version for XB, as well as an all assembly function. Last, to ease using the player for a programmer, a modern tool for making the sound data would probably help the adoption of the player. A large library of pre-made sounds would not hurt either.

Link to comment
Share on other sites

Maybe, but would anyone use it? The fun in a project like that would be the satisfaction of someone using the thing, which I'm not sure would happen. Also, IMO, a new sound player needs to be useful to someone writing a larger program (i.e. a game) and would need to be small and efficient at the expense of functionality. What good is a sound player if all the machine has time left to do is play the sounds?

 

I'd be interested in working on an expanded sound player, but I don't know about the features you mentioned since I don't know music per se, in the traditional sense.

 

What I think would be a useful player is one that gives you control of each channel separately, so you could start a sound, then start another without the first one stopping (think sound effects in a game, etc.) If you wanted a more complex tune, you would have the option to select the number of voices to use for a sound, up to the 3 (noise is not really a "voice"... I think?) available on the sound chip.

 

I think there should also be expanded control of starting, stopping, looping, and chaining sounds. There needs to be a LOAD/LINK version for XB, as well as an all assembly function. Last, to ease using the player for a programmer, a modern tool for making the sound data would probably help the adoption of the player. A large library of pre-made sounds would not hurt either.

 

 

That's pretty much where I was headed. It doesn't need to be a monstrosity, most likely under a KB. The TI chip is pretty featureless so there isn't a whole lot to take into consideration. The problem with the ISR routine (IMO) is that it's like Chinese arithmetic in the way it works and does not finger bang any of the sound data for you.

 

A player that had built in durations represented by notes, Tones represented by half steps and octaves represented by numbers would make creating game music as easy as typing in from sheet music.

 

I would suggest 5 notes (whole through 16th notes) would cover most music durations with a possibility of forcing a utility duration. All the frequencies could be in a twelve byte look up table since octaves are simply a doubling of the frequency from the octave below (or in the TI case a halving of the divider.)

 

The 5 notes could also be in a look up table and changed according to predefined tempos (also in a look up table, 1 byte per tempo.)

 

As far as defining and calling sub lists, that is easy enough to do and saves a bunch of space.

 

A three list system would be a must. The ISR routine forces you to write too much data to simulate dissimilar notes. I am willing to give it a start but I'd like some input as to how user friendly it should be as well as how compact the list should be as well.

 

The difficulty in the process would be the editor. I agree that a PC running program would be better than hammering it out on the TI. Someone with some JAVA (or equivalent) experience would have to do it. There are some simple rules that have to be followed but nothing too complex.

 

As far as anyone using it ? I don't know...............

Link to comment
Share on other sites

If I was to program an advanced sound player, I'd make it compatible to the Colecovision OS7 sound player.

 

Considering that the colecovision has the same sound chip as the TI-99/4a it's really worthwile to take a look at the colecovision OS7 BIOS.

The colecovision has powerful sound routines and RAM requirements are moderate (considering the Colecovision only has 1K of RAM).

 

Here's a link to the colecovision OS7 BIOS.

 

There's also a java sound applet for trying tunes on the PC.

 

And you might want to checkout the wonderful tunes that Daniel Bienvenu composed.

Check here and go to multimedia --> Music

 

I have his Commando tune as ring tone on my mobile phone, rocks big time :)

Edited by retroclouds
Link to comment
Share on other sites

If I was to program an advanced sound player, I'd make it compatible to the Colecovision OS7 sound player.

 

Considering that the colecovision has the same sound chip as the TI-99/4a it's really worthwile to take a look at the colecovision OS7 BIOS.

The colecovision has powerful sound routines and RAM requirements are moderate (considering the Colecovision only has 1K of RAM).

 

Here's a link to the colecovision OS7 BIOS.

 

There's also a java sound applet for trying tunes on the PC.

 

And you might want to checkout the wonderful tunes that Daniel Bienvenu composed.

Check here and go to multimedia --> Music

 

I have his Commando tune as ring tone on my mobile phone, rocks big time :)

 

That's a pretty good idea except I don't understand Z-80 and after spending fruitless days trying to make heads or tails of 6502 when I was working on the SID Player, I don't relish another thumping at the hands of an unfamiliar language. Call me lazy, weak or a pussy, that's OK but I'm not going down that road again ;-). I will check out his tunes though. He seems to be the big wig on the Coleco scene ?

 

I have spent some time thinking about this and it seems to me what it amounts to is a game soundtrack player for background music. Sound effects are better handled in loops or independently IMO. Since I have some experience at this, I think I'll take a crack at it some time soon. Later I'll post some specifications and let everyone poke holes in it and make suggestions before I proceed.

 

As Matt suggested unless there is some software for composing or copying tunes then this project would be mainly for the benefit of me so if someone with PC experience is willing to write an editor please speak up. I promise it won't be complicated. hehe

Link to comment
Share on other sites

If I was to program an advanced sound player, I'd make it compatible to the Colecovision OS7 sound player.

 

Cool! Good idea too! I was just messing with a CV the other day, and ironically I was playing GhostBlasters which is Daniel's game. I was impressed with the music and went to see what the CV used for sound, and I was totally blown away when I learned it has the SN76489! The software for the 99/4A *never* pushed the hardware like the MSX1 and CV does. We can do so much more, but I think everyone just followed TI's example of making "blocky" graphics and single tone simple sounds...

Edited by matthew180
Link to comment
Share on other sites

This is a revised and complete (for now) specification. I am going to bang this out this weekend and hopefully write an XB editor. I am not sure on how to convert the raw tone divider into the 3 needed nybbles for the sound chip. I believe that nybble 4 becomes nybble two while two and three get shifted over to 3 and 4. If this is incorrect then anyone want to school me a bit on this ?

 

Sorry if the doc is a bit wordy. I might have gotten carried away ;-).

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...