# juce-framework/juce

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/juce-framework-juce).**

8,579 stars · 2,106 forks · C++ · NOASSERTION

## Links

- GitHub: https://github.com/juce-framework/JUCE
- Homepage: https://juce.com
- awesome-repositories: https://awesome-repositories.com/repository/juce-framework-juce.md

## Topics

`aax` `au` `audio` `audiounit` `auv3` `c-plus-plus` `cpp` `framework` `juce` `plugin` `vst` `vst3`

## Description

JUCE is a comprehensive C++ audio framework and digital signal processing library used to build cross-platform audio applications, audio plug-ins, and high-performance user interfaces. It serves as a development kit for creating audio processors compatible with industry-standard plugin formats for digital audio workstations, as well as a tool for MIDI and Open Sound Control communication between musical hardware and software.

The framework is distinguished by its ability to maintain a single codebase for native desktop and mobile applications across multiple operating systems. It provides a format-agnostic plugin wrapper that maps a common internal API to various industry-standard formats and utilizes a wrapper-based abstraction to unify platform-specific APIs.

Its capability surface covers real-time audio processing, frequency analysis, and wavetable synthesis, alongside a full suite of GUI tools for vector graphics, responsive layouts, and custom component skinning. Additional functional areas include audio device management, plugin hosting, application state organization with undo and redo management, and secure software authorization.

The project includes build configuration tools to generate project files and manage dependencies across different development environments.

## Tags

### Graphics & Multimedia

