NAP
NAP Framework

Description

NAP framework is an open source, low overhead, real-time control & visualization plaform. Create fast, modular and (above all) stable applications to interact with the world around you.

Use any protocol (OSC, MIDI, Artnet, WebSocket etc) in combination with a 3D graphics and sound engine to create real-time content that is transmitted to any device you like. NAP is built to scale up to a large number of input and output devices: many displays, many lights, many speakers, many sensors, many servos.

NAP's design is intended to be as open as possible: there is little fixed functionality, but there are a lot of useful blocks that can be tied together by a user to create the experience you desire. As a user, you can build new blocks yourself and throw them in the mix to fulfill your creative vision. To push creativity, NAP is built to provide extremely fast iteration times.

Central to NAP are some key philosophies:

  • NAP is completely data driven
  • NAP is heavily influenced by modern game engine design, with one exception:
  • NAP does not dictate any sort of pipeline, you decide how you render, couple devices and create sound etc.
  • NAP applications are lean and mean, only package and ship what you actually use
  • NAP is easy to extend: build your own modules, resources, devices and components
  • NAP wants you to be safe and validates data for you
  • NAP is responsive: hot-load content changes directly in to the running app
  • NAP is completely cross-platform and supports all modern desktop environments
  • NAP app content can be edited using an editor

Features

NAP Framework ships with many useful modules, including: a Vulkan 2D/3D render engine, an audio engine for music playback, recording and analysis, a data sequencer, an editor to author application content, a system for creating and loading presets, a video player powered by FFmpeg and a Python programming interface.

NAP also has built in support for many common protocols and standards, including: WebSocket, MIDI, OSC, Artnet, Serial, EtherCAT, OpenCV, SQLite and many others. NAP has been battle tested in production for years. For more information about NAP, how it is commonly used and what it can do for you, visit the napframework website.

Vulkan_White_170px_Dec16.png

Why

Projects are growing in scope. Therefore the need for stable and performant software is increasing. Software needs to run for years without having to string together multiple applications or environments. To meet expectations NAP offers you a set of handles to tackle the most demanding creative problems.

Links

Pre-compiled NAP packages and source-code available on Github and napframework.com