本日の給油

給油日 オドメーター (km) 給油量 (L) 単価 (円/L) 燃費 (km/L) 距離単価 (円/km) 2020-02-22 10890.0 2.67 141.95 51.20 2.77 2020-03-16 11037.1 3.46 138.73 42.51 3.26 2020-03-20 11217.6 2.83 133.92 63.78 2.10 2020-03-21 11407.0 3.11 142.12 60.90…

本日の給油

給油日 オドメーター (km) 給油量 (L) 単価 (円/L) 燃費 (km/L) 距離単価 (円/km) 2017-09-15 10004.7 3.09 123.96 53.03 2.34 2017-10-04 10152.2 2.08 125.96 70.91 1.78 2017-10-18 10314.9 3.42 125.73 47.57 2.64 2018-05-05 10499.5 3.18 137.74 58.05…

JuliaからRCallを使ってANOVA君を呼び出す

ANOVA君は、井関龍太氏が開発している、Rで動作する分散分析プログラムです。様々な実験計画に対応できるようになっており、分散分析に加えて多重比較や単純主効果の検定もやってくれます。lm()とかaov()なども使ってはいますが、ANOVA君は一回の関数呼び出…

本日の給油

給油日 オドメーター (km) 給油量 (L) 単価 (円/L) 燃費 (km/L) 距離単価 (円/km) 2017-09-15 10004.7 3.09 123.96 53.03 2.34 2017-10-04 10152.2 2.08 125.96 70.91 1.78 2017-10-18 10314.9 3.42 125.73 47.57 2.64 2018-05-05 10499.5 3.18 137.74 58.05…

Land of Lisp第7章

Land of Lispを読んでいます。日本語版も英語版も英語電子版も持っているのに、読み終わる前に投げ出して、また最初から読み始めるということを何度も繰り返しています。以下、日本語版と英語Kindle版へのアフィリンクです。 本書で使用しているCommon Lisp…

続 Wikipediaのフォントを変えてみた

数年前に、Wikipediaを読みやすくするためにCSSをいじって調整しました。 marui.hatenablog.com 今日は、英語版と日本語版とでハイフネーションの挙動を変えてみました。具体的には以下のようになっています。:lang(en)を使って英語版では両端揃えでハイフネ…

Juliaパッケージのインストール・スクリプト

新しい環境にJuliaをインストールするときに、自分が使うパッケージ群をまとめてインストールしたいことがあります。 僕の場合、以前はテキストファイルに add Atom add Juno add IJulia のように書いたものを準備しておいて、Pkgモードにコピペするようにし…

2019年に買って良かったもの(アフィ注意!)

2019年にAmazonで買ったものから、買ってよかったなーと思ったものを書き残しておこうかと思います。 (TLDR; ホットクック、Skyrim、ウクレレ、ベイズモデリングの本、教育心理学の本、でした) ※商品画像込みで簡単にリンクを付ける方法が分からなかったの…

Julia 1.3.1にSampledSignalsをインストールした

先日のアドベントカレンダーへのエントリ中で、「今回のエントリはJulia 1.0.5用に書いています。というのも、Julia 1.2や1.3あたりからLibSndFileなどのインストールがうまくいかない状況になっているからです」と書きましたが、それが解決できたので記録を…

パワースペクトル計算の2つの方法

はじめに これはJulia Advent Calendar 2019の20日目の記事です。「音について何か書きます」と宣言したので、普段Juliaを使って音についてどんなことをしているかを紹介します。今年はパワースペクトルの計算を、(1)信号全体をフーリエ変換する方法と、(2)…

Julia(とR)で古典的多次元尺度法

昨日、こんなツイートを見た。 このデータは以前にも見たことがあって、多次元尺度法のよいサンプルになるかと思っていたのでした。今日はJuliaで古典的多次元尺度法をやってみる。

PortAudio.jlのインストール(2019年11月3日時点)

PortAudio.jlが公式レジストリから消えてしまったのか、これまでのようにインストールしようとすると「見つからない」と言われてしまいます。 (v1.2) pkg> add PortAudio#julia1 ERROR: The following package names could not be resolved: * PortAudio (no…

AES147 New York技術発表より

10月16日(水)〜10月19日(土)に行われた147th AES Conventionに行ってきました。AES Conventionは大きく製品展示と技術発表に分かれます。僕は技術発表を中心に参加して30件以上の発表を見聞きしましたが、その中で個人的に面白いと思った発表をいくつか書き…

carとcdrとcons

学生のときに受けた講義に「プログラミング」がありました。「プログラミングI」「同II」「同III」と半期の科目が3つあり、それぞれプログラミングIは「基本のC言語」、プログラミングIIは「色々経験するために、関数型言語(LISP)・論理型言語(Prolog)・…

アダマール行列(N = 2^kのときのみ)

StautnerとPucketteが提案したFeedback Delay Networkという人工リバーブがあります。このFDNを実装するときに必要になるものに、N×Nの行列があります。これを行列Gとしたとき、各要素g_{i,j}はディレイラインiからディレイラインjへのフィードバック・ゲイ…

線形予測符号(LPC)でスペクトル包絡を計算する

