Python library v0.2.2

Audio processing.
Expressed in Python.

From the first sample to the final feature.
Record, transform, and analyze sound with a consistent tensor API.

Terminal
python -m pip install phonotensor
Python 3.11+ / NumPy-based / Windows · macOS · Linux
A signal. A tensor. A possibility.01 — 03
01 / INPUT

Sound comes in.

audio.shape → (88200, 1)
02 / TRANSFORM

Ideas take shape.

ops.lowpass(audio, 2000)ops.normalize(audio, 0.8)ops.stft(audio)
samples → frames × bins
03 / ANALYZE

Patterns emerge.

FeatureTensor → NumPy
An illustration of the workflow No audio is recorded in your browser
A SMALLER GAP BETWEEN IDEA AND SIGNAL

One vocabulary for your audio.

Keep sample rates, channels, and features in view as your workflow grows.

Bring your audio

Read files, capture a microphone, or generate a signal. Work with one consistent AudioTensor representation.

WAV · FLAC · OGG · optional MP3

Shape the signal

Compose filters, fades, edits, mixing, and resampling with ordinary Python functions.

NumPy arrays · explicit sample rates

Find the features

Move from samples to spectra, mel features, and MFCCs, with frame metadata carried alongside the data.

STFT · mel spectrograms · MFCC
LESS SETUP. MORE EXPLORING.

Your first signal,
in a few lines.

Generate a tone, soften its edges, and save a file. Start without a microphone, then bring in your own audio.

Follow the quickstart
AudioTensor Plain Python
Python
from phonotensor import FileIO, ops

# Create a two-second tone. No microphone needed.
audio = ops.sine(440, duration=2.0, amplitude=0.25)
audio = ops.fade_in(audio, duration=0.02)
audio = ops.fade_out(audio, duration=0.1)

FileIO.write(audio, "tone.wav")
print(audio.shape)  # (88200, 1)
print(audio.sample_rate)  # 44100
BUILT BY EMBERFLOCK LABS

Make something worth hearing.

Installation guides, practical examples, and the API—ready when you are.

Read the documentation