Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
wiki:programming_audio [2010/09/15 19:51] emrumwiki:programming_audio [2017/03/24 12:41] (current) – Add Gwion djay
Line 3: Line 3:
 {{topic>programming}} {{topic>programming}}
  
-.+\\ 
 +\\ 
 + 
 +Note: Before starting a new project, perhaps you would like to join an existing project, or take over any of the [[/apps/categories/unmaintained| Unmaintained Projects ]] ! 
 + 
 +\\ 
 +\\
  
 **Misc information related to dsp/audio programming and development.** **Misc information related to dsp/audio programming and development.**
  
-.+\\ 
 Related pages: Related pages:
-  * midi resources: [[http://wiki.linuxaudio.org/apps/categories/midi_programming_resources]] +  * [[/apps/dev_apps|List of resources for audio developers]] 
-  * libraries, APIs: [[:wiki:programming_libraries|APIs,Code-Libraries for audio,graphics,media,GUIs]] +  * [[:wiki:programming_libraries|APIs and Code-Libraries for audio,graphics,media,GUIs]] 
-.+\\ 
 + 
 +\\ 
 + 
 +==== Project funding and crowd fund raising ==== 
 + 
 +NOTE: Today, there are many funding sitesHere only those with the following criteria should be listed: 
 +international, accept code (open source) projects or musical projects 
 + 
 +  * [[http://cofundos.org/]] 
 +  * [[http://www.kickstarter.com/start]] 
 +  * [[http://www.chipin.com/]] 
 +  * [[http://www.pledgemusic.com/sign_up/artist]] 
 +  * [[https://www.sellaband.com/]] 
 +  * [[http://micropledge.com/help/hiw]] 
 +  * [[http://www.pledgebank.com/]] 
 +  * [[http://www.8bitfunding.com/static.php?static_id=2]] 
 +  * [[http://www.indiegogo.com/about/howitworks]] 
 +  * [[http://www.my10dollarfundraiser.com/]] 
 +  * [[http://filminteractor.com/become-sponsor/iron-sky-21.html]] 
 +  * [[http://www.mysherpas.com/en/base-camp/general.html]] 
 +  * [[http://www.inkubato.com/blog/en/learn-more/]] 
 +  * [[http://www.startnext.de/home.html?newLanguage=en]] 
 +  * [[http://www.rockethub.com/learnmore/intro]] 
 +  * [[http://www.pozible.com/]] 
 +  * [[http://www.sonicangel.com/docs/en/index]] 
 + 
 +\\
  
 ==== Higher-level real-time programming languages ==== ==== Higher-level real-time programming languages ====
   * JStar [[http://www.cs.waikato.ac.nz/research/jstar/index.html]]   * JStar [[http://www.cs.waikato.ac.nz/research/jstar/index.html]]
   * " We aim to make it easy to write high-performance parallel programs that can be retargeted to a wide variety of computer architectures. We are developing a new style of parallel programming, which separates the program logic from the parallelism details, and enables a program to be moved easily from one computer architecture to another. "   * " We aim to make it easy to write high-performance parallel programs that can be retargeted to a wide variety of computer architectures. We are developing a new style of parallel programming, which separates the program logic from the parallelism details, and enables a program to be moved easily from one computer architecture to another. "
-.+\\ 
 + 
 +  * SuperCollider [[http://supercollider.sourceforge.net/]] 
 +  * SuperCollider is an environment and programming language for real time audio synthesis and algorithmic composition. It provides an interpreted object-oriented language which functions as a network client to a state of the art, realtime sound synthesis server. 
 +\\ 
 + 
 +  * FAUST- "Is a functional programming language for realtime audio signal processing. The Faust compiler translates DSP \\ specifications into efficient Cpp code. A variety of plateforms and plugin are supported (jack, alsa, ladspa, max, Q, vst, ...) " \\ 
 +  * [[/apps/all/faust| wiki page]]  
 +  * [[/apps/all/faust_online| online compiler ]] 
 +\\ 
 +  * [[http://www.csounds.com/about| CSound]] - << Csound is a programming language designed and optimized for sound rendering and signal processing. The language consists of over 1300 opcodes - the operational codes that the sound designer uses to build "instruments" or patches. Although there are an increasing number of graphical "front-ends" for the language, you typically design and modify your patches using a word processor. Usually, you create two text files - a .orc (orchestra) file containing the "instruments," and a .sco (score) file containing the "notes. >> 
 +\\
   * Squirrel [[http://www.squirrel-lang.org/#overview]]   * Squirrel [[http://www.squirrel-lang.org/#overview]]
   * "Squirrel is a high level imperative,  object-oriented programming language, designed to be a light-weight scripting language that fits in the size, memory bandwidth, and real-time requirements of applications like video games. "   * "Squirrel is a high level imperative,  object-oriented programming language, designed to be a light-weight scripting language that fits in the size, memory bandwidth, and real-time requirements of applications like video games. "
-.+\\
   * Serpent [[http://www.cs.cmu.edu/~music/aura/serpent-info.htm]]   * Serpent [[http://www.cs.cmu.edu/~music/aura/serpent-info.htm]]
   * " A real-time language for music and animation. Serpent was designed and implemented as a stand-alone, general purpose interpreter. Serpent is perhaps ideal as a game scripting language due to its real-time design and support for external C++ objects and C functions.  "   * " A real-time language for music and animation. Serpent was designed and implemented as a stand-alone, general purpose interpreter. Serpent is perhaps ideal as a game scripting language due to its real-time design and support for external C++ objects and C functions.  "
-.+\\
   * UrbiScript [[http://www.urbiforge.org/]]   * UrbiScript [[http://www.urbiforge.org/]]
   * " Urbi is an open-source software platform to control robots or complex systems in general. It includes a C++ component library called UObject. "   * " Urbi is an open-source software platform to control robots or complex systems in general. It includes a C++ component library called UObject. "
-.+\\
   * Java - with RTSJ-JRE (Real-Time-Specification for Java - Runtime Environment)    * Java - with RTSJ-JRE (Real-Time-Specification for Java - Runtime Environment) 
   * [[http://www.rtj.org/| RTSJ Specification etc. ]]    * [[http://www.rtj.org/| RTSJ Specification etc. ]] 
Line 32: Line 77:
   * [[http://www.rtjcom.com/main.php?p=home| Real time JVM for embedded devices ]]   * [[http://www.rtjcom.com/main.php?p=home| Real time JVM for embedded devices ]]
   * [[http://www.jython.org/| Jython - Write Java with Python]]   * [[http://www.jython.org/| Jython - Write Java with Python]]
-. +\\ 
-  * [[http://www.cython.org/| Cython]] - Makes possible to write C-like code with Python-Style Syntax (strange mix of python and c) +  * [[http://www.cython.org/| Cython]] - Makes possible to write C-like code with Python-Style Syntax (mix of python and c) 
-.+\\ 
 +  * EEL - hard real-time language, C-like. Home: [[http://eel.olofson.net/]] - Article: [[http://mstation.org/EEL.php]] 
 +\\ 
 +  * Eiffel - "Eiffel is more than a language; it is a framework for thinking about, designing and implementing object-oriented software. " [[http://docs.eiffel.com/book/why-eiffel/why-eiffel]] 
 +\\ 
 +  * [[http://q-lang.sourceforge.net/| Q - Equational Programming Language ]] - An interpreted, dynamically typed functional programming language based on term rewriting which allows you to define functions using symbolic equations. 
 +\\ 
 + 
 +  * [[http://lua-av.mat.ucsb.edu/blog/?page_id=195| LuaAV ]] - "LuaAV is a real-time audiovisual scripting environment based around the Lua scripting language and a collection of libraries." 
 +\\ 
 +  * [[http://chuck.cs.princeton.edu/| Chuck Progr. Language ]] - Life-Coding, "on-the-fly", "concurrent audio programming language for real-time synthesis, composition, performance, and analysis." 
 +\\ 
 +  * [[http://embedded.eecs.berkeley.edu/giotto/|Giotto Language]] - "The Giotto system consists of a time-triggered programming language, a compiler, and a runtime system. Giotto aims at hard real-time applications with periodic behavior. " 
 +\\ 
 +  * [[http://ptolemy.eecs.berkeley.edu/ptolemyII/tutorial.htm|PtolemyII]] - "Ptolemy II is an open-source software framework supporting experimentation with actor-oriented design. Actors are software components that execute concurrently and communicate through messages sent via interconnected ports. A model is a hierarchical interconnection of actors." 
 +\\ 
 +  * [[http://archhaskell.wordpress.com/2009/08/01/atom-a-domain-specific-language-for-hard-realtime-applications/| Atom (Haskell) ]] - "Atom is a Haskell DSL (domain specific language) for designing hard realtime embedded software. Based on guarded atomic actions (similar to STM (Software Transactional Memory)). " 
 +\\ 
 +\\ 
 +\\ 
 + 
 +  * [[http://x10-lang.org/home/introduction.html| X10 programming language ]] - X10 is a strongly typed, concurrent, imperative, object-oriented programming language designed for productivity and performance on modern multi-core and clustered architectures. X10 augments the familiar class-based object-oriented programming model with constructs to support execution across multiple address spaces, including constructs for a global object model, asynchrony and atomicity. 
 +\\ 
 +  * [[http://chapel.cray.com/| Chapel programming language ]]  - << A parallel programming language, designed to improve the productivity of high-end computer users while also serving as a portable parallel programming model that can be used on commodity clusters or desktop multicore systems. Chapel strives to vastly improve the programmability of large-scale parallel computers while matching or beating the performance and portability of current programming models like MPI. >> 
 +\\ 
 +  * [[http://upc.lbl.gov/| Berkeley UPC - Unified Parallel C ]] - An extension of the C programming language designed for high performance computing on large-scale parallel machines. 
 +\\ 
 +  * [[http://www.mcs.anl.gov/research/projects/mpi/| MPI - The Message Passing Interface Standard]]  -  A library specification for message-passing, proposed as a standard by a broadly based committee of vendors, implementors, and users. 
 + 
 +\\ 
 + 
 +  * [[http://haxe.org/doc/intro| haxe.org]] - A language that translates to different target languages.
  
 +\\
 +  * [[https://github.com/fennecdjay/Gwion | Gwion]] - A strongly timed musical language
 +features templates, function pointers, enum, variadic and more.
  
wiki/programming_audio.1284573062.txt.gz · Last modified: 2010/09/15 19:51 by emrum