Juliaを使った音の処理については、これまでにいくつかのエントリを書きましたが、今日は線形予測符号(LPC; Linear Predictive Coding)を用いてスペクトル包絡を求めてみます。ここでは線形予測符号の説明は省きますが、音声信号処理の分野では昔からよく…

Juliaの変数スコープについて

Juliaの変数スコープはMatlabやC言語と少し違うので混乱した話。(2019年8月25日:global/localスコープの説明が公式ドキュメントと違ったので修正しました) たとえば、1から10までの整数の和を求めたいとき、C言語では以下のようにやるかと思います。 #inc…

本日の給油

給油日 オドメーター (km) 給油量 (L) 単価 (円/L) 燃費 (km/L) 距離単価 (円/km) 2017-09-15 10004.7 3.09 123.96 53.03 2.34 2017-10-04 10152.2 2.08 125.96 70.91 1.78 2017-10-18 10314.9 3.42 125.73 47.57 2.64 2018-05-05 10499.5 3.18 137.74 58.05…

REAPERのJSFXでピンクノイズを生成してみた

REAPERのEffectsフォルダにはIvanov氏が作った「Pink Noise Generator」というJSFXが入っていたのですが、ソースを読んでみるとホワイトノイズにフィルタをかけてピンクにしているものでした。ホワイトノイズにフィルタをかけるのではなくピンクノイズを直接…

Gtk.jlの準備

(2020年2月15日追記:ここ半年ほどGtk.jlがインストールできない、あるいはインストールできてもウィンドウが表示されない状況が続いていました。さきほどJulia 1.3.1で再挑戦したところ、以下の対策をしなくてもGtk.jlが使用できました!) JuliaでGUIを作…

本日の給油

給油日 オドメーター (km) 給油量 (L) 単価 (円/L) 燃費 (km/L) 距離単価 (円/km) 2017-09-15 10004.7 3.09 123.96 53.03 2.34 2017-10-04 10152.2 2.08 125.96 70.91 1.78 2017-10-18 10314.9 3.42 125.73 47.57 2.64 2018-05-05 10499.5 3.18 137.74 58.05…

楽器音の分析とスペクトログラム

この記事はJulia Advent Calendar 2018の24日目です。 僕は日頃、おもにオーディオ信号を扱うのにJuliaを使用しています。今日はそのうち楽器音の分析のために作成したプログラムを紹介します。 楽器音の分析 楽器の音を聞いたとき、トランペットとピアノと…

Julia 1.0でオーディオ入出力(とインパルス応答測定)

Juliaが1.0になって、徐々に環境が整ってきました。ここ数日、LibSndFile.jlやPortAudio.jlを使ってゴニョゴニョやっていたことをまとめておきます。 TLDR。入出力の同期とか考えずに最低限の音再生ができればいいという場合は、 using FileIO: load, save i…

Juliaコードのディスアセンブル(Julia 1.0)

marui.hatenablog.com 上記のJulia 0.6でやったことと同じですが、Julia 1.0がリリースされたので変化があったか見てみました。 前回と同じくadd1()を関数定義します。これはJulia 0.6でも1.0でも同じ。 julia> function add1(x) return x+1 end add1 (gener…

Juliaコードのディスアセンブル(Julia 0.6)

www.youtube.com ヨーロッパLISPコンファレンスで発表された上記のプレゼンの中に、Juliaコードをネイティブコードに変換して中身を確認するマクロが紹介されていました。 公式ドキュメントではEssentials · The Julia Languageに書かれていますが、面白そう…

REAPERのJSFXでモノラル→ステレオのアップミックスやってみた

Lauridsenのモノラル→ステレオのアップミックス・エフェクタをサクッと作ってみました。簡単ですねー。参考文献は以下。(注:最近使われている手法とは違ってかなり原始的です!) www.aes.org desc: maruware Lauridsen Decorrelator (mono-to-stereo) // …

REAPERのJSFXでステレオ・オシロスコープ作ってみた

REAPERのプラグインを簡単に書けるJSFXという仕組みがあります。それをつかってステレオ音源のオシロスコープ(リサジュー曲線)を描くプラグインを書いてみました。やっていることは ディレイラインに2ch分のオーディオ信号を溜める それを使ってグラフ描画…

PinkTSP信号をJuliaで作る

Julia言語でPinkTSP信号を作るプログラムを書いた。とは言っても、以前書いたMatlabのものをそのまま移植しただけ。そもそも参考にしたのは以下の文献。 藤本卓也. “低域バンドでのSN比改善を目的としたTSP信号に関する検討.” 日本音響学会研究発表会講演論…

本日の給油

給油日 オドメーター (km) 給油量 (L) 単価 (円/L) 燃費 (km/L) 距離単価 (円/km) 2017-03-18 8559.6 2.76 125.72 45.94 2.74 2017-04-29 8703.9 2.77 127.80 52.09 2.45 2017-04-29 8905.9 3.21 128.97 62.93 2.05 2017-04-30 9032.5 2.20 131.82 57.55 2.2…

DSP.jlに対応した低域フィルタ

引き続きJuliaネタです。前回は、Bristow-JohnsonのパラメトリックEQを自作のfreqz関数で可視化してみました。 marui.hatenablog.com ただ、プログラミング言語を使う際には長いものには巻かれておいたほうが良いので、Juliaのエコシステムで言及されているJ…