トップ «前の日記(21-August-2021) 最新 次の日記(23-August-2021)» 編集

つれづれなるままに

これまでの訪問者人
本日の訪問者人  昨日の訪問者人
月齢14.2

AI | AIきりたん | Ast | Beat Saber | CeVIO | Cn | cover | de | Emacs | En | Es | fr | git | html | iPad | It | Just Dance | misc | MMD | MV | NEUTRINO | OVA | PC | PV | Ru | SF | SKK | stable diffusion | SynthesizerV | tDiary | Th | Vocaloid | VRC | VRChat MMD | Vsinger | Vtuber | was | YuNi | お茶 | アニメ | アメリカ | イラスト | オカリナ | カゲプロ | キズナアイ | テレビ | ノベル | ノーベル賞 | ビートセイバー | フィートセイバー | フランス | ラズパイ | ラノベ | 万葉語 | 世界 | 中国 | 予定 | 即売会 | 台湾 | 台風 | 合成してみた | 同人 | 地震 | 宇宙 | 家電 | 展示 | 描いてみた | 政治 | 旅行 | 日記 | 映画 | 時事 | 書道 | 歌ってみた | 歴史 | 海外 | 演奏してみた | 漫画 | 特撮 | 科学 | 英国 | 訃報 | 語学 | 踊ってみた | 陶笛 | 障害 | 音楽 | 飲み |

22-August-2021 うにゃら [長年日記]

_ [日記] ネットでカラオケ

JOY の入ってPCで少しやってみました。

アンプからPCに通すと遅延が生じるので、ループバックでモニター出力としてスピーカーに出したらほぼ遅延なしで伴奏と声が出るようになったとうやつ。

みんな遅延には苦しめられてるらしいです。

そのかわり、ループバックしてるから採点とかはできなさそうかな?

あと、このサービスはピッチを変えるのにも対応してないらしいです。

あ、セッティングは全部連れです。

_ [PC] ものすごく簡単なPascal と Algol68 のサンプル

暇だったのでちょろっと。

本当に大したことないです。

program test;
var
  i : integer;
  d : double;
begin
 d := 0.0;
 for i := 0 to 10 do
    begin
       d := d+0.1;
       write('i=',i:2);
       write('  d=',d);
       writeln;
    end
end.

コンパイラは Lazarus に入っている fpc を mingw で使うため、mingw のコンソールからパスをまず設定しておきます。仮に c:\lazarus\fpc\3.2.0\bin\x86_64-win64 に fpc があったとしたら、コマンドラインより次のように入力します。(さっきのソースファイル名を test.pas だったとします。)

$ export PATH=$PATH:/c/lazarus/fpc/3.2.0/bin/x86_64-win64

で、上のソースがあるところで以下のコマンドを実行。

$ fpc test.pas
Free Pascal Compiler version 3.2.0 [2021/02/21] for x86_64
Copyright (c) 1993-2020 by Florian Klaempfl and others
Target OS: Win64 for x64
Compiling test.pas
Linking test.exe
14 lines compiled, 0.0 sec, 37504 bytes code, 2020 bytes data
$ ./test
i= 0  d= 1.0000000000000001E-001
i= 1  d= 2.0000000000000001E-001
i= 2  d= 3.0000000000000004E-001
i= 3  d= 4.0000000000000002E-001
i= 4  d= 5.0000000000000000E-001
i= 5  d= 5.9999999999999998E-001
i= 6  d= 6.9999999999999996E-001
i= 7  d= 7.9999999999999993E-001
i= 8  d= 8.9999999999999991E-001
i= 9  d= 9.9999999999999989E-001
i=10  d= 1.0999999999999999E+000

本当になんともないプログラムですが………。

ちなみに、Algol 68 Genieでは似たようなことを以下のようにしてできるようで。

BEGIN
   INT i:=0; LONG REAL d:=0.0;
   FOR i FROM 0 TO 10 DO
     d := d+0.1;
     print (("i=",i));
     print ((" d=",d,newline))
   OD
END

このファイルが test.a68 で コマンド a68g にパスが通ってるなら、

$ a68g test.a68
i=         +0 d=+1.000000000000000000000000000e  -1
i=         +1 d=+2.000000000000000000000000000e  -1
i=         +2 d=+3.000000000000000000000000000e  -1
i=         +3 d=+4.000000000000000000000000000e  -1
i=         +4 d=+5.000000000000000000000000000e  -1
i=         +5 d=+6.000000000000000000000000000e  -1
i=         +6 d=+7.000000000000000000000000000e  -1
i=         +7 d=+8.000000000000000000000000000e  -1
i=         +8 d=+9.000000000000000000000000000e  -1
i=         +9 d=+1.000000000000000000000000000e  +0
i=        +10 d=+1.100000000000000000000000000e  +0

となりました。

ちょっと algol68 で実行できるまでが大変でしたが。コンパイルもできるはずですがみつからず。


【PR】ブログへ記事を投稿して報酬ゲット!アフィリエイトのA8.net