v1.15.0

facebookresearch/omnilingual-asrv1.15.0Jul 23, 2026by github-actions[bot]

AI Summary

Adds two new visualization effects (Panorama and Ascend) and introduces per-band audio panning to allow frequency-specific stereo positioning.

Key Highlights

  • New effect: Panorama visualizes the stereo field as a map.
  • New effect: Ascend tracks brightness rather than volume.
  • New feature: Per-band pan for 7 frequency bands.
  • Shader ABI updated (requires recompiling custom shaders).

Breaking Changes

  • Shader ABI updated (uniforms size increased from 896 to 944 bytes; effect uniforms from 400 to 432 bytes).

New Features

  • Panorama stereo visualization
  • Ascend brightness-tracking horizon
  • Per-band audio panning

Full Release Notes


### Added
- **New effect: Panorama — the stereo field as a picture** — the screen becomes a map of the mix: horizontal is where a sound sits between your speakers, vertical is its pitch. A centred kick anchors the bottom while hats and reverb tails fan out to the edges, the cloud bends left and right as the image moves, and a mono mix collapses it to a single column. Nothing else in the app shows you the stereo image.
- **New effect: Ascend — a horizon that tracks brightness, not volume** — cymbal swells lift the field skyward and sub-heavy passages sink it, so it keeps moving through a passage that holds a steady level. A pure tone draws it taut; noise inflates it into drifting haze. Built to layer underneath another effect as a ground plane.
- **Per-band pan — seven new audio sources for where each frequency sits in the stereo image** — the existing `pan` collapses the whole mix to one number, so a centred kick under wide hi-hats read the same as a mono track. Each of the seven bands now reports its own position, bindable from the matrix and emitted on `/phosphor/audio/band_pan/*`. A band carrying no energy reads centred rather than drifting. Costs one extra FFT per hop, since both channels come out of a single transform.

### Changed
- **Shader ABI: particle uniforms 896 → 944 bytes, effect uniforms 400 → 432 bytes** — both gain `band_pan` (7 bands + 1 pad, read with `band_pan(i)`), and particle sims additionally gain `pan`, `stereo_width` and `stereo_corr`, which fragment shaders have had since v1.9.0 but no particle sim could reach. Both blocks are appended, so every existing field keeps its offset: custom shaders need recompiling, not editing.

## Downloads

| Platform | File | Notes |
|----------|------|-------|
| **macOS** | `.dmg` | Universal binary (Apple Silicon + Intel) |
| **Linux x86_64** | `.tar.gz` | glibc 2.35+ (Ubuntu 22.04+, Debian 12+) |
| **Windows x64** | `.zip` | Windows 10+ |

## Getting started

**macOS**: Open the DMG, drag Fosfora.app to Applications (or run directly). Signed and notarized.

**Linux / Windows**: Extract, run `fosfora` from the extracted directory. The `assets/` folder must be next to the binary.

## Requirements

- **GPU**: Vulkan (Linux/Windows) or Metal (macOS)
- **Audio**: Built-in mic or line-in for audio-reactive visuals
- **NDI®** (optional): [NDI® SDK runtime](https://ndi.video) for network video output
- **Video playback** (optional): `ffmpeg` on PATH for media layers

---
NDI® is a registered trademark of Vizrt NDI AB.