« Previous - Version 26/51 (diff) - Next » - Current version
Andrew Kozloski, 2012-04-20 17:55


Mission and objectives

The Metalab is at the heart of the Society for Arts and Technology’s mission to encourage the emergence of new generations of technological artists, to support them and to help generate a new economy which recognizes and values their work. It is a living and open research space where users and communities interact with creators, researchers, designers and developers. Relying on dynamic exchanges between art, technology and society, the SAT | Metalab is a window on emerging digital culture and innovation in a changing society. It is also a space for exploring and sharing competence in many other industries that require the integration of rich digital content (audio, visual and data) and where new models of interaction and data processing are appropriate, notably in medical and scientific imaging, engineering, design and architecture.

The research team

Established in 2003 with public and private funding, the Metalab’s research team totals over 30 members: associate researchers, student-researchers and developer-researchers. The associate researchers, mostly professors, and student-researchers are drawn from the University of Montreal, Concordia University, McGill University, l'École de technologie supérieure in Montreal, University of Laval in Quebec City and the National Conservatory of Arts and Crafts in Paris. The other associate researchers work as independent artists. About a dozen developer-researchers are directly connected to the SAT as the permanent core of the research team. As a group, these researchers provide the necessary expertise required to fulfill the SAT’s research objectives. They carry out projects resulting from collaborations with artists in residence or partnerships with organizations such as engineering firms, city administrations and the Sainte-Justine University Hospital Center.

The research program

SAT[Metalab] - 2011-2013
The SAT's past research, all of the needs expressed by artists and partners, the opportunities offered by ongoing technological advance and the participative approach fostered at the SAT have inspired the development of the Metalab’s research program around three main axes:

A – Immersive Environments
B – Intelligent Interaction
C – Networked Experiences

Axis A – Immersive Environments

The projects of Axis A deal specifically with challenges related to immersive and interactive systems. One of the objectives is to build immersive environments from video capture or image synthesis. Another objective is to reexamine the environments of previous immersive and interactive works, whether distributed on a network or not. The projects of this axis enable the enhancement of artistic creations intended for the various immersive and interactive systems at the SAT. In addition, they promote the emergence of works as original in their structure as in their subject matter and contribute to the international deployment of a new network of creation and distribution. The Immersive Environments axis includes the following projects:

A1 - Audio spatialization
A2 - Video spatialization
A3 - Spherical audio-video capture
A4 - Spherical stereoscopy
A5 - Distributed environments

B – Intelligent Interaction

The projects on axis B address the complications of interaction with intelligent objects and spaces. They offer tangible interfaces as well as online systems that facilitate the creation of rich and meaningful experiences. One of the main objectives of axis B is to create the tools that are essential to the development of the projects from Axes A and C. Notable among these tools is a system for routing and sequencing of data streams and a media asset manager that can be replicated on different computers. The “Intelligent Interaction” axis includes the following projects:

B1 - Interfaces : Objects and environments
B2 - OSC Router-sequencer
B3 - Asset manager

C – Networked Experiences

The projects of Axis C address the complications of networking, collaboration/interaction at a distance and mixed reality where the transition from the physical to the virtual or augmented is fluid. The objective is to offer a platform for rapid prototyping of shared 3D worlds that enable immersive telepresence and interactivity. The result of this research and development translates to a wide variety of works that explore a new online space of representation and experience. This axis of development will produce applications with utility beyond the artistic sphere, in medicine, pedagogy, engineering and communication. The “Networked Experiences” axis includes the following projects:

C1 - Posture Platform for immersive telepresence
C2 - Augmented reality : Audio graffiti : Invisible.
C3 - SPIN Framework

External links:

 


Our free software policy

We provide our software projects under open source licenses in the spirit of creating bridges with other artists and research centers. We open the doors to collaboration in writing software and using free software for use in artistic creation and expression. Download it, try it, use it, share and modify it! It's our gift to the community.

If you make great works with some software we worked on, or started from the beginning, we would be quite happy to hear about it.

We believe in free / open source software because:

  • Collaborators can use, study and modify it. This means more people are testing and improving our software.
  • Free software can become easily available on free operating systems, like Debian GNU/Linux. It eases deployment.
  • It makes it possible to modify it for future needs, or future operating systems. That means that an artist's work that is made only with free software can possibly still work in the distant future.
  • Other developers are more inclined to help when we are working on free software.

Of course, we aim to make our software easy to use, but we first make software that works, and then improve it. Users can help developers to make our software better. (that is what an open living lab is)

 

Methodology of research-creation at the Metalab

The Metalab is SAT's laboratory of research and development. It is a place where researchers, software developers, interaction designers and industrial designers collaborate to create tools to help artists creating artworks.

