Main Page   Modules   Data Structures   File List   Data Fields   Globals   Related Pages  

OVSP : Open Virtual Synthesizer Project

0.0.1

Summary Download Quick Start Running Tips Compliling Status Documents Modifying Thanks Forum Disclaimer Developers

ovsp_logo1.png

Summary

OVSP (Open Virtual Synthesizer Project) is an open source project which provides

The goal of OVSP is to create a community which consists of both musicians and DSP programmers. Musicians can contribute to this project by providing their musics and requirments to and/or ideas of the software needed, and programmers can contribute by enhancing programs in this project and providing interresting synthesizers, effects and knowhow (technical information) of creating these programs.

With the VST host (in OVSP software), you can integrate a huge midi synthesizer from various VST instruments and effects for your musical compositions, and operate it from midi sequencers or midi keyboards.

screenshot003.jpg

As you see in a screenshot above,

ovsp.jpg

For OVSP, a "song" consists of mainly two files:

and sample (.wav) files, etc.

Download

Binary Distribution

Currently, only windows (XP, 2000, 98Me) version is available.

Source Distribution

Temporalily unavailable.

QuickStart (vsthost.exe)

You probavly have downloaded the binary distribution of OVSP. Double-click 'vsthost\vsthost.exe' to start the vsthost program of OVSP.

Running and evaluating

Obtain a binary distribution (ovsp-bindist.zip). All executables are statically linked, so you need *no* additional program or library if you want to just play sample songs. If you want to compose songs, you need some midi sequencer (e.g. the Jazz++ midi sequencer), VST plugins (you can find many free VST plugins on web) and a midi loopback device (midi loopback (midi yoke)).

Platforms

Currently, only windows (XP, 2000, 98Me) version is available. But we are developping in a very portable way. We use mingw C compiler, and GUI's are written in Tcl/Tk. So you can convert whole programs into linux or mac easily.

Playing a sample song

menu_open.jpg

select_xml.jpg

sample_dsp.jpg

play_midi.jpg
select_midi.jpg

replay.jpg

If you have some trouble (e.g that you cannot execute the internal midi player) and your OS is not the english version or the japanese version, or you use Windows98(Me), place the ovsp folder on top of a drive (e.g. C:\ovsp-bindist).

Executing a standalone synthesizer

(This is not included in the binary distribution. If you got the binary distribution, please skip this subsection.)

This is a demonstration of 'the synthesizer development environment'. In this environment, you can use ready-made gui for parameter adjustment and can generate the VST plugin version of your synthesizer automatically.

I am developping this synthesizer (with 2 oscillators + one envelope + one lpf, no lfo currently) and am struggling terribly. Are there anyone to teach me how to create a virtual synthesizer? (We have to develop at least a drum sampler, so-called sampler (not for drum), reverve and delay.)

synth.jpg

Composing a song

screenshot002.jpg

Tips

Commandline arguments for Vsthost (vsthost/main.exe)

SYNOPSYS

main.exe [mididev] [dlldir] [songdir]

DESCRIPTION

With 'dlldir', you can specify the initial directory of the dll file selector and the range for the dll searching (when the OVSP Vsthost fails to load dlls in DSP (.xml) files).

If you are using the program launcher, I strongly recommend specifing these arguments in the start option for the vsthost in your launcher.

If you are not using the program launcher, please create appropriate batch files (.bat).

Compiling

Software Requirement

The following softwares are needed to generate OVSP software:

Building Tcl/Tk static libraries

This is the hardest part of the building process.

Building tDOM libraries

This is slightly hard, too, if you compile tDOM on cygwin bash with mingw and if you use c:\mingw\bin\gcc.exe instead of mingw in cygwin. Below is what I did.

hmmmm... the difference between mingw/msys-acceptable-path notation and cygwin path notation is very compicated for me...

Building Mktclapp

But mktclapp has some mismatches with current version of Tcl (I use 8.4.1). I fixed this problem and found this fixing was very easy. So, you will not feel hard, but if so, please mail me. Mktclapp is GPL lisenced, so I will send you modified source code. (or here is the diff.)

Building iconv

You have to build iconv on Msys(MinGW) and then copy the contents in 'include' and 'lib' directories into cygwin's /usr/local.

Building OVSP software

Building autodoc

no problem. install pool and cgi module and then build autodoc.

Generating OVSP documents

Status

OVSP is in a very early stage of development. No robustness, many bugs and unstable. Do not use this for serious purpose.

VST plugins which are executable on Vsthost of OVSP

VST plugins which are *NOT* executable on Vsthost of OVSP

scuzzphut6.dll

Documents

You can see documents on module interface from links on top of this page. For gui part (Tcl programs), see

Modifying

Modifying GUI

If you installed Tcl/Tk and tDOM properly, and if you want to modify the GUI of OVSP vsthost, the simplest way is to change three lines below

        #package require tdom

        # Stubs of C module (tcl bindings of plugin operations in C)

        if {0} {
into
        package require tdom

        # Stubs of C module (tcl bindings of plugin operations in C)

        if {1} {
at first. Then you can execute only gedit.tcl as 'wish8.4s gedit.tcl' and you can edit and try the script easily. If you finished modifying gedit.tcl then restore lines above and 'make' again.

If you want to change the presentation, rewrite these procedures below in 'gedit.tcl'.

Tcler's joinning into this project is welcome.

You can try a modified gui with [Settings]->[Gui]->[new].

newgui.jpg

Internationalization

The file path strings in Tcl are encoded in 'UTF-8'. And my C module gets these strings and thinks they are encoded in local code (e.g. SHIFT-JIS in the japanese version of windows OSs). This is the problem. So I use iconv to convert UTF-8 into the local code. If your OS is not the english version or the japanese version, then change a line below in vsthost/conv.c.

        void conv(char *instr, char *obuf, int olen)
        {
          char ibuf[4096];
          size_t ilen = strlen(instr);
          iconv_t cd = iconv_open("SHIFT-JIS", "UTF-8");        // here!!!

But this is true only if you use NT, 200, XP. If you use Windows98(Me), place the ovsp folder on top of a drive (e.g. C:\ovsp-bindist) or get the binary for Windows98(Me).

Thanks

thanks to all developpers of great softwares which we are using to develop and to run OVSP.

Redeistributable Synthesizers

Below is a list of the synthesizers and their developers who allowed us to redistribute their synthesizers with OVSP distribution. We thank all of them.

Forum

A message board of OVSP is here. Feel free to write requirements or to report bugs. Currently, the Message Board Systems's guidance is in Japanese.

Disclaimer

The Software and any accompanying files are provided "as is". You are using this software entirely at your own risk. The author provides no warranty and cannot in any way be held responsible for anything this software does.

Developers

Copyright

vs_support_vst_121px.jpg VST is registered trademarks of Steinberg Media Technologies GmbH.

Many programs in this package are Copyright 2004 Masao Onishi <xyzoni2jp[AT]yahoo[DOT]co[DOT]jp> and are distributed under the GPL License. See each source file for details and the COPYING file for full legal details.


Generated on Thu Jun 17 01:18:01 2004 for ovsp by doxygen1.2.18