Convert Figma logo to code with AI

ossia logoscore

ossia score, an interactive sequencer for the intermedia arts

1,812
112
1,812
421

Top Related Projects

2,098

C++ Audio Plug-in Framework for desktop, mobile and web

An audio server, programming language, and IDE for sound synthesis and algorithmic composition.

Quick Overview

ossia score is an open-source intermedia sequencer for audio-visual artists. It allows for the creation and execution of interactive scenarios, combining various media types such as audio, video, and control data. The software provides a visual interface for designing complex, time-based projects with a focus on real-time performance and interactivity.

Pros

  • Highly flexible and customizable for diverse multimedia projects
  • Supports a wide range of protocols and integrations (MIDI, OSC, DMX, etc.)
  • Open-source and actively maintained by a community of developers
  • Cross-platform compatibility (Windows, macOS, Linux)

Cons

  • Steep learning curve for beginners due to its complex features
  • Limited documentation compared to some commercial alternatives
  • May require additional plugins or extensions for specific use cases
  • Performance can be resource-intensive for complex projects

Getting Started

To get started with ossia score:

  1. Download the latest version from the official website: https://ossia.io/
  2. Install the software on your system
  3. Launch ossia score
  4. Create a new project by clicking "File" > "New"
  5. Add devices and processes to your scenario using the toolbar
  6. Connect and arrange elements in the timeline
  7. Press the play button to execute your scenario

For more detailed instructions and tutorials, visit the official documentation: https://ossia.io/score/docs/

Competitor Comparisons

2,098

C++ Audio Plug-in Framework for desktop, mobile and web

Pros of iPlug2

  • Focused on audio plugin development, providing a streamlined framework for VST, AU, and AAX formats
  • Extensive cross-platform support, including iOS and Web Audio
  • Large community and ecosystem with numerous examples and extensions

Cons of iPlug2

  • Steeper learning curve, especially for those new to C++ and audio programming
  • Less integrated visual programming capabilities compared to Score
  • More limited in scope for general-purpose interactive scenarios

Code Comparison

Score (Python-like scripting):

@qml_process
def my_process(self, position):
    self.outputs[0] = math.sin(2 * math.pi * 440 * position)

iPlug2 (C++):

void MyPlugin::ProcessBlock(sample** inputs, sample** outputs, int nFrames)
{
  for (int s = 0; s < nFrames; s++) {
    outputs[0][s] = sin(2 * M_PI * 440 * s / GetSampleRate());
  }
}

Score offers a more accessible scripting approach, while iPlug2 provides lower-level control for audio processing. Score is geared towards interactive multimedia scenarios, whereas iPlug2 specializes in audio plugin development with a focus on performance and compatibility across various plugin formats.

An audio server, programming language, and IDE for sound synthesis and algorithmic composition.

Pros of SuperCollider

  • More mature and established project with a larger community
  • Powerful and flexible audio synthesis capabilities
  • Extensive documentation and learning resources available

Cons of SuperCollider

  • Steeper learning curve due to its text-based programming approach
  • Less intuitive for visual-oriented users compared to Score's GUI
  • Can be more challenging for real-time interactive performances

Code Comparison

SuperCollider:

SynthDef("sine", { |freq = 440, amp = 0.1, gate = 1|
    var sig = SinOsc.ar(freq) * amp * EnvGen.kr(Env.asr, gate, doneAction: 2);
    Out.ar(0, sig ! 2);
}).add;

Score:

struct Sine : public Node
{
  OSSIA_NODE_METADATA("Sine", "audio")
  void run(const ossia::token_request& t, ossia::exec_state_facade e) override
  {
    auto& out = e.get_audio_out(Metadata::Audio::Out);
    for(int i = 0; i < out.channels(); i++)
      for(int j = 0; j < out.samples(); j++)
        out[i][j] = std::sin(2. * M_PI * m_phase++);
  }
  double m_phase{};
};

This comparison highlights the different approaches to audio synthesis in SuperCollider and Score. SuperCollider uses a concise, domain-specific language for defining synths, while Score employs C++ with a more object-oriented structure.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Financial Contributors on Open Collective Discord join the chat at https://gitter.im/ossia/score Downloads Version OpenHub

ossia score is a sequencer for audio-visual artists, designed to create interactive shows.

Sequence OSC, MIDI, DMX, sound, video and more, between multiple software and hardware. Create interactive and intermedia scores, script and live-code with JavaScript, ISF Shaders, Faust, PureData or C++. Leverage IoT protocols such as CoAP or MQTT, interact with joysticks, Wiimotes, Leapmotions, Web APIs and BLE sensors and integrate programs from a wealth of creative programming languages such as Structure Synth, Context-Free Art and Bytebeat. Load any kind of audio or video format and process visuals through Spout, Syphon, NDI, Shmdata or Sh4lt ; sonify large datasets with CSV and HDF5 support.

Free, open source and runs on desktop, mobile, web and embedded, down to Raspberry Pi Zero 2.

Read more on https://ossia.io, come ask questions on the forum or hang out in our Discord or Matrix room #ossia_score:gitter.im, we will be happy to help you !

Quick download links: latest official release / bleeding edge

ossia score screenshot

Running ossia score

Releases are available for Windows, Linux (via AppImage) and macOS.

  • Windows: install and run.
  • macOS: open the .dmg and drop ossia score.app in Applications.
  • Linux: make executable (right click -> permissions or chmod +x) and run the AppImage.

Build status

PlatformStatus
AppImage (x86-64 & AArch64)AppImage
Flatpak (x86-64 & AArch64)Flatpak
NixNix
ArchLinux, SUSE, FedoraLinux distros
Debian (Bookworm, Trixie)Debian
Ubuntu (22.04, 24.04, 24.10)Ubuntu
macOS (M1 & Intel)macOS
Windows (MSYS2, MSVC 2022)Windows
FreeBSDBSD
WebAssemblyWASM
Plug-in templatesTemplate check

ossia score uses CppDepend to ensure consistent code quality improvements ; please check it out !

In order to build score, follow the documentation.

Packaging status

Packaging status

Contributing

When updating the score repository through the command line, don't forget to update the submodules, they change often.

cd score
git pull
git submodule update --init --recursive

Some useful and easy potential contributions are listed on the website.

There are also many fixable areas in the code :

  • TODO : for simple issues.
  • FIXME : for critical bugs / problems.
  • MOVEME : when something is not where it should be.
  • REMOVEME : when something is redundant.
  • RENAMEME : when the class does not match with the file it's in.
  • OPTIMIZEME : when an easy-to-write-but-suboptimal algorithm is used.

Finally, one can write its own score plug-ins to add custom features to the software. An example plug-in with the most common classes reimplemented is provided here.

Contributors

Code Contributors

This project exists thanks to all the people who contribute. [Contribute].

Financial Contributors

Become a financial contributor and help us sustain our community. [Contribute]

Individuals

Organizations

Support this project with your organization. Your logo will show up here with a link to your website. [Contribute]