SynthMaker

Stand-Alone Embedded Digital Audio plateform

Archive · 2005 11 old posts

From the original SynthMaker forum (2004–2014), with its members’ names and dates.

steph_tsf ·

Hello,

I have been writing assembly code for 8-bit microcontrollers and Motorola 56K digital signal processors for years. Applications involving audio signal processing and biomedical data acquisition. Having seen the limitations of dsp-specific systems, I would like to step into an easy DSP audio project using available hardware like a PC motherboard (http://www.pcchips.com.tw/PCCWeb/Produc ... 25&LanID=2) and let it run tailor-made audio applications. SynthMaker came to my attention as potential candidate. Let's have a practical approach. Basically, I want to aquire stereo audio from the LINE-IN cinch connectors, process at 44100 Hz in digital using SynthMaker CODE_MODULES (some IIR filters, some FIR filters) and deliver the audio back in analog using the LINE_OUT cinch connectors. That would be the test.

Now, the questions.

1. As SynthMaker is a VST plugin architecture, what host application do you recommend ? It should be as thin as possible because I intend to derive a stand-alone embedded digital audio device from this.

2. What I call a stand-alone embedded digital audio device would be a cheap mother board like the one from PCCHIPS, with a tiny hard disk (max 4 GB), and NO display, NO mouse and NO keyboard. Is this possible ? What is needed in order to avoid fatal error messages from WinXP complaining about "can't find hardware" ?

3. I've been impressed also by VIA EPIA-N motherboard, 12cm by 12cm including a 1GHz processor. http://www.viaembedded.com/product/epia ... oardId=221 Is this processor compliant with SynthMaker ?

4. You will be right in saying that putting a full WinXP computer for this is a waste of resource. But this is the kind of project I definitvely want . Using SynthMaker, it will be so easy to check new ideas on the fly. This looks an excellent platform for teaching the basics of audio signal processing in a school lab, and easily generate a few embedded derivatives.

5. Talking about generating embedded derivatives, is it possible to shift them in Linux or Java, so we don't actually need WinXP anymore? It is possible to make the lab using SynthMaker into a genuine WinXP environment (Pentium IV, motherboard, all peripherals, WinXP installed, VST host installed, SynthMaker installed) , and then, when the application is fully tested, re-compile the whole stuff in order to run into a degraded/cost-optimized environment (mini-ITX single board computer, no peripherals, no WinXP, but only some Linux and Java code) ?

Woaw, that's quite a post ! Thanks for reading me. Ready to read you ...

jorge ·

Hi steph_tsf and welcome to the forum

steph_tsf wrote: 1. As SynthMaker is a VST plugin architecture, what host application do you recommend ? It should be as thin as possible because I intend to derive a stand-alone embedded digital audio device from this.

We used to have with an old version of SM a feature to export .exe, it quite easy to implement it again, that would probably be the ideal in your case, I dont think you can get thinner than that.

steph_tsf wrote: 2. What I call a stand-alone embedded digital audio device would be a cheap mother board like the one from PCCHIPS, with a tiny hard disk (max 4 GB), and NO display, NO mouse and NO keyboard. Is this possible ? What is needed in order to avoid fatal error messages from WinXP complaining about "can't find hardware" ?

I think what you suggest is very possible but in my opinion not the best solution. I have tried before to build a mini-itx machine as a hardware device to host SM's synths, a bit like Receptor. The resulting machine was far too expensive for the power you get from it. I've seen a really nice Acer laptop for 500 euros ( probably a lot cheaper in the USA ), and that's the exact same as their top of the range in that type of laptop but with a Celeron M instead of Pentium M. Celeron M even supports SSE2 and you get a really nice screen, Wi-Fi etc.

steph_tsf wrote: 3. I've been impressed also by VIA EPIA-N motherboard, 12cm by 12cm including a 1GHz processor. http://www.viaembedded.com/product/epia ... oardId=221 Is this processor compliant with SynthMaker ?

I think the latest VIA processors support SSE ( making it compatible with SM ) but probably not SSE2 ( SM already uses some SSE2 instructions when available ). I think they're not as good value as normal processors.

steph_tsf wrote: 4. You will be right in saying that putting a full WinXP computer for this is a waste of resource. But this is the kind of project I definitvely want . Using SynthMaker, it will be so easy to check new ideas on the fly. This looks an excellent platform for teaching the basics of audio signal processing in a school lab, and easily generate a few embedded derivatives.

That's a project I've started some time ago but had to put on hold to focus on SM's v1.0. SM is already a compiler, so it would be nice to get it to generate machine code that runs on its own on a PC. Just transfer it to Flash memory and plug it to the PC as an IDE device replacing the hard disk. Most of the interfacing with the computer is standard and easy to implement due to plenty of info avaliable on the net except for the sound card. With the help of some soundcard manufacturer, we could at least support one sound card, we could choose the most popular, like the M-Audio's Audiophile 24/96 for example. It would be nice to see that evolve to the creation of a tiny OS for running/selecting etc SM's synths. The OS itself would be created using an SM schematic. I think I'm looking too far ahead here but just to show you that I have a similar interest in what you described.

steph_tsf wrote: 5. Talking about generating embedded derivatives, is it possible to shift them in Linux or Java, so we don't actually need WinXP anymore? It is possible to make the lab using SynthMaker into a genuine WinXP environment (Pentium IV, motherboard, all peripherals, WinXP installed, VST host installed, SynthMaker installed) , and then, when the application is fully tested, re-compile the whole stuff in order to run into a degraded/cost-optimized environment (mini-ITX single board computer, no peripherals, no WinXP, but only some Linux and Java code) ?

You mention a cost-optimized mini-ITX, like I described above, I dont think that's a good idea. By the time you've purchased a small VGA screen, a case ( they're a lot smaller and a lot more expensive than normal ones ) and all the periferals, it ends up being very expensive and not powerfull at all. The code SM compiles processes an input stream and produces an output stream, that code can run on any intel/amd platform that supports SSE no matter what operating system is running ( just to make it clear I'm talking about the assembled audio processing code without any GUI/Midi etc ). There's still some work on the interfacing part as we dont have much experience with Linux but at least you already have access to the SM compiled assembler code. Maybe some Linux developer could help create a component that exports it wrapped to work on Linux. ( this is really not our focus at the moment, but when it becomes I dont think it will be that much work )

steph_tsf ·

Hi Jorge, and thanks for the detailed info.

just to make it clear I'm talking about the assembled audio processing code without any GUI/Midi etc .

A side-question about GUI : let's consider a SynthMaker VST plugin thats is compiled and running on a host software. How do we manage user-interface like for instance modifying some parameters like attack, decay, sustain, release time constants without actually re-entering SynthMaker and of course without re-compiling the VST ? A solution like the VST plugin popping a window in which the user can enter new parameters ? Is this available ? Would be great !

skOre ·

Well, you could go by midi-controlling if thats fitting what you want (hope I got you right).

steph_tsf ·

Hello skOre,

you could go by midi-controlling

Not sure this is what I was targeting. Midi-controlling would be great of course, but my question was "how to manually edit parameters without having to recompile".

If somebody can post a screen capture, that would help me deciding if SynthMaker is what I need.

What I'm expecting is to have a WinXP computer running in maximized window, three IIR filters put in series. So what is required is a kind of dashboard showing : source select (Stereo Line-IN, Optical IN) , IIR1 coefficients, IIR2 coefficients, IIR3 coefficients, output select (Stereo Line-OUT, Optical OUT), three bypass switches. All in real time, of course. Having the computer loaded with a "thin" VST host. No Cubase and so on ...

Maybe this sounds trivial to you. Remember this is my first day discovering SynthMaker ... If all this is possible, feasible, or already done, please show me an example in the form of a screen capture.

Steph

skOre ·

I'm still not quite sure wether I understand you right. My post before regarded that you want to control something within SM with no interface, for which midi would be the right solution.

I think I get you right now, you want SM to dynamically change filter coefficients, right? I'm sure that I'm making no mistake by telling you that this is absolutely no problem within SM.

steph_tsf ·

skOre wrote: I'm sure that I'm making no mistake by telling you that this is absolutely no problem within SM.

Excellent news ! Don't hesitate pointing some IIR control examples, so I can start thinking about practicalities.

What kind of VST host application do you recommend as "thin" as possible ? Something like "run VST host application" - "load VST plugin" -"run". If possible, the VST host application to be freeware.

What about the VST being exported to .exe ? So we don't need an external VST host application ? Have you tried ?

Again, thanks, Steph

Shifrin ·

steph_tsf wrote: What kind of VST host application do you recommend as "thin" as possible ? Something like "run VST host application" - "load VST plugin" -"run". If possible, the VST host application to be freeware.

You could try Hermann Seib's VSTHost :-

http://www.hermannseib.com/english/vsthost.htm

Or Tobybear's MiniHost :-

http://www.tobybear.de/p_minihost.html

Shif.

steph_tsf ·

Hi Shifrin,

Thanks for the two very useful links. By the way, I went across some news saying that a Winamp plug-in could be used to get Winamp acting as a VST-host. http://www.kvraudio.com/forum/viewtopic.php?t=106222 This is still in infancy, as many posts are reporting crashes, plus the apparent need for a DirectX bridge also. But the idea seems good to me. This way I can get something very "standard" in the field of audio play. Of course, I know this approach doesn't make any sense in the field of instruments modelling.

If someone can help me setting up a reliable Winamp plugin transforming Winamp into a reliable VST-host application, then it will be a continuous pleasure for me to develop and show some VST plugs-in using SynthMaker.

Now, a typical newbee question. To me, it seems that Winamp requires DirectX, so can we say that, in "another world", there might be the equivalent of SynthMaker, but delivering DirectX plugs-in instead of VST plugs-in ?

Thanks, Steph

skOre ·

AFAIK, theres quite some difference between VSTs, DirectX Plugs and AUs (Mac Audio Units). We talked about having AUs compiled out of SM around here, but not about DirectX, as it is somehow a side-product of the Microsoft World Domination Campaign, rather than _the new thing_ that is set out to revolutionize the Audio Market.

Yet I don't know really how much trouble it would cause to build such a thing, but I think that Mallc and jorge said about the AU stuff, that it was definately a good way to go, yet a bit farer in the future of SM. Might apply to DirectX too...

Shifrin ·

@steph_tsf

If you really need to use Winamp to host the plugins (for whatever reasons) you could always use something like Cakewalks's VST->DirectX adapter. It's not free though! There is, however, a free wrapper from SpinAudio that will wrap a single VST plugin :-

http://www.spinaudio.com/products.php?id=33

The downside if AFAIK this only wraps VST effects and not instruments.

Shif.

Wrote something here? To have a post removed or your name hidden, write to [email protected].

Before your first post

A few rules keep this a friendly place. You agree to them once.

Shown next to what you post, here and in the app. It doesn’t have to be your real name: 3–24 lower-case letters, digits or _ (capitals become lower case, spaces become _).

    Then your post goes up straight away.

    Delete this reply?

    Open it in SynthMaker?

    It goes on the track you’re editing there, in place of that track’s sound, and into My sounds. Your other tracks stay as they are.

    Want to keep that track’s sound? Start a new song in SynthMaker first (Song › New song), then open this.

    Report this reply?

    Only the developer reads reports. The person isn’t told who reported them.

    What’s wrong with it?

    Block this person?

    You won’t see their posts and replies here any more. They aren’t told, and you can unblock them at any time.

    People you’ve blocked

    Their posts and replies are hidden from you. Unblock someone to see them again.

    The community rules

    A few rules keep this a friendly place. Everyone agrees to them once, before their first post.