• R/O
  • HTTP
  • SSH
  • HTTPS

sample-DELPHI: コミット

開発終了しました
クロスフェードをかける方法がよく用いられているように感じました、pyaudioでも簡単にできそうです。実際にPythonで書かれたコードもウェブで見つかりました。
自分のやってることにあんまり価値がなかったのでほどほどでほかのことに映ります。


コミットメタ情報

リビジョンa2a9e3adb115de8717bc46572c63ac8463574599 (tree)
日時2018-08-21 17:36:20
作者yamat0jp <yamat0jp@yaho...>
コミッターyamat0jp

ログメッセージ

勢い余った修正が間違っていました

書き直しておきます

変更サマリ

差分

--- a/changer.dproj
+++ b/changer.dproj
@@ -5,7 +5,7 @@
55 <FrameworkType>VCL</FrameworkType>
66 <MainSource>changer.dpr</MainSource>
77 <Base>True</Base>
8- <Config Condition="'$(Config)'==''">Debug</Config>
8+ <Config Condition="'$(Config)'==''">Release</Config>
99 <Platform Condition="'$(Platform)'==''">Win64</Platform>
1010 <TargetedPlatforms>3</TargetedPlatforms>
1111 <AppType>Application</AppType>
@@ -532,15 +532,15 @@
532532 <Operation>1</Operation>
533533 </Platform>
534534 </DeployClass>
535- <ProjectRoot Platform="iOSSimulator" Name="$(PROJECTNAME).app"/>
535+ <ProjectRoot Platform="iOSDevice32" Name="$(PROJECTNAME).app"/>
536536 <ProjectRoot Platform="iOSDevice" Name="$(PROJECTNAME).app"/>
537537 <ProjectRoot Platform="Android" Name="$(PROJECTNAME)"/>
538538 <ProjectRoot Platform="Win32" Name="$(PROJECTNAME)"/>
539539 <ProjectRoot Platform="iOSDevice64" Name="$(PROJECTNAME).app"/>
540540 <ProjectRoot Platform="Linux64" Name="$(PROJECTNAME)"/>
541541 <ProjectRoot Platform="Win64" Name="$(PROJECTNAME)"/>
542+ <ProjectRoot Platform="iOSSimulator" Name="$(PROJECTNAME).app"/>
542543 <ProjectRoot Platform="OSX32" Name="$(PROJECTNAME).app"/>
543- <ProjectRoot Platform="iOSDevice32" Name="$(PROJECTNAME).app"/>
544544 </Deployment>
545545 <Platforms>
546546 <Platform value="Win32">True</Platform>
--- a/effect.pas
+++ b/effect.pas
@@ -14,7 +14,7 @@ uses Unit2;
1414
1515 function effect16BitWav(const sp: SpParam): integer;
1616 const
17- j = 24;
17+ j = 2;
1818 var
1919 i, k, a, pmin, pmax: integer;
2020 len, temp_size, offset0, offset1, p, q: integer;
@@ -26,6 +26,8 @@ var
2626 var
2727 b, c: integer;
2828 begin
29+ ma := 0.0;
30+ p := pmin;
2931 for b := pmin to pmax - 1 do
3032 begin
3133 r[b] := 0.0;
@@ -47,8 +49,8 @@ begin
4749 rate := 0.66;
4850 len := trunc(sp.sizeOfData - sp.posOfData / (rate * sp.channels));
4951 temp_size := trunc(len * 0.01);
50- pmin := trunc(len * 0.005);
51- pmax := trunc(len * 0.02);
52+ pmin := trunc(sp.samplePerSec * 0.005);
53+ pmax := trunc(sp.samplePerSec * 0.02);
5254 SetLength(r, pmax);
5355 SetLength(pCpy, len);
5456 SetLength(pRes, len);
@@ -58,8 +60,6 @@ begin
5860 s.Position := sp.posOfData;
5961 s.Read(Pointer(pRes)^, s.Size);
6062 s.Free;
61- ma := 0.0;
62- p := pmin;
6363 if Form2.CheckBox1.Checked = false then
6464 sub;
6565 while offset1 + 2 * pmax < len do
@@ -82,7 +82,7 @@ begin
8282 inc(offset0, q);
8383 inc(offset1, p + q);
8484 Application.ProcessMessages;
85- Form2.ProgressBar1.Position:=trunc(100*(offset1 + 2*pmax)/len);
85+ Form2.ProgressBar1.Position := trunc(100 * (offset1 + 2 * pmax) / len);
8686 end;
8787 pitch := 1.5;
8888 k := trunc(len / pitch);
@@ -112,7 +112,7 @@ begin
112112 Finalize(pCpy);
113113 Finalize(pMem);
114114 Finalize(r);
115- Form2.ProgressBar1.Position:=0;
115+ Form2.ProgressBar1.Position := 0;
116116 end;
117117
118118 function sinc(x: Single): Single;
旧リポジトリブラウザで表示