Mainstream languages still often provide trade-offs between flexibility and performance.In this paper, we will discuss the design, implementation, and usage of an integrated framework for audio analysis, resynthesis, and cross-synthesis (morphing) that combines several DASP back-ends with a set of end-user GUI tools and a powerful and extensible scripting language for audio analysis/synthesis.Tags: About Me Essay Yahoo AnswersHow To Write An Assignment ReportAgainst Legalizing Prostitution EssayDissertation References ManyOcr As Level English Language CourseworkGordon Bennett Outsider EssayHate Crime EssayGre Essays Pool
Siren supports GUI construction and interactive tool development with the standard Smalltalk GUI library (a sophisticated extension of the model-view-controller 435 framework), as well as with a set of custom components for DASP applications, such as reusable sound and score editor components.
SWIG  is an interface compiler that connects programs written in C and C with scripting languages such as Perl, Python, Ruby, and Tcl.
There are a collection of Loris utility functions that operate on Partial Lists to offer operations such as partial list distillation, collation, and time dilation.
Loris is a complex C framework that includes several stand-alone applications as well as a SWIG wrapper that allows users to script Loris processes in the Python language.
Siren's SWIG-generated interface and glue code provide access to Loris analyzers and partial lists as Smalltalk objects.
These low-level interfaces are then used to implement abstract model classes in Siren.
In this scenario, the GUI tools are required to support flexible file I/O and data management, audio data display and (possibly) editing, analyzer configuration and execution with interactive monitoring of the results, and easy tool extension or customization (which are not at all common in current mainstream GUI tools for audio).
As an extension language, it is convenient to have a simple, untyped language with a rapid turn-around compiler and an interpreter or shell-like interface.
It works by taking the declarations found in C/C header files and generating wrapper code that scripting languages need to access the underlying C/C code.
There is a Smalltalk back-end to SWIG by Ian Upright ; with this, one has external interface objects whose methods call the functions created by SWIG, which themselves mirror the object methods of the source package that was fed into SWIG.