Register
Site Login
Site Search
Forums
Advertisement
Welcome to PocketMatrix. PocketMatrix is dedicated to providing the best online community for mobile device developers and enthusiests. What's new?

Sound engine demo


Sound engine demo

Postby Rhino123 » Jul 30, 2002 @ 6:35pm

Overloaded Music Player Tech Demo

download link:
http://overloaded.pocketmatrix.com/Overloaded%20Music%20Player.exe

Features:
- up to 16 soundchannels
- various soundmixers among which interpolated ones
- Sampled sounds and/or realtime synthesis instruments
- Sampled sounds can loop bidirectional
- Easy reuse of sampled sounds for small filesizes.
- Synthesised sounds can have upto 4 effect layers among which morphs/filters etc etc
- Multiple (sub) songs into 1 big song which all share the same instrument/sample bank.
- Small memory footprint due to synthetic sounds and sample reuse. (especially zipped)

Demosongs:
- Popcorn
The famous little synth song. Made entirely with synthetic instruments. Zipped only 3 kb.
Shows that songs can be really small using synthetic sounds but still sound good.

- Waterballet
A small tune also made entirely of synthetic sounds. zipped only 8kb
Shows that player can emulate typical FM synthesis (yamaha DX7) type sounds.

- Kingtut
A somewhat more substantial song. Zipped 96kb. Has sampled sounds (drums) and
synthesized sounds (the rest).

- Subsongs
One of the largest songs. Has tons of lo-fi samples and some crisp synthetic sounds.
Shows the capability to have more than 1 subsong in the main song to save memspace.

- Pacman
Just a silly version of the pacman theme showing off that we really can't make any music. ;^)


notes:

- Some synthetic sounds are more costly than others. For instance, realtime filters are more processorpower intensive than say a simple pulsewidth modulation. Bearing this in mind, the composer can make his/her songs just so that it remains in the processor power usage the programmer had reserved for the music.
- We are starting soon to rewrite various partds of the sound engine to ARM assembly. This should give an expected increase of 200 - 300 % in performance.
- A quick way to boost performance now is to go to the settings menu and select a lower fequency output or even toggling mono mode rendering.

Comments welcome!


Reinier
User avatar
Rhino123
pm Member
 
Posts: 66
Joined: Jul 2, 2002 @ 2:58pm
Location: Amsterdam


sound engine

Postby laurnet » Jul 31, 2002 @ 12:40am

wwooo ,awesome
User avatar
laurnet
pm Member
 
Posts: 36
Joined: Jan 6, 2002 @ 9:25am
Location: FRANCE


Real time sound

Postby pib » Jul 31, 2002 @ 9:12am

Hi Reinier,
does your demo use Mikmod?
I'm working on a game (Jacco knows). It's about a car race.
I have a little tech question, may be you can help me
on this.
The question is: I want to play music and sound effects (business as usual) but I also want to render the sound of the engine so that, depending on speed or gear, the pitch raises or lowers. I've tried by playing short looped sounds but the outcome is quite lame...
I guess the answer is synthesized sound, I know how to do it with the waveout API's but I don't know how to do that with Mikmod...
Any idea?
thx
I know, it's only rock'n roll
but I like it
User avatar
pib
pm Member
 
Posts: 7
Joined: May 7, 2002 @ 4:35pm
Location: GMT +1:00


Postby Lewil » Jul 31, 2002 @ 9:37am

huhu some more stuff for a g_Api->PlayTune( pitch, length ) ? :')

the demo is ... wouahhh ...
User avatar
Lewil
pm Member
 
Posts: 108
Joined: Apr 25, 2002 @ 1:39pm


Postby Rhino123 » Jul 31, 2002 @ 11:46am

Hi!

Thanks for the positive feedback! :D


As for the questions: No it doesn't use Mikmod. It renders/mixes into the windows wavebuffers directly. The soundengine supports external triggered playback of samples/synthetix sounds. these soudns can be controlled in regards to pitch/pan/volume etc etc.

Thus having an engine sound played through the background music which is pitch controlled by software is no problem.


We posted this demo to see if you guys would have any problems working with a music library like this instead of typical XM mod players. The mod players in our eyes lack the support of synthetic sounds, something which might tbe crucial to ensure that gamemusic is small and not huge.

