18
edits
Xiaomeiwang (talk | contribs) |
(→Creating a self-playing instrument: Added some information) |
||
Line 248: | Line 248: | ||
# We render samples of the instruments and embed them in our application. It's easier to develop but very limited in functionality. The application could be distributed via web because no special hard- or software is needed. | # We render samples of the instruments and embed them in our application. It's easier to develop but very limited in functionality. The application could be distributed via web because no special hard- or software is needed. | ||
# We send MIDI events to an external software synthesizer which will create the sounds. This requires a powerful machine and much research but is more powerful in the aspect of flexibility and creativity. The application needs some additional software to be running in the background so it won't be capable to be distributed as out-of-the-box experience. | # We send MIDI events to an external software synthesizer which will create the sounds. This requires a powerful machine and much research but is more powerful in the aspect of flexibility and creativity. The application needs some additional software to be running in the background so it won't be capable to be distributed as out-of-the-box experience. | ||
====Have some fun with Flash and MIDI==== | |||
Finally we finished our research in sending MIDI signals from Flash to other apps. To do so, we developed a little proxy app which sends MIDI signals. At first, Flash sends commands via a networking interface to the proxy app which acts as a server. Afterwards, the proxy app converts this data to MIDI signals which will be passes to a virtual MIDI interface. This interface is connected to our synthesizer. This allows us to control any MIDI-enabled app just as good as you would do it with controller hardware. | |||
For testing purposes we coded a little framework which consists of some small classes and some GUI elements like buttons, sliders and a two-axis-panning field. | |||
=====Current problems===== | |||
# The whole synthesizer stuff is very very CPU intensive. So we have to optimize it or use a better machine (which is also difficult because of the software licenses). | |||
# Sometimes there are big latencies when transfering the controller data from Flash to the synthesizer. Maybe it is also related to the CPU usage of the softsynths. We have to investigate this issue. | |||
=====New possibility===== | |||
# Because of the networking interface, it is also possible to use multiple computers to control the synths. So the interface can be run through another machine which is also better for performance reasons. | |||
==[[Alex Schumann]]== | ==[[Alex Schumann]]== |
edits