The Metalab develops tools for artists in the fields of immersion, telepresence and interactivity. The SAT often invites artists to do residencies in which they are invited to use the tools developed at the SAT[Metalab]. When possible, the lab adjusts the objectives of the generic tools it makes to serve the needs of these artists. The lab's developers can provide support and training, and do generic innovative developement on the lab's tools, but their mandate is not to do the actual project integration for the specific needs of the artist's work.

The SAT's Metalab promotes the use of agile methodologies in its software development. Users and developers meets to discuss short-term objectives and readjust the targets according to what have been achieved in the previous one-month iteration.

For residencies, we should choose artists who would be willing to use the Metalab's tools in their work. This way, it helps us to meet the objectives of our research program. We should avoid project that would require heavy custom development, to help reduce extra costs.

 

Latest News

Invisible iOS 1.0.4 (2012-04-16)

Release version in the master branch
(merge from development version 0.9.43 Build 62)

  • Fix Facebook Login

Invisible iOS 1.0.3 (2012-04-04)

Release version in the master branch

  • Disable Facebook Button
  • Improvement in tracking
  • itunes / download buttons in Capture View
  • messages translations

Invisible iOS 1.0.2 (2012-03-29)

Release version in the master branch

  • 24548893 bug L'indicateur de chargement s'arrête de tourner avant l'apparition des objets
  • Aussi problème d'interruption / reprise lorsqu'on reçoit un appel (non enregistré dans Pivotal)

Tempi 0.1.12 (2012-03-29)

This release is a developer snapshot in the 0.1 series.

New features:

  • Support abstractions: [abs.abstraction], [abs.inlet], [abs.outlet]
  • New sampler node types: [sampler.read], [sample.write], [sampler.sample]
  • New string node types: [string.join], [string.characters], [string.split]
  • Rename [midi.send] to [midi.output] and [midi.receive] to [midi.input]
  • New MIDI nodes: [midi.{note,program}]
  • New OSC nodes: [osc.{prepend,route}]
  • New 3D node: [3d.angle]
  • New math node: [math.map]
  • Nodes can access the regions owned by their scheduler.
  • Add NameAllocator (not used yet)
  • New node types: [music.nearest.note], [music.monodic], [base.dict], [random.int], [random.drunk]
  • Base plugins are now dynamically loaded with Loader, a singleton.
  • New pads: call and return
  • Can get/set/list attributes via attr inlet/outlet

Bugs fixed:

  • Move plugins-base's tests and core's tests to their directory
  • Fix rst format output by utilities
  • Refactor math nodes using inheritance
  • New examples: oscreceive.xml, toonloop-music.xml, abs.xml, strings.xml
  • Dependencies not mandatory anymore: Clutter, liblo, GLib, spatosc

Known bugs:

  • Favours libraries from /usr/local/lib/, rather than ./ if present.

spinframework 0.3.12 (2012-03-07)

This release is in the development series 0.3.x that has an unstable API.

Bugs fixed:

  • Get rid of OSX-specific hack

spinframework 0.3.10 (2012-03-05)

This release is in the development series 0.3.x that has an unstable API.

New features:

  • added option of reading command line args from file: ~/.spinFramework/args
  • added initial PointCloud node
  • added GeometryNode
  • xcode project
  • SharedVideoTexture: allow set/get renderbin

Bugs fixed:

  • fixed boost linking for spinserver and spinviewer app
  • added missing boost libraries to Makefile.am
  • fixed texture loading for Ubuntu using OSG 3.0.1 from package (by specifying the correct plugin path)
  • added /usr/local/lib and /usr/local/lib64 to LDFLAGS to test on Ubuntu Precise
  • switched to new boost.m4 script
  • changed ifdefs in sharedvideonode to prevent errors if wrappers are generated in linux
  • set video textures to play by default
  • set OSG-specific library path in one_step_build.sh
  • delete SharedVideoNode
  • add Makefile.am for completion dir
  • fixed orbit example's Makefile
  • added boost-program-options library, since the newest python 2.6 on Lucid uses an updated libutil, which requires boost-program-options

Tempi 0.1.10 (2012-02-19)

This release is a developer snapshot in the 0.1 series.

New features:

  • Save and load Graph to and from XML.
  • Add examples: route.xml, counter.xml, etc.
  • New node types: [base.delay], [base.spigot], [base.route], [base.prepend], [base.append], [base.spatosc], [base.loadmess], [base.cast], [math.deg2rad]
  • New command-line tools: tempi-launch, tempi-inspect
  • Add methods to Node: removeOutlet, listInlets, listOutlets
  • Add NodeSignal (especially for when deleting a pad)
  • rename "attributes" inlet to "__attr__"
  • more doc for many nodes
  • Add abstract classes: Pad, NamedObject, DocumentedObject, NamedObjectMap
  • Add in utils: argumentToString, appendArgumentFromString, castMessage, isValidType
  • Add Logger with various log levels

