いろいろなプログラム置き場

・使えるかわからないプログラム置き場、巨大数の計算、wavファイルの畳み込み、ドッキリプログラムなど

・半数のファイルが高校2年生辺りで作ったものなので、非効率、間違いがあるかも。

・一部Web版(他言語からJavaScriptに書き換えたもの)あり ただし、元の言語より処理が遅い

※※※これらプログラムを実行した際に発生した不利益に関しては、責任は負いかねます。※※※

※このサイトのメインのページは以下の4つです。(下手絵を中心に宣伝)

画伯の展開会(下手な絵を当てるクイズ)

下手な絵集

歌詞クイズ

歌詞クイズ(簡単ver)

エフェクター(C++)

詳細ページはこちら

(2024/9/28)BPM,調の測定を追加(double BPM()   std::string Scale(int))

情報があまりなかった(関数の定義など)ので独自アルゴリズムで作成。精度不明 BPMの範囲は40~631

BPMは2^整数倍で出力される場合がある (80が160と出たり、200が100と出たりする)

Music.h


使用例1


WaveData wd = WaveData("16bit2chのwavファイル");
wd.Quality(8000); //サンプリング周波数を8000Hzに
wd.Export(2); //チャンネル数
wd.Dispose();
			

>>音質が下がったwavファイルを出力

使用例2


WaveData wd = WaveData("16bit2chのwavファイル");
wd.LRdel(1000); //左右で少しだけ音をずらす(広がったようにきこえる)
wd.ConvolutionReverb("16bit2chの残響音(IR)を記録したwavファイル", 0.3,100);//原曲30%、100Hz以下切り捨て ※30秒程度かかる
wd.Export(2); //チャンネル数
wd.Dispose();
			

>>特定の空間内で再生したかのようなwavファイルを出力

使用例3


WaveData wd = WaveData("16bit2chのwavファイル");
wd.Speed(1.7,4.0); //1.7倍速,ピッチ+4
wd.Export(2); //チャンネル数
wd.Dispose();
			

>>再生速度1.7倍、ピッチを半音4つ上げたwavファイルを出力

畳み込み(IRファイルが必要)/フランジャー/イコライザー/コンプレッサー

エコー/再生速度変更/ピッチ変更/多重/サンプリング周波数変更など約25種類

使用例4


WaveData wd = WaveData("16bit2chのwavファイル");
int bpm = wd.BPM(); //BPMを測定
std::string scale = wd.Scale(10000); //10秒飛ばした地点から調を測定する 
//bpm と scaleの出力は省略
wd.Dispose();
			

>>BPMと調(英語表記)で出力

畳み込み(IRファイルが必要)/フランジャー/イコライザー/コンプレッサー

エコー/再生速度変更/ピッチ変更/多重/サンプリング周波数変更など約25種類

Web版(コンソール画面が開けるPC推奨 JavaScriptなので一部処理が非常に重い)

巨大数(JavaScript)

Exp.js


Num.js(↑とセット 万~無量大数,矜羯羅~不可説不可説転までの単位で表示)


使用例


var exp = new Exp(100,1); //10^10^100 (1グーゴルプレックス)
letter_type = 1; //表示形式 0...XeYの形式  1...日本語  2...∞(1.8e308)基準
document.getElementById("exp").innerHTML = Text(exp);//表示
			

>>

(1グーゴルプレックスは、1不可説不可説転の268.68那由他乗に近い)

実際の使用例(バイバインシミュレーター)

開発者ツール禁止(JavaScript)(試作)

f12.js


ページの横幅とウインドウの横幅がほぼ一致していない場合、警告後にページを移動

Firefoxなどwindow.close()が使えないブラウザ非対応

パソコンの設定によってはページが開けなくなるかも


以下、最近のファイル(2024年4月)

シンプルドッキリプログラム1

DK1.zip

DK1+.zip

DK1++.zip

高校1年生位で作ったプログラムのリメイク版

全画面解除不可のエラーメッセージっぽいものを表示、+以降は赤黒点滅の背景に「You Can't Escape」と表示

DK1は、頑張ればアプリケーションを閉じることができる

DK1+は、再起動すれば閉じることができる(他にも方法がある?)

DK1++は、DK1+の機能に加え、OS起動時に自動で実行されるようになる

安全な解除方法(抜け道)を知りたい場合は、作成者と連絡がとれるところに連絡してください

(Twitter,Instagram,Threadsなどはやっていません 多分連絡取れるのはgithubか、同じ大学にいる人のみ?)


(追記)今のところ多分大丈夫だが、もしかしたらMyHookクラス(別サイトから引用)部分で、
変数が勝手に開放されるエラーが出る場合があるかも(ほかのプログラムで使ったらエラーが起きた)

メンバ変数にdelegateHookCallback型の変数を追加すると回避できる(やってみた感じ)ので、そのうち直すかも


シンプルドッキリプログラム(初音ミクver)

DKM+.zip

DKM++.zip

2024/8/31

DK1pとDK1ppに初音ミクの画像、曲を使用しただけ

時間がなかったので2~3時間くらいで作成

通常バージョンと同様、+の方はシャットダウンすれば消えるが、++の方は消す難易度が高いので注意


シンプルドッキリプログラム2

DK2.zip


高校1年生位で作ったプログラムのリメイク版

