前提条件
- OS Ubuntu 22.04
環境構築
soxのインストール
$ sudo apt install sox
プロジェクト作成
$ mix new sox
ソースを書く
lib/sox.ex
defmodule Sox do
@moduledoc """
Documentation for `Sox`.
"""
@doc """
Hello world.
## Examples
iex> Sox.hello()
:ok
"""
def hello do
1..10
|> Enum.each(fn _ -> piko() end)
:ok
end
def piko do
play(0.1, 440)
play(0.1, 880)
end
def play(t, f) do
System.cmd("play", ~w"-n synth #{t} sin #{f}")
end
end
test/sox_test.exs
defmodule SoxTest do
use ExUnit.Case
doctest Sox
end
実行
$ mix test
440Hzと880Hzの交互の音が鳴りました
ソース(github)