e984ed5c6e479977d09f3b73432610d1e4cd2a94
[qbasicapps.git] / networking / digital data over analog audio channel / aver.bas
1 ' Noise reduction\r
2 ' made by Svjatoslav Agejenko\r
3 ' in 2003.12\r
4 ' H-Page: svjatoslav.eu\r
5 ' E-Mail: svjatoslav@svjatoslav.eu\r
6  \r
7 \r
8 \r
9 DECLARE SUB start ()\r
10 DEFINT A-Y\r
11 DIM SHARED avb(1 TO 100)\r
12 DIM SHARED byte AS STRING * 1\r
13 DIM SHARED po, pod\r
14 DIM SHARED file1$, file2$\r
15 \r
16 start\r
17 \r
18 INPUT "average factor:", po\r
19 INPUT "divide factor:", pod\r
20 \r
21 OPEN file2$ FOR BINARY AS #1\r
22 OPEN file1$ FOR BINARY AS #2\r
23 \r
24 SCREEN 12\r
25 px = 0\r
26 1\r
27 GET #1, , byte\r
28 c = ASC(byte)\r
29 IF c > 127 THEN c = c - 255\r
30 \r
31 FOR a = 1 TO po - 1\r
32 avb(a) = avb(a + 1)\r
33 NEXT a\r
34 avb(po) = c\r
35 \r
36 b = 0\r
37 FOR a = 1 TO po\r
38 b = b + avb(a)\r
39 NEXT a\r
40 \r
41 b = b / pod\r
42 'LINE (px + 1, 0)-(px + 1, 260), 14\r
43 LINE (px, 0)-(px, 260), 0\r
44 PSET (px, c + 130), 12\r
45 PSET (px, b + 130), 14\r
46 px = px + 1\r
47 IF px > 639 THEN px = 1\r
48 IF b < 0 THEN b = b + 255\r
49 IF b > 255 THEN b = 255\r
50 byte = CHR$(b)\r
51 PUT #2, , byte\r
52 'c$ = INPUT$(1)\r
53 IF EOF(1) = 0 THEN GOTO 1\r
54 \r
55 CLOSE #2\r
56 CLOSE #1\r
57 \r
58 SUB start\r
59 \r
60 IF COMMAND$ = "" THEN END\r
61 b$ = COMMAND$\r
62 file2$ = b$\r
63 file1$ = ""\r
64 FOR a = 1 TO LEN(b$)\r
65 c$ = RIGHT$(LEFT$(b$, a), 1)\r
66 IF c$ = "." OR c$ = " " THEN GOTO 2\r
67 file1$ = file1$ + c$\r
68 NEXT a\r
69 2\r
70 file1$ = file1$ + ".awe"\r
71 \r
72 END SUB\r
73 \r