キー入力がかなり不便になる

使用者には大事な入力をさせないように注意!

タスクマネージャーで削除できる


ウインドウ(JavaScript)(試作)

まだForms,Label,Buttonクラスのみ

Form.js


Form.css (jsとセット)


使用例


class Form1 extends Forms{
    constructor(args){
        super(); //絶対必要
        this.Location.X = 100;
        this.Location.Y = 200;
        this.ControlBox = false; //×ボタン削除
        this.Text = "ウイルスだぞっ";
	
	this.p1 = new Image(); //画像
	this.p1.Size.Width = 40;
	this.p1.Size.Height = 40;
	this.p1.Location.X = 100;
        this.p1.Location.Y = 105;
	this.p1.BackgroundImage = "img/err.png"; //任意の画像を用意する(エラー時のマークなど)
				
        this.t1 = new Label(); //ラベル
        this.t1.Location.X = 150;
        this.t1.Location.Y = 100;
        this.t1.Text = "じゃましてやるっ!";

        this.bt1 = new Button(); //ボタン
        this.bt1.Location.X = 160;
        this.bt1.Location.Y = 220;
        this.bt1.Text = " やだ ";
        this.bt1.onclick = args + ".Close();"; //ここで引数をつかう(閉じるため)
    }
    init(){
        this.Add_Object(this.t1); //初回だけForms.Show();が実行される.
        this.Add_Object(this.bt1);
        this.Add_Object(this.p1);
    }
}
var fs = Array(100);
//100個ランダムに配置
for(var i = 0;i < 100;i++){
	fs[i] = new Form1("fs[" + i + "]");
	fs[i].Location.X = Math.floor(Math.random() * (window.innerWidth - 400));
	fs[i].Location.Y = Math.floor(Math.random() * window.innerHeight);
	fs[i].init(); //配置 (空のフォームであれば fs[i].Show())
}

>>ダイアログボックス的なものが表示される

テキストファイルからMIDI作成(exeファイル)(試作)

Mid.zip

命令を組み合わせてmidiファイルが作れる 命令は太鼓さん次郎に近い形式

命令 (命令.txt)

音階はカンマ、命令はセミコロンまたは改行区切りで入力   

例:

#HU 4;C4,E2,F5,-,


音階例

ド...C4 ファ♯...FS4 (低い)シ♭...BF3 ミのダブルシャープ...EDS4 ソ♭♭...GDF4 休符...-


↓#がつくシリーズ x=自然数

#BPM x   BPM

#CH x   トラック(0~15 9はドラム専用)

#HU x    n分音符

#SF x    調号 (-7~7)

#POWER x    音量 (~127)

#TONE x    音色 (~127) 楽器番号.txt参照

#X x    長さx倍 例)付点8分音符のラ #HU 16;#X 3;A4,#X 1; '#X 1で閉じる

#DELAY x    x[ms]遅らせる


↓その他

 '...コメント

 |...和音

 例) Cメジャー

 C4|E4|G4,


コマンドプロンプトで設定する値 (入力.txt)

音色指定...0でそのまま それ以外を入力で全パートの楽器を指定(1~128)


ピッチ...半音n音上げる 負の値で下げる


調号...調号の数を変更 正の値で#増加 負の値で♭増加

長調に-3を入力すると短調 短調に3を入力すると長調になる


パート選択...使いたいパート(チャンネル番号)を選ぶ。

書かれていない番号を選ぶと選択終了 未入力で全パート出力

config.txt

[整数][音階][整数][音階]...[整数][音階][特殊な命令]のようにつなげて書く。

例:(シを半音下げ、ファを半音上げる)

-1B+1F

例:(ファを半音上げるが、もともと付いていた臨時記号は無視(特殊な命令[XA]))

+1FXA

Web版


以下、プログラム以外

下手な字フォント

heta.ttf

下手な字で構成されるフォント

漢検2級まで(常用漢字)まで対応

文字を大き目にした方がいいかも

全角英語 半角ひらがなカタカナ 一部漢字 未実装




名前を付け直していない一時的なアップデートファイル

半角カタカナ全角英語対応 + 漢字記号300文字くらい追加



例(32px)(適当なコピペ):

375: Classical名無しさん 2020/02/04(火) 21:41:13.39 ID:kDgpMthj
今日帰りにインド人がやってるカレー屋に行ったんだけど、
カレー注文したらスプーンがついてこなくて
「あ、本格的な店なんだ」とか思って手で食ってたら、
半分くらい食ったときに、インド人の店員が奥から
すげー申し訳なさそうな顔してスプーン持ってきた


以下、高校生のときに作った試作品で、更新予定のないもの

pmdファイルをマイクラで表示(試作)

Datapackmaker3D.zip

ファイルをドラッグアンドドロップでデータパックを作成

あにまさ式(MMDに最初から入っているpmdファイル)は隙間はできるがうまくいく (多分pmd単体のものは成功する)

コマンドは /function printer:printer  (かなり重い コマンドチェーン数、演算距離を上げておくこと)

更新しない理由1:pmd以外のファイルの構造についての情報が見つからなかった(sph,spaなど)

更新しない理由2:うまく隙間を埋める方法が思いつかなかった(ベクトルの存在範囲を利用)

更新しない理由3:8/31用の1発ネタだったから