- [Plug-in Development](https://awesome-repositories.com/f/graphics-multimedia/audio-music/audio-processing/plug-in-development.md) — Provides a comprehensive toolkit for creating audio plug-ins compatible with industry-standard formats for DAWs. ([source](https://cdn.jsdelivr.net/gh/juce-framework/juce@master/README.md))
- [Audio Playback](https://awesome-repositories.com/f/graphics-multimedia/audio-music/audio-playback.md) — Reads and outputs audio data from common file formats using standard playback controls. ([source](https://juce.com/learn/tutorials))
- [Audio Plugin Architectures](https://awesome-repositories.com/f/graphics-multimedia/audio-music/audio-plugin-architectures.md) — Provides a comprehensive framework and interfaces for developing audio plugins compatible with industry-standard DAW formats.
- [Audio Processing](https://awesome-repositories.com/f/graphics-multimedia/audio-music/audio-processing.md) — Manipulates digital audio streams using buffers and oscillators while maintaining low-latency performance. ([source](https://juce.com/learn/course/))
- [Sample-Based Buffer Callbacks](https://awesome-repositories.com/f/graphics-multimedia/audio-music/audio-processing/asynchronous-callbacks/sample-based-buffer-callbacks.md) — Implements audio processing using discrete blocks of samples via buffer callbacks to ensure low latency.
- [Plug-in Hosting](https://awesome-repositories.com/f/graphics-multimedia/audio-music/audio-processing/plug-in-hosting.md) — JUCE enables the development of applications that load and host external audio plug-ins for signal processing and playback. ([source](https://cdn.jsdelivr.net/gh/juce-framework/juce@master/README.md))
- [Audio Synthesis](https://awesome-repositories.com/f/graphics-multimedia/media-processing-analysis/audio-processing-systems/audio-synthesis.md) — Generates musical tones and sounds using sine waves, wavetables, and polyphonic synthesis methods. ([source](https://juce.com/learn/tutorials))
- [Music Software Engineering](https://awesome-repositories.com/f/graphics-multimedia/music-software-engineering.md) — Handles MIDI data, synthesizes audio, and manages audio hardware configurations for music software applications.
- [Audio Graph Routing](https://awesome-repositories.com/f/graphics-multimedia/audio-graph-routing.md) — Connects multiple audio processors in a signal graph to create complex and routed audio paths. ([source](https://juce.com/learn/tutorials))
- [SIMD Optimizations](https://awesome-repositories.com/f/graphics-multimedia/audio-music/audio-processing/simd-optimizations.md) — Provides SIMD-accelerated math operations to increase processing efficiency for heavy audio workloads. ([source](https://juce.com/learn/tutorials))
- [Audio Sample Looping](https://awesome-repositories.com/f/graphics-multimedia/audio-sample-looping.md) — Provides capabilities to play and repeat audio stored in memory buffers for sampling and rhythmic applications. ([source](https://juce.com/learn/tutorials))
- [Shape Drawing](https://awesome-repositories.com/f/graphics-multimedia/graphics-and-media/shape-drawing.md) — Enables the definition and rendering of custom geometric shapes and coordinate-based visual elements. ([source](https://juce.com/tutorials/tutorial_look_and_feel_customisation/))
- [Audio Waveform Renderers](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/engines/canvas-vector-graphics/canvas-rendering-engines/audio-waveform-renderers.md) — Renders graphical representations of audio file waveforms for visual editing. ([source](https://juce.com/learn/tutorials))
- [Sample-Accurate Automation](https://awesome-repositories.com/f/graphics-multimedia/sample-accurate-automation.md) — JUCE allows writing automation data at the individual sample level during audio block processing for precise transitions. ([source](https://juce.com/blog/juce-roadmap-update-q3-2025/))
- [Spectrum Analyzers](https://awesome-repositories.com/f/graphics-multimedia/visualization-mapping/heat-map-generators/audio-frequency-heat-maps/spectrum-analyzers.md) — Converts audio signals into visual spectrograms or spectrum analyzers using fast Fourier transforms. ([source](https://juce.com/learn/tutorials))
- [Wavetable Synthesis](https://awesome-repositories.com/f/graphics-multimedia/wavetable-synthesis.md) — Produces oscillators using pre-filled look-up tables and linear interpolation to reduce computational costs. ([source](https://juce.com/tutorials/tutorial_wavetable_synth/))

### Operating Systems & Systems Programming

- [Cross-Platform Frameworks](https://awesome-repositories.com/f/operating-systems-systems-programming/desktop-environment-frameworks/desktop-environment-components/desktop-application-development/cross-platform-frameworks.md) — Provides a framework to create native desktop and mobile applications across multiple operating systems from a single codebase. ([source](https://cdn.jsdelivr.net/gh/juce-framework/juce@master/README.md))
- [Audio Hardware Management](https://awesome-repositories.com/f/operating-systems-systems-programming/audio-hardware-management.md) — Manages audio hardware settings across different operating systems to ensure consistent device connectivity. ([source](https://juce.com/learn/tutorials))
- [Plug-in Parameter Management](https://awesome-repositories.com/f/operating-systems-systems-programming/input-and-audio-management/plug-in-parameter-management.md) — Handles numeric, boolean, and selectable inputs for plugins with support for value smoothing and state persistence. ([source](https://juce.com/learn/course/))

### Software Engineering & Architecture

- [Audio Processing Libraries](https://awesome-repositories.com/f/software-engineering-architecture/application-frameworks/audio-processing-libraries.md) — Provides a comprehensive C++ library for the generation, analysis, and manipulation of digital sound and music data.
- [UI State Change Notifications](https://awesome-repositories.com/f/software-engineering-architecture/architectural-design-patterns/state-management/reactive-subscription-systems/state-change-subscriptions/state-change-broadcasting/ui-state-change-notifications.md) — Triggers callbacks and notifies listeners when user interface state variables, such as slider values, transition. ([source](https://juce.com/tutorials/tutorial_slider_values/))
- [Plugin Format Adapters](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/extensibility/plugin-architectures/plugin-format-adapters.md) — Maps a common internal API to multiple industry-standard plugin formats for compatibility across different host applications.
- [Platform Abstraction Layers](https://awesome-repositories.com/f/software-engineering-architecture/platform-abstraction-layers.md) — Wraps platform-specific APIs in a unified C++ interface to enable a single codebase for multiple operating systems.
- [Audio Plugin Hosting](https://awesome-repositories.com/f/software-engineering-architecture/plugin-execution-engines/audio-plugin-hosting.md) — Provides the environment necessary to load and manage external audio plug-ins for signal processing and playback.
- [Plugin State Management](https://awesome-repositories.com/f/software-engineering-architecture/plugin-state-management.md) — Defines automation parameters and stores internal settings to preserve the state of an audio plug-in. ([source](https://juce.com/learn/tutorials))
- [Event Listeners](https://awesome-repositories.com/f/software-engineering-architecture/event-listeners.md) — Uses a broadcaster and listener pattern to decouple user interface components from data processing logic.
- [Undo-Redo Management](https://awesome-repositories.com/f/software-engineering-architecture/undo-redo-management.md) — Provides a system for managing editing timelines and restoring previous application states through reversible actions. ([source](https://juce.com/tutorials/tutorial_undo_manager_value_tree/))

### Development Tools & Productivity

- [Cross-Platform and Native Compilation](https://awesome-repositories.com/f/development-tools-productivity/build-tooling/cross-platform-native-compilation.md) — Compiles a single codebase for multiple desktop and mobile operating systems and diverse plugin formats. ([source](https://juce.com/learn/course/))
- [Cross-Platform Build Targets](https://awesome-repositories.com/f/development-tools-productivity/cross-platform-build-targets.md) — Provides configurations for packaging applications for target platforms including Windows Arm, Linux, and embedded hardware. ([source](https://juce.com/blog/juce-roadmap-update-q3-2025/))

### Game Development

- [2D Graphics Frameworks](https://awesome-repositories.com/f/game-development/game-engines-frameworks/2d-engines/2d-graphics-frameworks.md) — Provides a framework for rendering 2D geometric shapes, text, and colors using hardware-accelerated primitives and OpenGL. ([source](https://juce.com/learn/tutorials))

### Hardware & IoT

- [MIDI and OSC Interfaces](https://awesome-repositories.com/f/hardware-iot/integration-performance/hardware-interfacing-integration/hardware-interfacing/midi-and-osc-interfaces.md) — Provides interfaces for sending and receiving interaction data using the Open Sound Control protocol. ([source](https://juce.com/learn/tutorials))
- [MIDI Processing Engines](https://awesome-repositories.com/f/hardware-iot/integration-performance/hardware-interfacing-integration/hardware-interfacing/midi-and-osc-interfaces/midi-processing-engines.md) — Processes MIDI events to control external hardware synthesizers or respond to virtual keyboard inputs. ([source](https://juce.com/learn/tutorials))

### Mobile Development

- [Cross-Platform Application Development](https://awesome-repositories.com/f/mobile-development/cross-platform-application-development.md) — Enables building native desktop and mobile applications from a single codebase across multiple operating systems.

### Scientific & Mathematical Computing

- [Signal Processing](https://awesome-repositories.com/f/scientific-mathematical-computing/data-modeling-processing/signal-processing.md) — Manipulates audio signals using techniques like convolution, fast Fourier transforms, and real-time buffer processing.
- [Digital Signal Processing Libraries](https://awesome-repositories.com/f/scientific-mathematical-computing/data-modeling-processing/signal-processing/digital-signal-processing-libraries.md) — Manipulates audio signals through digital processing techniques such as waveshaping, convolution, and delay lines. ([source](https://juce.com/learn/tutorials))

### User Interface & Experience

- [Cross-Platform GUI Toolkits](https://awesome-repositories.com/f/user-interface-experience/cross-platform-gui-toolkits.md) — Enables the creation of high-performance graphical user interfaces across multiple desktop and mobile operating systems from a single codebase.
- [Custom GUI Frameworks](https://awesome-repositories.com/f/user-interface-experience/custom-gui-frameworks.md) — Provides tools for designing interactive user interfaces with vector graphics, responsive layouts, and tailored visual components.
- [GUI Composition Frameworks](https://awesome-repositories.com/f/user-interface-experience/gui-composition-frameworks.md) — Builds interactive visual layers using customizable widgets and themes that communicate with the processing engine. ([source](https://juce.com/learn/course/))
- [UI Event Coordination Systems](https://awesome-repositories.com/f/user-interface-experience/ui-event-coordination-systems.md) — Connects disparate GUI elements using listeners and broadcasters to enable interactive behavior. ([source](https://juce.com/learn/tutorials))
- [Vector Graphics Rendering](https://awesome-repositories.com/f/user-interface-experience/vector-graphics-rendering.md) — Provides a rendering engine that parses SVG data to create scalable vector graphics for user interfaces. ([source](https://juce.com/blog/juce-roadmap-update-q3-2025/))
- [Centralized Styling Systems](https://awesome-repositories.com/f/user-interface-experience/centralized-styling-systems.md) — Provides a centralized system to manage colors and drawing logic for consistent look and feel across all UI elements. ([source](https://juce.com/tutorials/tutorial_look_and_feel_customisation/))
- [View Hierarchies](https://awesome-repositories.com/f/user-interface-experience/composition-hierarchies/view-hierarchy-composition/view-hierarchies.md) — Organizes user interface elements in a parent-child tree structure for rendering and input propagation.
- [Web-Based UI Frameworks](https://awesome-repositories.com/f/user-interface-experience/mobile-web-integration/web-application-integration/web-based-ui-frameworks.md) — Integrates web frameworks and standard HTML, CSS, and JavaScript to create the visual interface of the application. ([source](https://juce.com/category/blog/))
- [Responsive Layout Systems](https://awesome-repositories.com/f/user-interface-experience/responsive-layout-systems.md) — Implements adaptive user interfaces using FlexBox and Grid systems to support various screen sizes. ([source](https://juce.com/learn/tutorials))
- [Slider Components](https://awesome-repositories.com/f/user-interface-experience/slider-components.md) — Provides specialized slider components for range selection with support for linear and logarithmic mapping. ([source](https://juce.com/tutorials/tutorial_slider_values/))
- [Skinning Engines](https://awesome-repositories.com/f/user-interface-experience/xml-layout-definitions/skinning-engines.md) — Implements a skinning engine that allows tailored visual styles for buttons, sliders, and other UI components. ([source](https://juce.com/learn/tutorials))

### Data & Databases

- [Application State Management](https://awesome-repositories.com/f/data-databases/application-state-management.md) — Organizes application data using a tree structure to manage and synchronize state across the application. ([source](https://juce.com/learn/tutorials))
- [SIMD-Accelerated Arithmetic](https://awesome-repositories.com/f/data-databases/vectorized-arithmetic/simd-accelerated-arithmetic.md) — Employs SIMD vector instructions to perform parallel calculations on audio buffers for higher efficiency.

### Security & Cryptography

- [Access Control and Authorization](https://awesome-repositories.com/f/security-cryptography/identity-access-management/authentication-strategies/authorization-and-user-administration/access-control-authorization.md) — Implements mechanisms to restrict software functionality until an online registration and authorization process is completed. ([source](https://juce.com/learn/tutorials))

### Part of an Awesome List

- [Audio and Animation](https://awesome-repositories.com/f/awesome-lists/media/audio-and-animation.md) — Framework for multi-platform audio applications.
- [Media & Communication](https://awesome-repositories.com/f/awesome-lists/media/media-communication.md) — Framework for audio and desktop applications