The only drawback is of course the compatibility issue. Everyone in the world is usedto XMmods... this library is similar but does have a learning curve for the musician. Then again, the musician has much more flexibility to control his sounds.

last advantage: if something should be changed, we can change it since we have made it... in mikmod it is more difficult to change something since no one knows how it works and why it works ;^)

Any thoughts?

R
User avatar
Rhino123
pm Member
 
Posts: 66
Joined: Jul 2, 2002 @ 2:58pm
Location: Amsterdam


Postby Lewil » Jul 31, 2002 @ 1:33pm

this library is similar but does have a learning curve for the musician


what do you mean ?

i think musicians ( i am ) generally use cubase, and then a multitrack recorder as samplitude and at final something like wavelab to mix down... we're very far from Mods :/

there are two sounds sources:

synths that are driven by a midi sequencer as cubase. that's usually used to build the structure of a song. Drums, basses, synth riffs can be composed this way.

Analogic sounds: guitars, voices ... or any that have to be recorded track by track on a multitrack recorder ( cubase or samplitude can do it but we prefer to use a hardware dedicated machine, generally direct to disc as Yamaha aw series for example - that's for a better dynamic ) and the synths sequencees are also recorded down here so we can use our compressors, effects ... that often leads to at least 24 audio tracks ...

ok that's for semi-pro or pro productions...

so what could be good for PPC coders/composers ? well you understand now that i don't talk about simili-techno Mods here)

Would it be possible to create a sound bank based on waves roughtly reproducing a standard General Midi bank ? and then build a midi player based on the sounds of that bank ? i already worked on midi files structures, they are not very hard to decode... (that would ensure a good compability with the stuff already done under any sequencer as cubase)

advantages: the sound bank could be common and optional (no bank = no music) and the midi files are very very small and they represent the standard

Lewil
User avatar
Lewil
pm Member
 
Posts: 108
Joined: Apr 25, 2002 @ 1:39pm


Postby pib » Jul 31, 2002 @ 2:44pm

Well,
I usually use Rebirth to compose loops, save them as wavs and then play them looped with mikmod together with other sound effects. The problem with this solution is that long songs mean big files. Plus Mikmod is very good but it lacks a fundamental for game programming which is real time rendered sound (my car engine noise).

Lewill's solution (midi + banks) is great since you can use a large number of editors, even though they can be very expensive. Actually the MOD success may be due also to the "freewareness" of good editors and playback libraries.

So the requirements for me are:
- Easy editing of songs
- Sound effects playback
- Real time synth sounds
- I wouldn't mind to migrate from Mikmod

Reinier, what format is played by your engine? And, are you planning to release it in the OL libs?
I know, it's only rock'n roll
but I like it
User avatar
pib
pm Member
 
Posts: 7
Joined: May 7, 2002 @ 4:35pm
Location: GMT +1:00


Postby Rhino123 » Aug 1, 2002 @ 12:50am

Hi!

I think we have to differentiate between music you would make with cubase, and music you would make for games. Why? Because in cubase you don't run out of resources so easily. You have a few synths (hardware or software) which play anything you compose upto 16 channels polyphonic with ease. So the way you make music is by just playing some notes on some MIDIchannel, and not worry about the number of AUDIOchannels acutally played and the processor resources it takes. And hey, if we run out of synths/processor power... we tape everything on a big tapedeck and continue to add new tracks.

On the PocketPC, resources are limited. With MIDI files you allmost have no control over the channel allocation of your sounds. Especailly with costly synth sounds you really want to be in control about how long a sound lasts, and on how many channels it is rendered.

What works good with trackers is that you really specifically code musicchannels instead of 'parts' which can be any number of channels. You really see what you are doing.


Then again if you really want MIDI it is possible to supply your own MIDI file decoder and toggle the sounds yourself. This sound renderer can play songs (from its own format) or you can play them through the API. So nothing stands in your way to make a soundbank and play the MIDI files with your own program! :D


So this kinda answers your question too Pib. The engine can play soundeffects or instruments or anything too while it is playing a song, or while it is not playing a song.


The editor for the music program is not the most userfriendly. If you are used to trackers you can probably get the hang of it. Although to create your own synthetic sounds maybe some fiddling around and experimenting is required. Of course a shitload of instruments will be suplied. :P


About this library being incoorporated in the overloaded libs: we are currently discussing it. This was part of the reason to release this techdemo. To see what you guys think of it.

Rhino
User avatar
Rhino123
pm Member
 
Posts: 66
Joined: Jul 2, 2002 @ 2:58pm
Location: Amsterdam


Postby Lewil » Aug 1, 2002 @ 11:14am

ok :) so can we have a look to the editor so we can try to make some piece of music ?

