Skip to content

Latest commit

 

History

History
65 lines (45 loc) · 3.29 KB

01.introduction.md

File metadata and controls

65 lines (45 loc) · 3.29 KB

Introduction

What is Heavy?

Heavy is a framework for easily generating audio plugins for use in interactive sound and music applications such games, instruments or installations.

It aims to reduce the dependency on low-level programming from a creative standpoint and bridge the gap from idea to production-ready implementation.

Heavy makes use of modern software principles to generate highly optimised C/C++ code specifically targeting a wide variety of popular hardware architectures and software frameworks. It can also automatically build plugin binaries for these platforms.

Supported Patch Formats

Currently Heavy supports compiling Pure Data (.pd) patch files.

However it's important to note that Pd is merely used as a front-end authoring editor, Heavy does not make use of any Pure Data code, and it is entirely unrelated to the embeddable Pd engine, libpd.

What is Pure Data?

Pure Data (Pd) is an open source visual programming environment for real-time time audio and music creation.

Heavy can interpret and convert a subset of features from Pure Data patches:

Supported Platforms

  • Windows 8, 10 and WSA
  • Mac OSX
  • Linux
  • PS4
  • Xbox One
  • iOS
  • Android
  • Bela
  • Hoxton OWL
  • Daisy
  • Raspberry Pi
  • Web (Javascript)

Supported Frameworks

Optimisations

Heavy-generated code comes pre-optimised for architectures that can take advantage of AVX, SSE or NEON instructions. For more bespoke platforms, Heavy also provides a basic implementation supporting single sample block sizes.

Licensing

In general hvcc is free to use, though please be aware of the following licences applied to particular parts of the system.

All the hvcc python compiler code is GPLv3.

The files that hvcc generates are split into two types:

  • Static: this code is independent of the input patch contents and provides the basic DSP functionality with which generated output can link against. It has a BSD licence.

  • Generated: this relates to all the source files that use information about the input patch, for example Heavy_{{name}}.cpp. By default all these files will have a Copyright (c) 2018 Enzien Audio, Ltd header, but this can be modified with the user copyright argument.

How to start patching for heavy

See the Getting started page on more information about how to construct compatible pure data patches.