C# .Net extend existing vst host
$250-750 USD
Πληρώθηκε κατά την παράδοση
C# .Net extend vst host
The AudioVSTToolbox project on Github contains an example implementation for a vst host:
[login to view URL]
The existing application does the following:
- Only loads one VSTi instrument at a time.
- Provides a basic user interface to load an instrument, open it's editor.
- Allows you to send midi notes to the instrument and outputs the audio from the instrument playing the notes.
- Does not allow to chain vst effect plugins with the instrument.
- Only plays real time midi notes, there is nothing to send notes programmatically on a fixed time interval.
Required is a modified version that's closer to what a real vst host would do:
- The project is extended so I as a user can load/unload several instruments.
- As a user I can chain vst effects with an instrument (so the output of processreplacing of the instruments is running through the ordered list of vst effects before finally get output). The vst effects chained to an instrument can be a fixed number and be limited to 3 effects.
- There is a mechanism in place that, on a fixed time interval, allows the program to feed in noteon and noteoff events. For example to connect a piano roll to it.
- As in the existing project there is a main mixer object that gathers the audio output from the single instrument streams into one audio stream.
- I can define a bpm (beats per minute) value and change this value on the fly in steps of 1 bpm.
- I can remove and add instruments or effects while playback is running without the software to crash or leak memory.
Not required:
- The mixer in the existing project allows audio recording of the instrument audio output. That's not required.
- The existing project visualizes the audio output. That's also not required.
- The existing project has some functions in it to load the list of parameters of the currently loaded vst instrument and display them in a custom dialog window. Not needed.
Pre-conditions:
- Language/framework is c# .net.
- It has to be [login to view URL] for loading and hosting vst plugins.
- The audiovsttoolbox project uses naudio for audio output. Either this or portaudiosharp can be used.
The product is accepted as final if:
- There is a very basic user interface that allows to load, unloads vst instruments and displays a list of all loaded instruments.
- The user interface allows to start and stop playback.
- The user interface allows to set the bpm (beats per minute) and change it during playback.
- The user interface allows to load, unload vst effects and assign them to a certain vst instrument.
- The editor for each instrument and effect can be opened.
- In order to test the requirement that notes can be sent on a fixed timer interval:
- For each vst instrument I can access a simple step sequencer with 16 columns(steps). Each column represents a 16th note.
- The step sequencer has three rows, the first row represents the note C, the second the note E and the third the note G.
- I can set an entry (e.g. column 4, row 2) to active or inactive.
- When the program is playing audio, it loops over the step sequencer for each instrument, checks whether there is a note to play and plays the note (in octave 4).
- A note is played when the according entry in the step sequencer is active.
- To keep it simple, the necessary note off event for every note can be sent in the next step, so each note length is a 16th note.
- Notes that are meant to be played at the same time are played at the same time (e.g. if I have three instruments loaded, in the step sequencer for each instrument all notes are set to active in column 1, I want to hear the instruments playing C/E/G aka a C major chord on every first 16th note aka every full note).
Some additions:
- Having worked with this framework and done most of the features myself before, the realistic effort is 2-5 man days. Code is about a few classes and few hundred lines of code that are mostly already in the existing project, and more or less about solving the puzzle how to sync the irregular frequency in which the audio buffer is filled with the fixed timing interval in which midi notes are played by the step sequencer.
- The final product is the c# source code.
- There will be ne upfront payment before any work is delivered. Instead we can set up a milestone where you only deliver a compiled version of the test application that proves that your code is able to do what it's expected to do. Full payment on delivery of the source code.
Ταυτότητα Εργασίας: #7072787
Σχετικά με την εργασία
Ανατέθηκε στον:
C,C++,C#,Asp.net, Java Programming, also I'm a system administrator with 5 years of experience in system administration and technical support for different platforms, I'm certified from Redhat, Microsoft, Vmware. I hav Περισσότερα
12 freelancers κάνουν προσφορές κατά μέσο όρο $1044 για αυτή τη δουλειά
Hello Sir, Hope you are doing good. I have 10.5 year experience in this technology .NET C# Programming. actually we have team all are working as good with Microsoft Technology. Send me message for further informat Περισσότερα
Hello there, Thanks for this opportunity bid on this projects. I would like to propose my interest in working for this task, as I am having expertise with Microsoft Visual Studio, .NET Framework, VB.NET,.NET, C# Περισσότερα
Hi, Please feel free to discuss the project with me ............................................................................ Thanks, Murtaza
Hi, If You worked on this project before, it's great because You can guide me a lot things. Looking forward to discuss further. Thanks.
Hi, I am a .NET developer. I have already developed a .NET blog site with a SQL Server database. At that time, I developed with .NET 4.0. Of course, I have moved to .NET 4.5 recently. As long as jQuery is my anothe Περισσότερα
Hi, I have a pretty talented team of members having experience in the software industry between 4 - 12 years and have created mock up screens several complicated applications. Already we have developed and delivered o Περισσότερα
Hi, Whats up. I am not going to bore you with some repeated scripts that all freelancers use. I am trying to get to a point. If i write some stuffs here. I would like to know about some of your preferences. I h Περισσότερα