News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

Sound synth system

Started by gabor, June 07, 2009, 06:39:14 PM

Previous topic - Next topic

gabor

A quite old project of mine was sound synthesis. I know could be rather boring now, since there are many commercial and non-commercial apps in this topic.
I'd like to share my project hoping that some of my fellow masm coders would find something worthy and interesting.
Other goal is to get some test results and maybe some optimization ideas.
In my design the basic element is a module capable of generating or processing samples. These modules are arranged in a network, the network outputs the sound. Adding new modules is easy, thus adding new features is done quickly.
Modules created so far: constant, arithmetic operators, oscillators (different waveforms), an AHDSR envelope generator, LP/HP resonant filter, sequencer, clipper and delayer.
First goal is good sound quality, second is compactness. The synth code is supposed to be attached to 4k intros (could be too optimistic).

I would share the app for now. Source and description later if some find this interesting.
I hope I'll be able to update/recreate the sound synth web page.

EDIT 2009.06.23: scroll down for a newer version!

Greets
Gábor

[attachment deleted by admin]

dedndave


Mark Jones

Indeed, such code would be great to see. Pretty good sound and capability for the size also.

Lol, you could call it "GS" for "Gábor Sound" or "Gábor Synth." :bg
"To deny our impulses... foolish; to revel in them, chaos." MCJ 2003.08

Siekmanski

Nice  :bg

sounds cool !!!

Sound synthesis is a great thing to do.
At this moment  I'm learning how FIR and IIR filters work to use a fast but good LowPass filter in my FM broadcast proggy.
So, I would like to see your code.........

Greetz Siekmanski

gabor

Hi guys!

First of all, thanks for your posts. I'm glad that others find sound synth interesting.
Unfortunatly I don't have much time in these days, and the code needs some seriuos cleaning. There are some comments, but they are in hungarian. I guess that wouldn't be of much use for the most of you.
I hope to have some free hours to do this work soon. Have some patience  :bg

Greets
Gábor

ToutEnMasm


Seems to be just a proc lauching a wav file,i recognize the sound picked up on a site No ?

dedndave

nah - we all speak fluent Hungarian here at MASM32   :red

gabor

Hi!

Quote from: ToutEnMasm on June 11, 2009, 07:58:17 PM
Seems to be just a proc lauching a wav file,i recognize the sound picked up on a site No ?
If you are trying to state that my app is a fraud only then I have to object! Since I'm quite an old member on masmforum, put shared some projects (no novice-level projects), I find the thought a bit insulting.  :(
You should have simply debuged the exe. Besides show me a method that squeezes an about 30 sec sample into 8k...

Tomorrow I'll be playing football in a championship all day long, so either tonight or on sunday I'll create a package of the project that I can share.
I assure you and all now, that all code was written by me.

Greets
Gábor

dedndave

i think he just wanted to know about where the song came from - not the code - lol

Mark Jones

Gabor has been around here longer than many of us. :bg

Yes, even with "chip" samples, it would be difficult to squeeze that much sound (let alone the filter effects) into 8kb.

Perhaps, others can create new generators and effects for this platform, that would be impressive.

Good luck on your game tomorrow. :wink
"To deny our impulses... foolish; to revel in them, chaos." MCJ 2003.08


ToutEnMasm


I am curious to view how the sound is product,that all.
Quote
Tomorrow I'll be playing football in a championship all day long, so either tonight or on sunday I'll create a package of the project that I can share.
I wait for that


gabor

Hi folks!

First of all, thanks for your patience! Actually I promised sharing my source on sunday, but I didn't specified which sunday   :toothy
I hope the zip package contains all necessary files and the project can be compiled properly.

A few words about the project:

  • There is a library and a testbed app.
  • The important stuff is in the lib. The app creates a network and runs it. The network's components are described in the .net.inc files.
  • The way the networks are described is very uncomfortable, actually it is hard coded in the source. (An editor or at least scripting support would be nice to have.)
  • Though I added the subnet prototyping and instantiating feature (this was the reason of the delay), the network description can still hold duplicated information.
  • The tesbed's source is a huge mess, it is full of dead code (in comments). The source doesn't have many usable comments, the few there is is in hungarian. ::)
I'm working on the weak points and further improvements. Hopefully I'll create a far more usable system soon.
I'm also working on the demo song. It is a very old chiptune by me written in Fasttracker.
The testbed app uses Ultrano's EasySound library for sound output. Greets and thanks go out to him :)

The RTF doc is short and brief, contains the basics only, but that's probably enough for a first overview.

I welcome every comments and opinions!

Greets,
Gábor

[attachment deleted by admin]

gabor

Ah, yes. It is not me in the picture. I'm no professional socker player. The championship was organized by the company I'm working for. We won :)

UtillMasm