in fact, it's interesting to know that the restitution is good but it's also important to evaluate our own ability to compose for it, isn't it ?
User avatar
Lewil
pm Member
 
Posts: 108
Joined: Apr 25, 2002 @ 1:39pm


Postby Rhino123 » Aug 1, 2002 @ 12:07pm

The original editor is available for free for the PC at: http://www.klaar.com


A stripped down editor for the PocketPC exists also but I wouldn't recommend composing big tunes with it..it is mainly intended to doodle some music when you are on the road.


Note that with the big version a HTML document is supplied with a small explanation of how it all works! Of course tons of sounds and demosongs are supplied along with the program for you to fiddle around with.

Rhino
User avatar
Rhino123
pm Member
 
Posts: 66
Joined: Jul 2, 2002 @ 2:58pm
Location: Amsterdam


Postby Phantom » Aug 1, 2002 @ 12:31pm

www.klaar.com? BROEHA!
Give me some good data and
I will give you the world
User avatar
Phantom
pm Insider
 
Posts: 913
Joined: Feb 21, 2001 @ 8:14am
Location: Houten, Netherlands


Postby britcode » Aug 1, 2002 @ 3:03pm

I'm fascinated by this, especially not using purely samples for the instruments, I'm also interested in software synths.

I'm curious what algorithms you are using for the sounds? Is it like a square wave, triangle wave, saw-tooth, and then you shape the sound with filters like IIR filters and boost it? And reverb and echo and stuff?

Or it is layers of saw-tooth waves or something?
Do you do any FM synthesis?
What about the drums, are they samples or synthed?
britcode
 


Postby Rhino123 » Aug 1, 2002 @ 4:21pm

Hi Britcode,

The synthesis is based on manipulating small waveforms (256 samples). These waveforms are negated or filtered or averaged or any number of simple algorithms. They can be combined using mxing or they can be used to oscilate a paramater of another effect. Also, any of these waveorms can be controlled to alter the pitch, volume or panning.

No mathematical proofs/models or stuff has been used to come up with thee algorithms. If it looked okay, it usually sounded okay too.

If you are still curious, download the desktop version and try the instrument editor and load some sounds/read the manual! :wink:

R
User avatar
Rhino123
pm Member
 
Posts: 66
Joined: Jul 2, 2002 @ 2:58pm
Location: Amsterdam


how will this be licensed / available

Postby Conan » Aug 5, 2002 @ 5:51pm

Do you intend to restrict your sound system to Overloaded users only?

( I have not yet chosen a sound/music generation method and there are 3 others I have considered, mikmod. pocket-g's system or FMod )

I'm happy to pay for a sound library but only if the licensing is within my budget. FMod is $100 per single shareware title which is ok but in a few years I may not be what they consider shareware.
What is Best in Life ?
User avatar
Conan
pm Member
 
Posts: 1309
Joined: Dec 24, 2001 @ 5:16am
Location: the Shades, Ankh-Morpock


Postby Rhino123 » Aug 6, 2002 @ 3:44pm

I think it could be available for everyone else too. I'm not sure about that yet. It might be that Overloaded wants an exclusive license for its developerbase. I'll throw it in the group.

anyhow, there still needs to be done some work on it for it to be perfect as an API. When do you need it?

Cheers,

R
User avatar
Rhino123
pm Member
 
Posts: 66
Joined: Jul 2, 2002 @ 2:58pm
Location: Amsterdam


Next

Return to Phantom's Forum


Sort


Forum Description

Discuss any of Phantom's projects here (Operation Nutcracker, etc.)

Moderators:

sponge, RICoder, Phantom

Forum permissions

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

cron