mimiumを使ってみた 2

前回はmimiumを使うための実行環境を整えただけだったので

今回は実際にコードを叩いて

色々試していきたいと思います!

 

最初に使用する関数についてです.

標準でターミナルに出力する関数は

関数名 実行時の動作
print 数値を表示する
println 数値を表示した後に改行

となっているみたいです.

そのほかに数式で使える関数として

関数名 実行時の動作
sin 三角関数 sin
cos 三角関数 cos
tan 三角関数 tan
asin 三角関数 arcsin
acos 三角関数 arccos
atan 三角関数 arctan
atan2 x,y座標の偏角を計算
sinh 双曲線関数 sinh
cosh 双曲線関数 cosh
tanh 双曲線関数 tanh
log 底が2のlog
log10 底が10のlog
pow 累乗
sqrt 平方根
abs 絶対値
ceil 天井関数,端数処理
floor 床関数,端数処理
trunc 切り落とし関数,端数処理
round 四捨五入
fmod 実数の剰余
remainder 不動小数点の剰余
min 最小値
max 最大値

(2020/02/19現在)

となっているみたいです.
この数式の中にsinがあるので実際にsin波を鳴らしてみたいと思います!

ソースコード

fn dsp(time:float){
        return sin(time)
}

これでsin波を再生することができるみたいです.
※実際に音が出るので音量に注意してください!

dspという関数の中でreturnしたものを実際に音として再生できます.

次に自分の手持ち音源を再生するプログラムを書いていきます!

ソースコード

ffile = "waveファイルがあるディレクトリのパス"

wav = loadwav(file)

fn dsp(time:float){
    return wav[time]
}

ファイルのパスをloadwavに渡してあげるだけで簡単に再生できます.
terminalには

Info: Audio Device : Apple Inc.: External Headphones, Sampling Rate : 48000, Output Channels : 2

と出力されていて,再生デバイスがステレオかモノラルかサンプリングレートはいくつであるかを認識しています.

ちなみにですが,手持ちのmp3音源とflac音源を試しに再生してみたらflacは再生できました!


音楽を再生できるようになったので今度は実際に信号処理をしていきたいと思います.