Features Overview

Complete guide to Ozen-web capabilities

Introduction

Ozen-web is a browser-based tool for acoustic analysis and annotation. This page provides an overview of all major features with links to detailed documentation.

Core Features

Audio Loading & Recording

Load audio from multiple sources:

  • Drag & drop audio files (WAV, FLAC, MP3, OGG)
  • File picker dialog
  • Microphone recording with real-time visualization
  • Remote URL loading (CORS-enabled)
  • Data URL embedding for self-contained iframes

See: Getting Started Guide

Visualization

Waveform Display:

  • Amplitude visualization
  • Synchronized with spectrogram
  • Responsive to zoom and pan
  • Downsampling for long file processing (until zoom)

Spectrogram Display:

  • Praat-style grayscale spectrogram
  • Adjustable frequency range (5/7.5/10 kHz)
  • Dynamic resolution enhancement when zoomed
  • Cached rendering for smooth performance

See: Spectrogram Documentation | Waveform Documentation

Main interface overview

Acoustic Analysis

Ozen-web provides acoustic measurements using Praat-compatible algorithms:

Available overlays:

Feature Description
Pitch (F0) Fundamental frequency tracking
Formants (F1-F4) Resonance frequencies
Intensity Sound pressure level
HNR Harmonics-to-Noise Ratio
CoG Spectral Center of Gravity
Spectral Tilt High/low frequency balance
A1-P0 Harmonic amplitude measure

All measurements are computed using praatfan WebAssembly.

See: Acoustic Overlays Documentation | Tutorial: Acoustic Analysis

Spectrogram with all acoustic overlays

Annotations

Multi-tier TextGrid-compatible annotation system:

  • Create unlimited annotation tiers
  • Add, move, and remove boundaries
  • Edit interval labels with keyboard shortcuts
  • Boundary snapping between tiers
  • Full Praat TextGrid import/export (both short and long formats)
  • Interval and point tier support

Efficient workflow:

  • Double-click to add boundaries
  • Drag to adjust timing
  • Right-click context menus
  • Keyboard shortcuts for tier selection (1-5 keys)
  • Unified undo/redo (Ctrl+Z / Ctrl+Y)

See: Annotations Documentation | Tutorial: Annotations

Multi-tier annotation example

Data Points

Point-and-click acoustic measurement collection:

Data points allow collecting comprehensive acoustic measurements at specific time/frequency locations:

Features:

  • Double-click on spectrogram to add points
  • Automatic capture of all acoustic values (F0, F1-F4, intensity, HNR, etc.)
  • Inherits labels from ALL annotation tiers at that time
  • Drag to adjust position
  • Export to TSV for statistical analysis
  • Import TSV to restore data points

Export format (TSV):

time    freq    pitch   f1  f2  f3  f4  intensity   phones  words
0.234   1500    156 678 1234    2890    3654    72  i   see
0.567   1200    234 543 987 2567    3234    68  u   two

Perfect for building datasets for R, Python, SPSS, or Excel analysis.

See: Data Points Documentation | Tutorial: Data Collection

Data points on spectrogram

Audio Playback

Flexible playback controls:

  • Play selected region (Space key)
  • Play visible window (Tab key)
  • Play from cursor to end
  • Real-time cursor tracking during playback
  • Pause and resume
  • Stop and deselect (Escape key)

See: Audio Playback Documentation

Mobile Viewer

Touch-optimized interface at /viewer route:

  • Touch gestures:
    • Tap → Place cursor
    • Drag → Select region
    • Two-finger drag → Pan view
    • Pinch → Zoom in/out
    • Long-press → Copy selected position visible properties
  • Compact layout for small screens
  • Landscape mode optimization
  • Safe area support for notched phones
  • Settings drawer for overlay toggles
  • Floating play button
  • URL parameters for pre-configuration

Embedding support:

  • Iframe-compatible
  • Pre-load audio via ?audio= parameter
  • Configure overlays via ?overlays= parameter
  • CORS-enabled remote loading
  • Data URL support for self-contained embeds

See: Mobile Viewer Documentation | Embedding Guide

Mobile viewer in landscape mode

Advanced Features

Long Audio Handling

For files >60 seconds:

Ozen-web uses an intelligent on-demand analysis strategy to prevent UI freezing:

  1. On load: Waveform displays immediately, spectrogram shows “Zoom in for spectrogram”
  2. When zoomed: Analysis runs for visible window only (≤60s)
  3. On-demand: Results update automatically as you pan/zoom
  4. Debounced: 300ms delay prevents excessive recomputation

This allows working with arbitrarily long recordings (hours of audio) while maintaining responsive UI.

Why 60 seconds?

  • Browser memory constraints
  • Real-time user experience (analysis must complete in <1s)
  • Balance between convenience and performance

See: Getting Started: Troubleshooting

Multiple WASM Backends

Choose from multiple acoustic analysis backends:

Backend Source License Offline
praatfan-local Bundled (static/wasm/) MIT/Apache-2.0 ✅ Yes
praatfan GitHub Pages CDN MIT/Apache-2.0 ❌ No
praatfan-gpl GitHub Pages CDN GPL ❌ No

Praatfan-local and praatfan are identical, and approximate praatfan-gpl, which was built to be very similar to Praat. Select via dropdown in the app interface.

See: WASM Backends Reference

Configuration

Customize via config.yaml:

# Example configuration
backend: "praatfan-local"
maxFrequency: 5000
showPitch: true
showFormants: true
theme: "dark"

# Pitch settings
pitchFloor: 75
pitchCeiling: 600

# Formant settings
maxFormants: 5
maxFormantFrequency: 5500

# Colors
pitchColor: "#0000FF"
formantColor: "#FF0000"

See: Configuration Reference

Unified Undo/Redo

Single undo stack for all editable operations:

  • Adding/removing/moving boundaries
  • Editing interval labels
  • Adding/removing/moving data points
  • Chronological order across all operation types

Keyboard shortcuts:

  • Ctrl+Z (Cmd+Z on Mac) — Undo
  • Ctrl+Y or Ctrl+Shift+Z — Redo

Non-undoable operations (by design):

  • Adding/removing tiers
  • Loading audio/TextGrid files

See: Tutorial: Annotations

Platform Features

Offline & PWA Support

Works completely offline:

  • All processing happens locally in browser
  • No data uploaded to servers
  • After initial load, works without internet (with local backend)
  • PWA-ready with app icons for home screen installation

Browser Compatibility

Should work as well on all modern browsers

Requirements:

  • WebAssembly support
  • Web Audio API
  • Canvas API
  • ES6 modules

Privacy

100% local processing:

  • Audio never leaves your browser
  • No analytics or tracking
  • No server-side processing

File Format Support

Import Formats

Format Extension Notes
Audio .wav, .flac, .mp3, .ogg Could be browser-dependent
TextGrid .TextGrid Both short and long formats
Data Points .tsv Tab-separated values
Configuration .yaml Optional app configuration

Export Formats

Format Content Use Case
TextGrid Annotations (all tiers) Praat, R, Python
TSV Data points + acoustic values Statistical analysis
WAV Audio (16-bit PCM) Save recordings, share clips

See: File Formats Reference

Use Cases

Research:

  • Vowel formant analysis (F1/F2 plots)
  • Pitch contour studies (intonation, tone)
  • Voice quality assessment (HNR, spectral tilt)
  • Consonant acoustics (VOT, CoG, duration)

Teaching:

  • Embed interactive spectrograms in lecture slides
  • Quarto/R Markdown integration
  • No software installation required for students
  • Interactive demonstrations

Next Steps

New users:

Specific features:

Reference:

Development:

Back to top