KinoPhonograph
KinoPhonograph is a helper module for rendering 1D and 2D Nx.Tensor audio signals as wave forms in Livebook.
Installation
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
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}
)