ショパンの幻想即興曲の最初から20小節目までのプログラムを書いてください
(中途半端でとまってしまった。)
以下は、Rustのmidirとhoundライブラリを使用して、ショパンの幻想即興曲の最初から20小節目までの楽譜を再現する例です。midiデータから各音符の周波数を計算し、それを使用して波形を生成しています。また、楽譜を簡単に指定できるように、
notes配列に音符の高さ、長さ、タイミングを指定しています。extern crate hound;
extern crate midir;
use std::f32::consts::PI;
use std::i16;
use std::time::Duration;
fn main() {
// midiから取得した各音符の周波数を格納する配列
let mut frequencies = vec![0.0; 128];
// midiから各音符の周波数を計算する
for note in 0..128 {
frequencies[note] = 440.0 * 2.0_f32.powf((note as f32 - 69.0) / 12.0);
}
// 幻想即興曲の楽譜を定義する
let notes = vec