Bugs fixed:

  • Fix calculation in ms <-> ns conversion
  • Fix timing in [base.metro]
  • Update license header to LGPL, as advertized
  • Make some libraries non-necessary: Clutter, GLib, spatosc

spinframework 0.3.4 (2012-01-13)

This release is in the development series 0.3.x that has an unstable API.

New features:

  • Enclose everything in the spin namespace
  • four-screen cube
  • dome distorsion to camera config files
  • Library renamed to libspin-0.3
  • add pkg-config file
  • update spatosc arguments, since spatosc takes OSC urls (ie, osc.udp://host:port) instead of host and port arguments separately
  • changed spinserver's txAddr to a list of addresses, so we can use multiple UDP unicast connections instead of multicast (important on wacky networks that don't permit multicast)
  • big restructuring of command-line arguments, allowing for manual override of everything
  • added command-line options for specifying the TCP port for both the client and server contexts
  • added camconfig .xml files
  • added TTL for multicast packets, and updated some wrappers
  • use cppintrospection 3.0
  • document ShapeNode, TextureStateSetFinder, spinApp, PointerNodeActionAdapter, NodeSearcher, Fog
  • removed ^M characters
  • list all spin nodes at startup
  • add Menu3D and AttractorNode
  • add some features to TextNode
  • added ReporterNode
  • added bounce and collide events for ConstraintsNode

Bugs fixed:

  • TIMECODE CHANGE: now using double precision milliseconds
  • fixed bug when compiling spin without spatosc
  • fixed autoconf macro for python so that it detects python 2.7 properly (Natty)
  • disallowed spinserver to start with automatic port if user manually specifies a port that is already taken. Instead, we quit with an error message
  • fixed nodelist sending to multiple clients (but only for UDP. Still need to fix TCPvi src/spin/spinApp.cpp )
  • fixed buffer accumulation bug with SharedVideoTexture (un-assigned textures were not updating, and thus, not eating frames)
  • using glibtool instead of libtool on OSX
  • fixed a few old osgIntrospection keyworkds
  • needed to set a function as an extern "C"
  • fixed memleak spinBaseContext
  • ignoring lighting for ShapeNodes with statesets
  • fixed test - not launching a listener
  • ensuring that QuatToEuler reports angles in range of -PI to PI
  • progress with signal handling for editor, and ported the TTL stuff from svn version of spin
  • more forward declaration
  • removed check for fmod
  • ViewerManipulator: fixed endless loop
  • fixed saving of statesets in xml, and moved towards proper .app bundles for OSX
  • Changed spinviewer to use pollUpdates() method, sharing a single thread with OSG
  • spinviewer::run should return 0
  • Use ports and addresses in spinDefaults. Update multicast group to 239.0.0.1

spatosc 0.3.0 (2012-01-12)

This release is a developer snapshot in the 0.3 unstable series.

This version contains new features and bug fixes.

New Features:

  • All OSC addresses are now specified in URL format (eg, osc.udp://localhost:18032). This has been done to allow for the use of multicast and TCP.
  • TCP sending has been successfully implemented and tested.
  • The old addTranslator methods have been improved, and the odd case for DmitriTranslator has been removed. Instead, there is are several overloaded helper functions in the Scene class (with wrapped method in Wrapper) to help add translators
  • The verbose flag has been removed as a constructor argument for translators, and is replaced with a setVerbose method.
  • Add Node::setRadius(...) A new 'radius' parameter is now available for sound sources, which defines the perceptual size of a source. There are no connection effects within this radius (ie, gain/delay/etc will be unity), and perceptual effects are only computed up to the radius' bound.
  • There are now global default values for distanceFactor, dopplerFactor, and rolloffFactor. These can be set for any future connections created in the scene, and a flag can be passed to update ALL current connections to use this new value.
  • add Wrapper::setPositionAED and use it in pd external
  • remove SoundSource::setMediaURI

Bug fixes:

  • connection parameters are forced to be computed and sent when the connection is first established

Tempi 0.1.8 (2012-01-12)

This release is a developer snapshot in the 0.1 series.

New features:

  • New node types: [math.+], [math.-], [math.<], [math.>], [math./], [math.*], [math.==], [math.!=]
  • New node types: [midi.route]
  • Allow non type-strict attributes
  • Rename properties to attributes
  • Rename sink to inlet, source to outlet
  • Add Message::prependMessage()
  • Remove node arguments: only attributes now.
  • Inlets and outlets are now named, not indexed.

logoMETALAB_100px.png (7.5 kB) Andrew Kozloski, 2012-04-20 17:55