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
Last revisionBoth sides next revision
wiki:programming_audio [2010/09/15 19:51] emrumwiki:programming_audio [2014/03/19 12:42] j_e_f_f_g
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.
wiki/programming_audio.txt · Last modified: 2017/03/24 12:41 by djay