KinoPhonograph

KinoPhonograph is a helper module for rendering 1D and 2D Nx.Tensor audio signals as wave forms in Livebook.

Installation

kino_phonograph

In Livebook add kino_phonograph to your dependencies:

Mix.install([
{:nx, "~> 0.10.0"},
{:kino, "~> 0.20.0"},
{:image, "~> 0.62.1"},
# add this:
{:kino_phonograph, "~> 0.1.0"}
])

Example

Run in Livebook

Nx.iota({1, 8000})
|> Nx.subtract(4000)
|> Nx.divide(300)
|> Nx.add(Nx.iota({1, 8000}) |> Nx.divide(80) |> Nx.add(1) |> Nx.sin() |> Nx.multiply(3))
|> Nx.add(Nx.iota({1, 8000}) |> Nx.divide(141) |> Nx.add(2) |> Nx.sin() |> Nx.multiply(2))
|> Nx.add(Nx.iota({1, 8000}) |> Nx.divide(62) |> Nx.add(3) |> Nx.sin() |> Nx.multiply(4))
|> KinoPhonograph.WavePlot.plot(
title: "Sum of Sines",
labels: ["Some label"],
width: 800,
height: 100,
background: {0.5, 0.1, 0.5, 1.0},
foreground: {1, 1, 1, 1}
)

Preview