Skip to content

sert-uw/SoundReappearance

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SoundReappearanceは
倍音、減衰などを考慮して
48のsin波を重ね合わせることで
ピアノ音を再現するプログラムです。

上記の再現した音を用いて楽曲を演奏することも可能です。
datファイルが楽譜になります。

以下演奏させてみた楽曲
	・ねこふんじゃった neko.datファイル
		http://tmbox.net/pl/476600

	・FFより 闘う者たち Fighting.dat
		http://tmbox.net/pl/476611


・プログラムの使用方法
	1、datファイルを用意します(記述形式は後述)
	2、Main.javaの22行目 FileNameをdatファイルのファイル名に書き換えます
	3、実行します(データによっては数分かかります AudioInputStreamが遅い?)
	4、datファイルと同名のwavファイルが生成されます


・datファイルの記述形式
	・音階の記述
		オクターブ値,音階名,音の長さ(ms),1つ前のデータとの開始時間差(ms)

	(例1) 基本オクターブ(3オクターブ)のドを0msから3000msの間鳴らす場合
		3, ド, 3000, 0
		または
		3, C, 3000, 0

	(例2) 基本オクターブのドレミファソラシ を500ms間隔でそれぞれ1500ms間鳴らす場合
		3, ド, 1500, 0
		3, レ, 1500, 500
		3, ミ, 1500, 1000
		3, ファ, 1500, 1500
		3, ソ, 1500, 2000
		3, ラ, 1500, 2500
		3, シ, 1500, 3000
		または
		3, C, 1500, 0
		3, D, 1500, 500
		3, E, 1500, 1000
		3, F, 1500, 1500
		3, G, 1500, 2000
		3, A, 1500, 2500
		3, B, 1500, 3000

	(例3) 基本オクターブのラと1オクターブ高い(4オクターブ)ラを1つ前のデータから1000ms後に1500msの間、同時に鳴らす場合
		3, ラ, 1500, 1000
		4, ラ, 1500, 0
		または
		3, A, 1500, 1000
		4, A, 1500, 0

	*#とbについて
		例えば、レ# = ミb でプログラムに記述してあるので、どちらで指定しても同じです


	・楽譜の上段と下段の入力について
		まずは上記記述法で上段を入力します。その後
		reset
		とだけ記述した行を挟んで下段を入力していきます。
		その際開始時間がリセットされているので下段のデータで
		開始時間を0としたデータは上段で開始時間を0としたデータと
		同時に再生されます


	・p, mp, mf, f, ffとクレッシェンド、デクレッシェンドの設定
		楽曲の音量をコントロールするこれらの設定は以下のように記述します

		level, 変更後の値, 変化目標値, 分割数
		p, mp, mf, f, ffのように以降の音量を一意に定める場合は
		変更後の値、変化目標値を同じにし、分割数を1にします

		(例1) mfを1.0とし、p(0.8)に変更する場合
			level, 0.8, 0.8, 1

		(例2) mfを1.0とし、ff(1.2)に変更する場合
			level, 1.2, 1.2, 1

		クレッシェンド、デクレッシェンドの徐々に大きく、または徐々に小さくする
		(例) pからfまで変化させる場合 変化させる間にあるデータ数(ただし同時に鳴らす音は含まない)が4個のとき
			level, 0.8, 1.1, 4

			3, ド, 1500, 0
			4, ド, 1500, 0
			3, レ, 1500, 500
			4, レ, 1500, 0
			3, ミ, 1500, 1000
			4, ミ, 1500, 0
			3, ファ, 1500, 1500
			4, ファ, 1500, 0

			上記のように記述することでドからファまで奏でる間に音量がpからfまで上がります


datファイルの記述形式は以上です
Fighting.datを参考にしてみてください

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages