cw 0.0.8 → 0.0.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/.yardoc/checksums +33 -0
  3. data/.yardoc/object_types +0 -0
  4. data/.yardoc/objects/root.dat +0 -0
  5. data/.yardoc/proxy_types +0 -0
  6. data/cw.gemspec +1 -1
  7. data/doc/Alphabet.html +433 -0
  8. data/doc/AudioPlayer.html +805 -0
  9. data/doc/Book.html +3134 -0
  10. data/doc/BookDetails.html +664 -0
  11. data/doc/CW.html +849 -0
  12. data/doc/CWThreads.html +514 -0
  13. data/doc/Cl.html +1125 -0
  14. data/doc/CurrentWord.html +636 -0
  15. data/doc/CwDsl.html +1871 -0
  16. data/doc/CwEncoding.html +329 -0
  17. data/doc/FileDetails.html +236 -0
  18. data/doc/KeyInput.html +758 -0
  19. data/doc/MonitorKeys.html +482 -0
  20. data/doc/Numbers.html +433 -0
  21. data/doc/Params.html +352 -0
  22. data/doc/Print.html +1130 -0
  23. data/doc/Print/ProgressPrint.html +419 -0
  24. data/doc/Process.html +202 -0
  25. data/doc/Progress.html +337 -0
  26. data/doc/Randomize.html +959 -0
  27. data/doc/RepeatWord.html +816 -0
  28. data/doc/Rss.html +630 -0
  29. data/doc/Sentence.html +1457 -0
  30. data/doc/Spoken.html +215 -0
  31. data/doc/Str.html +771 -0
  32. data/doc/Stream.html +1401 -0
  33. data/doc/TestLetters.html +586 -0
  34. data/doc/TestWords.html +646 -0
  35. data/doc/Tester.html +3064 -0
  36. data/doc/Timing.html +1244 -0
  37. data/doc/ToneGenerator.html +2111 -0
  38. data/doc/Voice.html +273 -0
  39. data/doc/Words.html +1750 -0
  40. data/doc/_index.html +376 -0
  41. data/doc/class_list.html +58 -0
  42. data/doc/css/common.css +1 -0
  43. data/doc/css/full_list.css +57 -0
  44. data/doc/css/style.css +339 -0
  45. data/doc/file.README.html +148 -0
  46. data/doc/file_list.html +60 -0
  47. data/doc/frames.html +26 -0
  48. data/doc/index.html +148 -0
  49. data/doc/js/app.js +219 -0
  50. data/doc/js/full_list.js +181 -0
  51. data/doc/js/jquery.js +4 -0
  52. data/doc/method_list.html +2697 -0
  53. data/doc/monitor.html +435 -0
  54. data/doc/top-level-namespace.html +114 -0
  55. metadata +53 -1
@@ -0,0 +1,2111 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>
7
+ Class: ToneGenerator
8
+
9
+ &mdash; Documentation by YARD 0.8.7.6
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="css/style.css" type="text/css" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8" />
16
+
17
+ <script type="text/javascript" charset="utf-8">
18
+ hasFrames = window.top.frames.main ? true : false;
19
+ relpath = '';
20
+ framesUrl = "frames.html#!ToneGenerator.html";
21
+ </script>
22
+
23
+
24
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
25
+
26
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
27
+
28
+
29
+ </head>
30
+ <body>
31
+ <div id="header">
32
+ <div id="menu">
33
+
34
+ <a href="_index.html">Index (T)</a> &raquo;
35
+
36
+
37
+ <span class="title">ToneGenerator</span>
38
+
39
+
40
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
41
+ </div>
42
+
43
+ <div id="search">
44
+
45
+ <a class="full_list_link" id="class_list_link"
46
+ href="class_list.html">
47
+ Class List
48
+ </a>
49
+
50
+ <a class="full_list_link" id="method_list_link"
51
+ href="method_list.html">
52
+ Method List
53
+ </a>
54
+
55
+ <a class="full_list_link" id="file_list_link"
56
+ href="file_list.html">
57
+ File List
58
+ </a>
59
+
60
+ </div>
61
+ <div class="clear"></div>
62
+ </div>
63
+
64
+ <iframe id="search_frame"></iframe>
65
+
66
+ <div id="content"><h1>Class: ToneGenerator
67
+
68
+
69
+
70
+ </h1>
71
+
72
+ <dl class="box">
73
+
74
+ <dt class="r1">Inherits:</dt>
75
+ <dd class="r1">
76
+ <span class="inheritName">Object</span>
77
+
78
+ <ul class="fullTree">
79
+ <li>Object</li>
80
+
81
+ <li class="next">ToneGenerator</li>
82
+
83
+ </ul>
84
+ <a href="#" class="inheritanceTree">show all</a>
85
+
86
+ </dd>
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+ <dt class="r2 last">Defined in:</dt>
97
+ <dd class="r2 last">lib/cw/tone_generator.rb</dd>
98
+
99
+ </dl>
100
+ <div class="clear"></div>
101
+
102
+
103
+ <h2>Constant Summary</h2>
104
+
105
+ <dl class="constants">
106
+
107
+ <dt id="HERE-constant" class="">HERE =
108
+
109
+ </dt>
110
+ <dd><pre class="code"><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_dirname'>dirname</span><span class='lparen'>(</span><span class='kw'>__FILE__</span><span class='rparen'>)</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>/../../</span><span class='tstring_end'>&#39;</span></span></pre></dd>
111
+
112
+ <dt id="DOT_FILENAME-constant" class="">DOT_FILENAME =
113
+
114
+ </dt>
115
+ <dd><pre class="code"><span class='const'>HERE</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>audio/dot.wav</span><span class='tstring_end'>&quot;</span></span></pre></dd>
116
+
117
+ <dt id="DASH_FILENAME-constant" class="">DASH_FILENAME =
118
+
119
+ </dt>
120
+ <dd><pre class="code"><span class='const'>HERE</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>audio/dash.wav</span><span class='tstring_end'>&quot;</span></span></pre></dd>
121
+
122
+ <dt id="SPACE_FILENAME-constant" class="">SPACE_FILENAME =
123
+
124
+ </dt>
125
+ <dd><pre class="code"><span class='const'>HERE</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>audio/space.wav</span><span class='tstring_end'>&quot;</span></span></pre></dd>
126
+
127
+ <dt id="E_SPACE_FILENAME-constant" class="">E_SPACE_FILENAME =
128
+
129
+ </dt>
130
+ <dd><pre class="code"><span class='const'>HERE</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>audio/e_space.wav</span><span class='tstring_end'>&quot;</span></span></pre></dd>
131
+
132
+ <dt id="TWO_PI-constant" class="">TWO_PI =
133
+
134
+ </dt>
135
+ <dd><pre class="code"><span class='int'>2</span> <span class='op'>*</span> <span class='const'>Math</span><span class='op'>::</span><span class='const'>PI</span></pre></dd>
136
+
137
+ </dl>
138
+
139
+
140
+
141
+
142
+
143
+
144
+
145
+
146
+
147
+ <h2>
148
+ Instance Method Summary
149
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
150
+ </h2>
151
+
152
+ <ul class="summary">
153
+
154
+ <li class="public ">
155
+ <span class="summary_signature">
156
+
157
+ <a href="#char_space-instance_method" title="#char_space (instance method)">- (Object) <strong>char_space</strong> </a>
158
+
159
+
160
+
161
+ </span>
162
+
163
+
164
+
165
+
166
+
167
+
168
+
169
+
170
+
171
+ <span class="summary_desc"><div class='inline'></div></span>
172
+
173
+ </li>
174
+
175
+
176
+ <li class="public ">
177
+ <span class="summary_signature">
178
+
179
+ <a href="#compile_fundamentals-instance_method" title="#compile_fundamentals (instance method)">- (Object) <strong>compile_fundamentals</strong> </a>
180
+
181
+
182
+
183
+ </span>
184
+
185
+
186
+
187
+
188
+
189
+
190
+
191
+
192
+
193
+ <span class="summary_desc"><div class='inline'></div></span>
194
+
195
+ </li>
196
+
197
+
198
+ <li class="public ">
199
+ <span class="summary_signature">
200
+
201
+ <a href="#convert_words-instance_method" title="#convert_words (instance method)">- (Object) <strong>convert_words</strong>(wrds) </a>
202
+
203
+
204
+
205
+ </span>
206
+
207
+
208
+
209
+
210
+
211
+
212
+
213
+
214
+
215
+ <span class="summary_desc"><div class='inline'></div></span>
216
+
217
+ </li>
218
+
219
+
220
+ <li class="public ">
221
+ <span class="summary_signature">
222
+
223
+ <a href="#create_element_method-instance_method" title="#create_element_method (instance method)">- (Object) <strong>create_element_method</strong>(ele) </a>
224
+
225
+
226
+
227
+ </span>
228
+
229
+
230
+
231
+
232
+
233
+
234
+
235
+
236
+
237
+ <span class="summary_desc"><div class='inline'></div></span>
238
+
239
+ </li>
240
+
241
+
242
+ <li class="public ">
243
+ <span class="summary_signature">
244
+
245
+ <a href="#create_element_methods-instance_method" title="#create_element_methods (instance method)">- (Object) <strong>create_element_methods</strong> </a>
246
+
247
+
248
+
249
+ </span>
250
+
251
+
252
+
253
+
254
+
255
+
256
+
257
+
258
+
259
+ <span class="summary_desc"><div class='inline'></div></span>
260
+
261
+ </li>
262
+
263
+
264
+ <li class="public ">
265
+ <span class="summary_signature">
266
+
267
+ <a href="#cw_encoding-instance_method" title="#cw_encoding (instance method)">- (Object) <strong>cw_encoding</strong> </a>
268
+
269
+
270
+
271
+ </span>
272
+
273
+
274
+
275
+
276
+
277
+
278
+
279
+
280
+
281
+ <span class="summary_desc"><div class='inline'></div></span>
282
+
283
+ </li>
284
+
285
+
286
+ <li class="public ">
287
+ <span class="summary_signature">
288
+
289
+ <a href="#data-instance_method" title="#data (instance method)">- (Object) <strong>data</strong> </a>
290
+
291
+
292
+
293
+ </span>
294
+
295
+
296
+
297
+
298
+
299
+
300
+
301
+
302
+
303
+ <span class="summary_desc"><div class='inline'></div></span>
304
+
305
+ </li>
306
+
307
+
308
+ <li class="public ">
309
+ <span class="summary_signature">
310
+
311
+ <a href="#elements-instance_method" title="#elements (instance method)">- (Object) <strong>elements</strong> </a>
312
+
313
+
314
+
315
+ </span>
316
+
317
+
318
+
319
+
320
+
321
+
322
+
323
+
324
+
325
+ <span class="summary_desc"><div class='inline'></div></span>
326
+
327
+ </li>
328
+
329
+
330
+ <li class="public ">
331
+ <span class="summary_signature">
332
+
333
+ <a href="#filter_maybe-instance_method" title="#filter_maybe (instance method)">- (Object) <strong>filter_maybe</strong>(size, count) </a>
334
+
335
+
336
+
337
+ </span>
338
+
339
+
340
+
341
+
342
+
343
+
344
+
345
+
346
+
347
+ <span class="summary_desc"><div class='inline'></div></span>
348
+
349
+ </li>
350
+
351
+
352
+ <li class="public ">
353
+ <span class="summary_signature">
354
+
355
+ <a href="#generate-instance_method" title="#generate (instance method)">- (Object) <strong>generate</strong>(wrds) </a>
356
+
357
+
358
+
359
+ </span>
360
+
361
+
362
+
363
+
364
+
365
+
366
+
367
+
368
+
369
+ <span class="summary_desc"><div class='inline'></div></span>
370
+
371
+ </li>
372
+
373
+
374
+ <li class="public ">
375
+ <span class="summary_signature">
376
+
377
+ <a href="#generate_buffer-instance_method" title="#generate_buffer (instance method)">- (Object) <strong>generate_buffer</strong>(audio_samples, ele) </a>
378
+
379
+
380
+
381
+ </span>
382
+
383
+
384
+
385
+
386
+
387
+
388
+
389
+
390
+
391
+ <span class="summary_desc"><div class='inline'></div></span>
392
+
393
+ </li>
394
+
395
+
396
+ <li class="public ">
397
+ <span class="summary_signature">
398
+
399
+ <a href="#generate_samples-instance_method" title="#generate_samples (instance method)">- (Object) <strong>generate_samples</strong>(ele) </a>
400
+
401
+
402
+
403
+ </span>
404
+
405
+
406
+
407
+
408
+
409
+
410
+
411
+
412
+
413
+ <span class="summary_desc"><div class='inline'></div></span>
414
+
415
+ </li>
416
+
417
+
418
+ <li class="public ">
419
+ <span class="summary_signature">
420
+
421
+ <a href="#generate_space-instance_method" title="#generate_space (instance method)">- (Object) <strong>generate_space</strong>(number_of_samples) </a>
422
+
423
+
424
+
425
+ </span>
426
+
427
+
428
+
429
+
430
+
431
+
432
+
433
+
434
+
435
+ <span class="summary_desc"><div class='inline'></div></span>
436
+
437
+ </li>
438
+
439
+
440
+ <li class="public ">
441
+ <span class="summary_signature">
442
+
443
+ <a href="#generate_tone-instance_method" title="#generate_tone (instance method)">- (Object) <strong>generate_tone</strong>(number_of_samples) </a>
444
+
445
+
446
+
447
+ </span>
448
+
449
+
450
+
451
+
452
+
453
+
454
+
455
+
456
+
457
+ <span class="summary_desc"><div class='inline'></div></span>
458
+
459
+ </li>
460
+
461
+
462
+ <li class="public ">
463
+ <span class="summary_signature">
464
+
465
+ <a href="#initialize-instance_method" title="#initialize (instance method)">- (ToneGenerator) <strong>initialize</strong> </a>
466
+
467
+
468
+
469
+ </span>
470
+
471
+
472
+ <span class="note title constructor">constructor</span>
473
+
474
+
475
+
476
+
477
+
478
+
479
+
480
+
481
+ <span class="summary_desc"><div class='inline'>
482
+ <p>A new instance of ToneGenerator.</p>
483
+ </div></span>
484
+
485
+ </li>
486
+
487
+
488
+ <li class="public ">
489
+ <span class="summary_signature">
490
+
491
+ <a href="#last_element%3F-instance_method" title="#last_element? (instance method)">- (Boolean) <strong>last_element?</strong>(idx, chr) </a>
492
+
493
+
494
+
495
+ </span>
496
+
497
+
498
+
499
+
500
+
501
+
502
+
503
+
504
+
505
+ <span class="summary_desc"><div class='inline'></div></span>
506
+
507
+ </li>
508
+
509
+
510
+ <li class="public ">
511
+ <span class="summary_signature">
512
+
513
+ <a href="#make_word_parts-instance_method" title="#make_word_parts (instance method)">- (Object) <strong>make_word_parts</strong>(words) </a>
514
+
515
+
516
+
517
+ </span>
518
+
519
+
520
+
521
+
522
+
523
+
524
+
525
+
526
+
527
+ <span class="summary_desc"><div class='inline'></div></span>
528
+
529
+ </li>
530
+
531
+
532
+ <li class="public ">
533
+ <span class="summary_signature">
534
+
535
+ <a href="#play-instance_method" title="#play (instance method)">- (Object) <strong>play</strong> </a>
536
+
537
+
538
+
539
+ </span>
540
+
541
+
542
+
543
+
544
+
545
+
546
+
547
+
548
+
549
+ <span class="summary_desc"><div class='inline'></div></span>
550
+
551
+ </li>
552
+
553
+
554
+ <li class="public ">
555
+ <span class="summary_signature">
556
+
557
+ <a href="#play_filename-instance_method" title="#play_filename (instance method)">- (Object) <strong>play_filename</strong> </a>
558
+
559
+
560
+
561
+ </span>
562
+
563
+
564
+
565
+
566
+
567
+
568
+
569
+
570
+
571
+ <span class="summary_desc"><div class='inline'></div></span>
572
+
573
+ </li>
574
+
575
+
576
+ <li class="public ">
577
+ <span class="summary_signature">
578
+
579
+ <a href="#prepare_buffers-instance_method" title="#prepare_buffers (instance method)">- (Object) <strong>prepare_buffers</strong> </a>
580
+
581
+
582
+
583
+ </span>
584
+
585
+
586
+
587
+
588
+
589
+
590
+
591
+
592
+
593
+ <span class="summary_desc"><div class='inline'></div></span>
594
+
595
+ </li>
596
+
597
+
598
+ <li class="public ">
599
+ <span class="summary_signature">
600
+
601
+ <a href="#progress-instance_method" title="#progress (instance method)">- (Object) <strong>progress</strong> </a>
602
+
603
+
604
+
605
+ </span>
606
+
607
+
608
+
609
+
610
+
611
+
612
+
613
+
614
+
615
+ <span class="summary_desc"><div class='inline'></div></span>
616
+
617
+ </li>
618
+
619
+
620
+ <li class="public ">
621
+ <span class="summary_signature">
622
+
623
+ <a href="#push_enc-instance_method" title="#push_enc (instance method)">- (Object) <strong>push_enc</strong>(chr) </a>
624
+
625
+
626
+
627
+ </span>
628
+
629
+
630
+
631
+
632
+
633
+
634
+
635
+
636
+
637
+ <span class="summary_desc"><div class='inline'></div></span>
638
+
639
+ </li>
640
+
641
+
642
+ <li class="public ">
643
+ <span class="summary_signature">
644
+
645
+ <a href="#reset-instance_method" title="#reset (instance method)">- (Object) <strong>reset</strong> </a>
646
+
647
+
648
+
649
+ </span>
650
+
651
+
652
+
653
+
654
+
655
+
656
+
657
+
658
+
659
+ <span class="summary_desc"><div class='inline'></div></span>
660
+
661
+ </li>
662
+
663
+
664
+ <li class="public ">
665
+ <span class="summary_signature">
666
+
667
+ <a href="#send_char-instance_method" title="#send_char (instance method)">- (Object) <strong>send_char</strong>(c) </a>
668
+
669
+
670
+
671
+ </span>
672
+
673
+
674
+
675
+
676
+
677
+
678
+
679
+
680
+
681
+ <span class="summary_desc"><div class='inline'></div></span>
682
+
683
+ </li>
684
+
685
+
686
+ <li class="public ">
687
+ <span class="summary_signature">
688
+
689
+ <a href="#space_or_espace-instance_method" title="#space_or_espace (instance method)">- (Object) <strong>space_or_espace</strong> </a>
690
+
691
+
692
+
693
+ </span>
694
+
695
+
696
+
697
+
698
+
699
+
700
+
701
+
702
+
703
+ <span class="summary_desc"><div class='inline'></div></span>
704
+
705
+ </li>
706
+
707
+
708
+ <li class="public ">
709
+ <span class="summary_signature">
710
+
711
+ <a href="#space_sample%3F-instance_method" title="#space_sample? (instance method)">- (Boolean) <strong>space_sample?</strong>(ele) </a>
712
+
713
+
714
+
715
+ </span>
716
+
717
+
718
+
719
+
720
+
721
+
722
+
723
+
724
+
725
+ <span class="summary_desc"><div class='inline'></div></span>
726
+
727
+ </li>
728
+
729
+
730
+ <li class="public ">
731
+ <span class="summary_signature">
732
+
733
+ <a href="#word_composite-instance_method" title="#word_composite (instance method)">- (Object) <strong>word_composite</strong>(word) </a>
734
+
735
+
736
+
737
+ </span>
738
+
739
+
740
+
741
+
742
+
743
+
744
+
745
+
746
+
747
+ <span class="summary_desc"><div class='inline'></div></span>
748
+
749
+ </li>
750
+
751
+
752
+ <li class="public ">
753
+ <span class="summary_signature">
754
+
755
+ <a href="#word_parts-instance_method" title="#word_parts (instance method)">- (Object) <strong>word_parts</strong>(str = nil) </a>
756
+
757
+
758
+
759
+ </span>
760
+
761
+
762
+
763
+
764
+
765
+
766
+
767
+
768
+
769
+ <span class="summary_desc"><div class='inline'></div></span>
770
+
771
+ </li>
772
+
773
+
774
+ <li class="public ">
775
+ <span class="summary_signature">
776
+
777
+ <a href="#word_space-instance_method" title="#word_space (instance method)">- (Object) <strong>word_space</strong> </a>
778
+
779
+
780
+
781
+ </span>
782
+
783
+
784
+
785
+
786
+
787
+
788
+
789
+
790
+
791
+ <span class="summary_desc"><div class='inline'></div></span>
792
+
793
+ </li>
794
+
795
+
796
+ <li class="public ">
797
+ <span class="summary_signature">
798
+
799
+ <a href="#write_audio-instance_method" title="#write_audio (instance method)">- (Object) <strong>write_audio</strong> </a>
800
+
801
+
802
+
803
+ </span>
804
+
805
+
806
+
807
+
808
+
809
+
810
+
811
+
812
+
813
+ <span class="summary_desc"><div class='inline'></div></span>
814
+
815
+ </li>
816
+
817
+
818
+ <li class="public ">
819
+ <span class="summary_signature">
820
+
821
+ <a href="#write_audio_file-instance_method" title="#write_audio_file (instance method)">- (Object) <strong>write_audio_file</strong> </a>
822
+
823
+
824
+
825
+ </span>
826
+
827
+
828
+
829
+
830
+
831
+
832
+
833
+
834
+
835
+ <span class="summary_desc"><div class='inline'></div></span>
836
+
837
+ </li>
838
+
839
+
840
+ <li class="public ">
841
+ <span class="summary_signature">
842
+
843
+ <a href="#write_element_audio_file-instance_method" title="#write_element_audio_file (instance method)">- (Object) <strong>write_element_audio_file</strong>(ele, buffer) </a>
844
+
845
+
846
+
847
+ </span>
848
+
849
+
850
+
851
+
852
+
853
+
854
+
855
+
856
+
857
+ <span class="summary_desc"><div class='inline'></div></span>
858
+
859
+ </li>
860
+
861
+
862
+ <li class="public ">
863
+ <span class="summary_signature">
864
+
865
+ <a href="#write_word_parts-instance_method" title="#write_word_parts (instance method)">- (Object) <strong>write_word_parts</strong> </a>
866
+
867
+
868
+
869
+ </span>
870
+
871
+
872
+
873
+
874
+
875
+
876
+
877
+
878
+
879
+ <span class="summary_desc"><div class='inline'></div></span>
880
+
881
+ </li>
882
+
883
+
884
+ </ul>
885
+
886
+
887
+ <div id="constructor_details" class="method_details_list">
888
+ <h2>Constructor Details</h2>
889
+
890
+ <div class="method_details first">
891
+ <h3 class="signature first" id="initialize-instance_method">
892
+
893
+ - (<tt><span class='object_link'><a href="" title="ToneGenerator (class)">ToneGenerator</a></span></tt>) <strong>initialize</strong>
894
+
895
+
896
+
897
+
898
+
899
+ </h3><div class="docstring">
900
+ <div class="discussion">
901
+
902
+ <p>Returns a new instance of ToneGenerator</p>
903
+
904
+
905
+ </div>
906
+ </div>
907
+ <div class="tags">
908
+
909
+
910
+ </div><table class="source_code">
911
+ <tr>
912
+ <td>
913
+ <pre class="lines">
914
+
915
+
916
+ 14
917
+ 15
918
+ 16
919
+ 17
920
+ 18
921
+ 19
922
+ 20
923
+ 21</pre>
924
+ </td>
925
+ <td>
926
+ <pre class="code"><span class="info file"># File 'lib/cw/tone_generator.rb', line 14</span>
927
+
928
+ <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span>
929
+ <span class='ivar'>@max_amplitude</span> <span class='op'>=</span> <span class='float'>0.5</span>
930
+ <span class='ivar'>@wpm</span> <span class='op'>=</span> <span class='const'>Params</span><span class='period'>.</span><span class='id identifier rubyid_wpm'>wpm</span>
931
+ <span class='ivar'>@frequency</span> <span class='op'>=</span> <span class='const'>Params</span><span class='period'>.</span><span class='id identifier rubyid_frequency'>frequency</span>
932
+ <span class='ivar'>@effective_wpm</span> <span class='op'>=</span> <span class='const'>Params</span><span class='period'>.</span><span class='id identifier rubyid_effective_wpm'>effective_wpm</span> <span class='op'>?</span> <span class='const'>Params</span><span class='period'>.</span><span class='id identifier rubyid_effective_wpm'>effective_wpm</span> <span class='op'>:</span> <span class='ivar'>@wpm</span>
933
+ <span class='ivar'>@sample_rate</span> <span class='op'>=</span> <span class='int'>2400</span>
934
+ <span class='ivar'>@print</span> <span class='op'>=</span> <span class='const'>Print</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
935
+ <span class='kw'>end</span></pre>
936
+ </td>
937
+ </tr>
938
+ </table>
939
+ </div>
940
+
941
+ </div>
942
+
943
+
944
+ <div id="instance_method_details" class="method_details_list">
945
+ <h2>Instance Method Details</h2>
946
+
947
+
948
+ <div class="method_details first">
949
+ <h3 class="signature first" id="char_space-instance_method">
950
+
951
+ - (<tt>Object</tt>) <strong>char_space</strong>
952
+
953
+
954
+
955
+
956
+
957
+ </h3><table class="source_code">
958
+ <tr>
959
+ <td>
960
+ <pre class="lines">
961
+
962
+
963
+ 192
964
+ 193
965
+ 194</pre>
966
+ </td>
967
+ <td>
968
+ <pre class="code"><span class="info file"># File 'lib/cw/tone_generator.rb', line 192</span>
969
+
970
+ <span class='kw'>def</span> <span class='id identifier rubyid_char_space'>char_space</span>
971
+ <span class='ivar'>@effective_wpm</span> <span class='op'>==</span> <span class='ivar'>@wpm</span> <span class='op'>?</span> <span class='lbracket'>[</span><span class='id identifier rubyid_space'>space</span><span class='comma'>,</span><span class='id identifier rubyid_space'>space</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='lbracket'>[</span><span class='id identifier rubyid_e_space'>e_space</span><span class='comma'>,</span><span class='id identifier rubyid_e_space'>e_space</span><span class='rbracket'>]</span>
972
+ <span class='kw'>end</span></pre>
973
+ </td>
974
+ </tr>
975
+ </table>
976
+ </div>
977
+
978
+ <div class="method_details ">
979
+ <h3 class="signature " id="compile_fundamentals-instance_method">
980
+
981
+ - (<tt>Object</tt>) <strong>compile_fundamentals</strong>
982
+
983
+
984
+
985
+
986
+
987
+ </h3><table class="source_code">
988
+ <tr>
989
+ <td>
990
+ <pre class="lines">
991
+
992
+
993
+ 123
994
+ 124
995
+ 125
996
+ 126
997
+ 127
998
+ 128
999
+ 129
1000
+ 130</pre>
1001
+ </td>
1002
+ <td>
1003
+ <pre class="code"><span class="info file"># File 'lib/cw/tone_generator.rb', line 123</span>
1004
+
1005
+ <span class='kw'>def</span> <span class='id identifier rubyid_compile_fundamentals'>compile_fundamentals</span>
1006
+ <span class='id identifier rubyid_elements'>elements</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_ele'>ele</span><span class='op'>|</span>
1007
+ <span class='comment'># progress.increment
1008
+ </span> <span class='id identifier rubyid_audio_samples'>audio_samples</span> <span class='op'>=</span> <span class='id identifier rubyid_generate_samples'>generate_samples</span> <span class='id identifier rubyid_ele'>ele</span>
1009
+ <span class='id identifier rubyid_buffer'>buffer</span> <span class='op'>=</span> <span class='id identifier rubyid_generate_buffer'>generate_buffer</span><span class='lparen'>(</span><span class='id identifier rubyid_audio_samples'>audio_samples</span><span class='comma'>,</span> <span class='id identifier rubyid_ele'>ele</span><span class='rparen'>)</span>
1010
+ <span class='id identifier rubyid_write_element_audio_file'>write_element_audio_file</span> <span class='id identifier rubyid_ele'>ele</span><span class='comma'>,</span> <span class='id identifier rubyid_buffer'>buffer</span>
1011
+ <span class='kw'>end</span>
1012
+ <span class='kw'>end</span></pre>
1013
+ </td>
1014
+ </tr>
1015
+ </table>
1016
+ </div>
1017
+
1018
+ <div class="method_details ">
1019
+ <h3 class="signature " id="convert_words-instance_method">
1020
+
1021
+ - (<tt>Object</tt>) <strong>convert_words</strong>(wrds)
1022
+
1023
+
1024
+
1025
+
1026
+
1027
+ </h3><table class="source_code">
1028
+ <tr>
1029
+ <td>
1030
+ <pre class="lines">
1031
+
1032
+
1033
+ 27
1034
+ 28
1035
+ 29</pre>
1036
+ </td>
1037
+ <td>
1038
+ <pre class="code"><span class="info file"># File 'lib/cw/tone_generator.rb', line 27</span>
1039
+
1040
+ <span class='kw'>def</span> <span class='id identifier rubyid_convert_words'>convert_words</span> <span class='id identifier rubyid_wrds'>wrds</span>
1041
+ <span class='id identifier rubyid_wrds'>wrds</span><span class='period'>.</span><span class='id identifier rubyid_to_array'>to_array</span><span class='period'>.</span><span class='id identifier rubyid_collect'>collect</span><span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_wrd'>wrd</span><span class='op'>|</span> <span class='id identifier rubyid_wrd'>wrd</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\n</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='rbrace'>}</span>
1042
+ <span class='kw'>end</span></pre>
1043
+ </td>
1044
+ </tr>
1045
+ </table>
1046
+ </div>
1047
+
1048
+ <div class="method_details ">
1049
+ <h3 class="signature " id="create_element_method-instance_method">
1050
+
1051
+ - (<tt>Object</tt>) <strong>create_element_method</strong>(ele)
1052
+
1053
+
1054
+
1055
+
1056
+
1057
+ </h3><table class="source_code">
1058
+ <tr>
1059
+ <td>
1060
+ <pre class="lines">
1061
+
1062
+
1063
+ 103
1064
+ 104
1065
+ 105</pre>
1066
+ </td>
1067
+ <td>
1068
+ <pre class="code"><span class="info file"># File 'lib/cw/tone_generator.rb', line 103</span>
1069
+
1070
+ <span class='kw'>def</span> <span class='id identifier rubyid_create_element_method'>create_element_method</span> <span class='id identifier rubyid_ele'>ele</span>
1071
+ <span class='id identifier rubyid_define_singleton_method'>define_singleton_method</span><span class='lparen'>(</span><span class='id identifier rubyid_ele'>ele</span><span class='rparen'>)</span> <span class='lbrace'>{</span><span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='id identifier rubyid_ele'>ele</span><span class='rbracket'>]</span><span class='rbrace'>}</span>
1072
+ <span class='kw'>end</span></pre>
1073
+ </td>
1074
+ </tr>
1075
+ </table>
1076
+ </div>
1077
+
1078
+ <div class="method_details ">
1079
+ <h3 class="signature " id="create_element_methods-instance_method">
1080
+
1081
+ - (<tt>Object</tt>) <strong>create_element_methods</strong>
1082
+
1083
+
1084
+
1085
+
1086
+
1087
+ </h3><table class="source_code">
1088
+ <tr>
1089
+ <td>
1090
+ <pre class="lines">
1091
+
1092
+
1093
+ 107
1094
+ 108
1095
+ 109
1096
+ 110
1097
+ 111
1098
+ 112</pre>
1099
+ </td>
1100
+ <td>
1101
+ <pre class="code"><span class="info file"># File 'lib/cw/tone_generator.rb', line 107</span>
1102
+
1103
+ <span class='kw'>def</span> <span class='id identifier rubyid_create_element_methods'>create_element_methods</span>
1104
+ <span class='id identifier rubyid_elements'>elements</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_ele'>ele</span><span class='op'>|</span>
1105
+ <span class='comment'># progress.increment
1106
+ </span> <span class='id identifier rubyid_create_element_method'>create_element_method</span> <span class='id identifier rubyid_ele'>ele</span>
1107
+ <span class='kw'>end</span>
1108
+ <span class='kw'>end</span></pre>
1109
+ </td>
1110
+ </tr>
1111
+ </table>
1112
+ </div>
1113
+
1114
+ <div class="method_details ">
1115
+ <h3 class="signature " id="cw_encoding-instance_method">
1116
+
1117
+ - (<tt>Object</tt>) <strong>cw_encoding</strong>
1118
+
1119
+
1120
+
1121
+
1122
+
1123
+ </h3><table class="source_code">
1124
+ <tr>
1125
+ <td>
1126
+ <pre class="lines">
1127
+
1128
+
1129
+ 23
1130
+ 24
1131
+ 25</pre>
1132
+ </td>
1133
+ <td>
1134
+ <pre class="code"><span class="info file"># File 'lib/cw/tone_generator.rb', line 23</span>
1135
+
1136
+ <span class='kw'>def</span> <span class='id identifier rubyid_cw_encoding'>cw_encoding</span>
1137
+ <span class='ivar'>@encoding</span> <span class='op'>||=</span> <span class='const'>CwEncoding</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
1138
+ <span class='kw'>end</span></pre>
1139
+ </td>
1140
+ </tr>
1141
+ </table>
1142
+ </div>
1143
+
1144
+ <div class="method_details ">
1145
+ <h3 class="signature " id="data-instance_method">
1146
+
1147
+ - (<tt>Object</tt>) <strong>data</strong>
1148
+
1149
+
1150
+
1151
+
1152
+
1153
+ </h3><table class="source_code">
1154
+ <tr>
1155
+ <td>
1156
+ <pre class="lines">
1157
+
1158
+
1159
+ 51
1160
+ 52
1161
+ 53
1162
+ 54
1163
+ 55
1164
+ 56
1165
+ 57
1166
+ 58
1167
+ 59
1168
+ 60
1169
+ 61
1170
+ 62
1171
+ 63
1172
+ 64</pre>
1173
+ </td>
1174
+ <td>
1175
+ <pre class="code"><span class="info file"># File 'lib/cw/tone_generator.rb', line 51</span>
1176
+
1177
+ <span class='kw'>def</span> <span class='id identifier rubyid_data'>data</span>
1178
+ <span class='lbrace'>{</span> <span class='symbol'>:dot</span> <span class='op'>=&gt;</span> <span class='lbrace'>{</span><span class='symbol'>:name</span> <span class='op'>=&gt;</span> <span class='symbol'>:dot</span><span class='comma'>,</span>
1179
+ <span class='symbol'>:filename</span> <span class='op'>=&gt;</span> <span class='const'>DOT_FILENAME</span><span class='comma'>,</span>
1180
+ <span class='symbol'>:spb</span> <span class='op'>=&gt;</span> <span class='lparen'>(</span><span class='ivar'>@sample_rate</span> <span class='op'>*</span> <span class='float'>1.2</span> <span class='op'>/</span> <span class='ivar'>@wpm</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span> <span class='rbrace'>}</span><span class='comma'>,</span>
1181
+ <span class='symbol'>:dash</span> <span class='op'>=&gt;</span> <span class='lbrace'>{</span><span class='symbol'>:name</span> <span class='op'>=&gt;</span> <span class='symbol'>:dash</span><span class='comma'>,</span>
1182
+ <span class='symbol'>:filename</span> <span class='op'>=&gt;</span> <span class='const'>DASH_FILENAME</span><span class='comma'>,</span>
1183
+ <span class='symbol'>:spb</span> <span class='op'>=&gt;</span> <span class='lparen'>(</span><span class='ivar'>@sample_rate</span> <span class='op'>*</span> <span class='float'>3.6</span> <span class='op'>/</span> <span class='ivar'>@wpm</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span> <span class='rbrace'>}</span><span class='comma'>,</span>
1184
+ <span class='symbol'>:space</span> <span class='op'>=&gt;</span> <span class='lbrace'>{</span><span class='symbol'>:name</span> <span class='op'>=&gt;</span> <span class='symbol'>:space</span><span class='comma'>,</span>
1185
+ <span class='symbol'>:filename</span> <span class='op'>=&gt;</span> <span class='const'>SPACE_FILENAME</span> <span class='comma'>,</span>
1186
+ <span class='symbol'>:spb</span> <span class='op'>=&gt;</span> <span class='lparen'>(</span><span class='ivar'>@sample_rate</span> <span class='op'>*</span> <span class='float'>1.2</span> <span class='op'>/</span> <span class='ivar'>@wpm</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span> <span class='rbrace'>}</span><span class='comma'>,</span>
1187
+ <span class='symbol'>:e_space</span> <span class='op'>=&gt;</span> <span class='lbrace'>{</span><span class='symbol'>:name</span> <span class='op'>=&gt;</span> <span class='symbol'>:e_space</span><span class='comma'>,</span>
1188
+ <span class='symbol'>:filename</span> <span class='op'>=&gt;</span> <span class='const'>E_SPACE_FILENAME</span> <span class='comma'>,</span>
1189
+ <span class='symbol'>:spb</span> <span class='op'>=&gt;</span> <span class='lparen'>(</span><span class='ivar'>@sample_rate</span> <span class='op'>*</span> <span class='float'>1.2</span> <span class='op'>/</span> <span class='ivar'>@effective_wpm</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span> <span class='rbrace'>}</span><span class='rbrace'>}</span>
1190
+ <span class='kw'>end</span></pre>
1191
+ </td>
1192
+ </tr>
1193
+ </table>
1194
+ </div>
1195
+
1196
+ <div class="method_details ">
1197
+ <h3 class="signature " id="elements-instance_method">
1198
+
1199
+ - (<tt>Object</tt>) <strong>elements</strong>
1200
+
1201
+
1202
+
1203
+
1204
+
1205
+ </h3><table class="source_code">
1206
+ <tr>
1207
+ <td>
1208
+ <pre class="lines">
1209
+
1210
+
1211
+ 99
1212
+ 100
1213
+ 101</pre>
1214
+ </td>
1215
+ <td>
1216
+ <pre class="code"><span class="info file"># File 'lib/cw/tone_generator.rb', line 99</span>
1217
+
1218
+ <span class='kw'>def</span> <span class='id identifier rubyid_elements'>elements</span>
1219
+ <span class='lbracket'>[</span><span class='symbol'>:dot</span><span class='comma'>,</span> <span class='symbol'>:dash</span><span class='comma'>,</span> <span class='symbol'>:space</span><span class='comma'>,</span> <span class='symbol'>:e_space</span><span class='rbracket'>]</span>
1220
+ <span class='kw'>end</span></pre>
1221
+ </td>
1222
+ </tr>
1223
+ </table>
1224
+ </div>
1225
+
1226
+ <div class="method_details ">
1227
+ <h3 class="signature " id="filter_maybe-instance_method">
1228
+
1229
+ - (<tt>Object</tt>) <strong>filter_maybe</strong>(size, count)
1230
+
1231
+
1232
+
1233
+
1234
+
1235
+ </h3><table class="source_code">
1236
+ <tr>
1237
+ <td>
1238
+ <pre class="lines">
1239
+
1240
+
1241
+ 70
1242
+ 71
1243
+ 72
1244
+ 73
1245
+ 74
1246
+ 75</pre>
1247
+ </td>
1248
+ <td>
1249
+ <pre class="code"><span class="info file"># File 'lib/cw/tone_generator.rb', line 70</span>
1250
+
1251
+ <span class='kw'>def</span> <span class='id identifier rubyid_filter_maybe'>filter_maybe</span><span class='lparen'>(</span><span class='id identifier rubyid_size'>size</span><span class='comma'>,</span> <span class='id identifier rubyid_count'>count</span><span class='rparen'>)</span>
1252
+ <span class='id identifier rubyid_ramp'>ramp</span> <span class='op'>=</span> <span class='float'>0.05</span>
1253
+ <span class='id identifier rubyid_ramp_point'>ramp_point</span> <span class='op'>=</span> <span class='ivar'>@max_amplitude</span> <span class='op'>/</span> <span class='id identifier rubyid_ramp'>ramp</span>
1254
+ <span class='id identifier rubyid_ampl'>ampl</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_count'>count</span> <span class='op'>&lt;</span> <span class='id identifier rubyid_ramp_point'>ramp_point</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='lparen'>(</span><span class='id identifier rubyid_ramp'>ramp</span> <span class='op'>*</span> <span class='id identifier rubyid_count'>count</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='ivar'>@max_amplitude</span>
1255
+ <span class='lparen'>(</span><span class='id identifier rubyid_count'>count</span> <span class='op'>&gt;</span> <span class='lparen'>(</span><span class='id identifier rubyid_size'>size</span> <span class='op'>-</span> <span class='id identifier rubyid_ramp_point'>ramp_point</span><span class='rparen'>)</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='lparen'>(</span><span class='id identifier rubyid_ramp'>ramp</span> <span class='op'>*</span> <span class='lparen'>(</span><span class='id identifier rubyid_size'>size</span> <span class='op'>-</span> <span class='id identifier rubyid_count'>count</span><span class='rparen'>)</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_ampl'>ampl</span>
1256
+ <span class='kw'>end</span></pre>
1257
+ </td>
1258
+ </tr>
1259
+ </table>
1260
+ </div>
1261
+
1262
+ <div class="method_details ">
1263
+ <h3 class="signature " id="generate-instance_method">
1264
+
1265
+ - (<tt>Object</tt>) <strong>generate</strong>(wrds)
1266
+
1267
+
1268
+
1269
+
1270
+
1271
+ </h3><table class="source_code">
1272
+ <tr>
1273
+ <td>
1274
+ <pre class="lines">
1275
+
1276
+
1277
+ 35
1278
+ 36
1279
+ 37
1280
+ 38
1281
+ 39
1282
+ 40
1283
+ 41</pre>
1284
+ </td>
1285
+ <td>
1286
+ <pre class="code"><span class="info file"># File 'lib/cw/tone_generator.rb', line 35</span>
1287
+
1288
+ <span class='kw'>def</span> <span class='id identifier rubyid_generate'>generate</span> <span class='id identifier rubyid_wrds'>wrds</span>
1289
+ <span class='id identifier rubyid_word_parts'>word_parts</span><span class='lparen'>(</span><span class='id identifier rubyid_wrds'>wrds</span><span class='rparen'>)</span>
1290
+ <span class='comment'># progress.init elements.size * 3 + (wrds.size)
1291
+ </span> <span class='id identifier rubyid_create_element_methods'>create_element_methods</span>
1292
+ <span class='id identifier rubyid_compile_fundamentals'>compile_fundamentals</span>
1293
+ <span class='id identifier rubyid_write_word_parts'>write_word_parts</span>
1294
+ <span class='kw'>end</span></pre>
1295
+ </td>
1296
+ </tr>
1297
+ </table>
1298
+ </div>
1299
+
1300
+ <div class="method_details ">
1301
+ <h3 class="signature " id="generate_buffer-instance_method">
1302
+
1303
+ - (<tt>Object</tt>) <strong>generate_buffer</strong>(audio_samples, ele)
1304
+
1305
+
1306
+
1307
+
1308
+
1309
+ </h3><table class="source_code">
1310
+ <tr>
1311
+ <td>
1312
+ <pre class="lines">
1313
+
1314
+
1315
+ 89
1316
+ 90
1317
+ 91</pre>
1318
+ </td>
1319
+ <td>
1320
+ <pre class="code"><span class="info file"># File 'lib/cw/tone_generator.rb', line 89</span>
1321
+
1322
+ <span class='kw'>def</span> <span class='id identifier rubyid_generate_buffer'>generate_buffer</span> <span class='id identifier rubyid_audio_samples'>audio_samples</span><span class='comma'>,</span> <span class='id identifier rubyid_ele'>ele</span>
1323
+ <span class='const'>WaveFile</span><span class='op'>::</span><span class='const'>Buffer</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_audio_samples'>audio_samples</span><span class='comma'>,</span> <span class='const'>WaveFile</span><span class='op'>::</span><span class='const'>Format</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='symbol'>:mono</span><span class='comma'>,</span> <span class='symbol'>:float</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='id identifier rubyid_ele'>ele</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:spb</span><span class='rbracket'>]</span><span class='rparen'>)</span><span class='rparen'>)</span>
1324
+ <span class='kw'>end</span></pre>
1325
+ </td>
1326
+ </tr>
1327
+ </table>
1328
+ </div>
1329
+
1330
+ <div class="method_details ">
1331
+ <h3 class="signature " id="generate_samples-instance_method">
1332
+
1333
+ - (<tt>Object</tt>) <strong>generate_samples</strong>(ele)
1334
+
1335
+
1336
+
1337
+
1338
+
1339
+ </h3><table class="source_code">
1340
+ <tr>
1341
+ <td>
1342
+ <pre class="lines">
1343
+
1344
+
1345
+ 118
1346
+ 119
1347
+ 120
1348
+ 121</pre>
1349
+ </td>
1350
+ <td>
1351
+ <pre class="code"><span class="info file"># File 'lib/cw/tone_generator.rb', line 118</span>
1352
+
1353
+ <span class='kw'>def</span> <span class='id identifier rubyid_generate_samples'>generate_samples</span> <span class='id identifier rubyid_ele'>ele</span>
1354
+ <span class='kw'>return</span> <span class='id identifier rubyid_generate_space'>generate_space</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='id identifier rubyid_ele'>ele</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:spb</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_space_sample?'>space_sample?</span> <span class='id identifier rubyid_ele'>ele</span>
1355
+ <span class='id identifier rubyid_generate_tone'>generate_tone</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='id identifier rubyid_ele'>ele</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:spb</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_space_sample?'>space_sample?</span> <span class='id identifier rubyid_ele'>ele</span>
1356
+ <span class='kw'>end</span></pre>
1357
+ </td>
1358
+ </tr>
1359
+ </table>
1360
+ </div>
1361
+
1362
+ <div class="method_details ">
1363
+ <h3 class="signature " id="generate_space-instance_method">
1364
+
1365
+ - (<tt>Object</tt>) <strong>generate_space</strong>(number_of_samples)
1366
+
1367
+
1368
+
1369
+
1370
+
1371
+ </h3><table class="source_code">
1372
+ <tr>
1373
+ <td>
1374
+ <pre class="lines">
1375
+
1376
+
1377
+ 66
1378
+ 67
1379
+ 68</pre>
1380
+ </td>
1381
+ <td>
1382
+ <pre class="code"><span class="info file"># File 'lib/cw/tone_generator.rb', line 66</span>
1383
+
1384
+ <span class='kw'>def</span> <span class='id identifier rubyid_generate_space'>generate_space</span> <span class='id identifier rubyid_number_of_samples'>number_of_samples</span>
1385
+ <span class='lbracket'>[</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_fill'>fill</span><span class='lparen'>(</span><span class='float'>0.0</span><span class='comma'>,</span> <span class='int'>0</span><span class='comma'>,</span> <span class='id identifier rubyid_number_of_samples'>number_of_samples</span><span class='rparen'>)</span>
1386
+ <span class='kw'>end</span></pre>
1387
+ </td>
1388
+ </tr>
1389
+ </table>
1390
+ </div>
1391
+
1392
+ <div class="method_details ">
1393
+ <h3 class="signature " id="generate_tone-instance_method">
1394
+
1395
+ - (<tt>Object</tt>) <strong>generate_tone</strong>(number_of_samples)
1396
+
1397
+
1398
+
1399
+
1400
+
1401
+ </h3><table class="source_code">
1402
+ <tr>
1403
+ <td>
1404
+ <pre class="lines">
1405
+
1406
+
1407
+ 77
1408
+ 78
1409
+ 79
1410
+ 80
1411
+ 81
1412
+ 82
1413
+ 83
1414
+ 84
1415
+ 85
1416
+ 86
1417
+ 87</pre>
1418
+ </td>
1419
+ <td>
1420
+ <pre class="code"><span class="info file"># File 'lib/cw/tone_generator.rb', line 77</span>
1421
+
1422
+ <span class='kw'>def</span> <span class='id identifier rubyid_generate_tone'>generate_tone</span><span class='lparen'>(</span><span class='id identifier rubyid_number_of_samples'>number_of_samples</span><span class='rparen'>)</span>
1423
+ <span class='id identifier rubyid_position_in_period'>position_in_period</span><span class='comma'>,</span> <span class='id identifier rubyid_position_in_period_delta'>position_in_period_delta</span> <span class='op'>=</span> <span class='float'>0.0</span><span class='comma'>,</span> <span class='ivar'>@frequency</span> <span class='op'>/</span> <span class='ivar'>@sample_rate</span>
1424
+ <span class='id identifier rubyid_audio_samples'>audio_samples</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_fill'>fill</span><span class='lparen'>(</span><span class='float'>0.0</span><span class='comma'>,</span> <span class='int'>0</span><span class='comma'>,</span> <span class='id identifier rubyid_number_of_samples'>number_of_samples</span><span class='rparen'>)</span>
1425
+ <span class='id identifier rubyid_number_of_samples'>number_of_samples</span><span class='period'>.</span><span class='id identifier rubyid_times'>times</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_sample_number'>sample_number</span><span class='op'>|</span>
1426
+ <span class='id identifier rubyid_amplitude'>amplitude</span> <span class='op'>=</span> <span class='id identifier rubyid_filter_maybe'>filter_maybe</span><span class='lparen'>(</span><span class='id identifier rubyid_number_of_samples'>number_of_samples</span><span class='comma'>,</span> <span class='id identifier rubyid_sample_number'>sample_number</span><span class='rparen'>)</span>
1427
+ <span class='comment'># amplitude = 1.0 # @max_amplitude
1428
+ </span> <span class='id identifier rubyid_sine_radians'>sine_radians</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='lparen'>(</span><span class='ivar'>@frequency</span> <span class='op'>*</span> <span class='const'>TWO_PI</span><span class='rparen'>)</span> <span class='op'>/</span> <span class='ivar'>@sample_rate</span><span class='rparen'>)</span> <span class='op'>*</span> <span class='id identifier rubyid_sample_number'>sample_number</span>
1429
+ <span class='id identifier rubyid_audio_samples'>audio_samples</span><span class='lbracket'>[</span><span class='id identifier rubyid_sample_number'>sample_number</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_amplitude'>amplitude</span> <span class='op'>*</span> <span class='const'>Math</span><span class='period'>.</span><span class='id identifier rubyid_sin'>sin</span><span class='lparen'>(</span><span class='id identifier rubyid_sine_radians'>sine_radians</span><span class='rparen'>)</span>
1430
+ <span class='kw'>end</span>
1431
+ <span class='id identifier rubyid_audio_samples'>audio_samples</span>
1432
+ <span class='kw'>end</span></pre>
1433
+ </td>
1434
+ </tr>
1435
+ </table>
1436
+ </div>
1437
+
1438
+ <div class="method_details ">
1439
+ <h3 class="signature " id="last_element?-instance_method">
1440
+
1441
+ - (<tt>Boolean</tt>) <strong>last_element?</strong>(idx, chr)
1442
+
1443
+
1444
+
1445
+
1446
+
1447
+ </h3><div class="docstring">
1448
+ <div class="discussion">
1449
+
1450
+
1451
+ </div>
1452
+ </div>
1453
+ <div class="tags">
1454
+
1455
+ <p class="tag_title">Returns:</p>
1456
+ <ul class="return">
1457
+
1458
+ <li>
1459
+
1460
+
1461
+ <span class='type'>(<tt>Boolean</tt>)</span>
1462
+
1463
+
1464
+
1465
+ </li>
1466
+
1467
+ </ul>
1468
+
1469
+ </div><table class="source_code">
1470
+ <tr>
1471
+ <td>
1472
+ <pre class="lines">
1473
+
1474
+
1475
+ 136
1476
+ 137
1477
+ 138</pre>
1478
+ </td>
1479
+ <td>
1480
+ <pre class="code"><span class="info file"># File 'lib/cw/tone_generator.rb', line 136</span>
1481
+
1482
+ <span class='kw'>def</span> <span class='id identifier rubyid_last_element?'>last_element?</span> <span class='id identifier rubyid_idx'>idx</span><span class='comma'>,</span> <span class='id identifier rubyid_chr'>chr</span>
1483
+ <span class='id identifier rubyid_idx'>idx</span> <span class='op'>==</span> <span class='id identifier rubyid_chr'>chr</span><span class='period'>.</span><span class='id identifier rubyid_size'>size</span> <span class='op'>-</span> <span class='int'>1</span>
1484
+ <span class='kw'>end</span></pre>
1485
+ </td>
1486
+ </tr>
1487
+ </table>
1488
+ </div>
1489
+
1490
+ <div class="method_details ">
1491
+ <h3 class="signature " id="make_word_parts-instance_method">
1492
+
1493
+ - (<tt>Object</tt>) <strong>make_word_parts</strong>(words)
1494
+
1495
+
1496
+
1497
+
1498
+
1499
+ </h3><table class="source_code">
1500
+ <tr>
1501
+ <td>
1502
+ <pre class="lines">
1503
+
1504
+
1505
+ 166
1506
+ 167
1507
+ 168
1508
+ 169
1509
+ 170
1510
+ 171
1511
+ 172
1512
+ 173</pre>
1513
+ </td>
1514
+ <td>
1515
+ <pre class="code"><span class="info file"># File 'lib/cw/tone_generator.rb', line 166</span>
1516
+
1517
+ <span class='kw'>def</span> <span class='id identifier rubyid_make_word_parts'>make_word_parts</span> <span class='id identifier rubyid_words'>words</span>
1518
+ <span class='id identifier rubyid_parts'>parts</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
1519
+ <span class='ivar'>@word_parts</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_part'>part</span><span class='op'>|</span>
1520
+ <span class='comment'># progress.increment
1521
+ </span> <span class='id identifier rubyid_parts'>parts</span> <span class='op'>+=</span> <span class='id identifier rubyid_send_char'>send_char</span> <span class='id identifier rubyid_part'>part</span><span class='period'>.</span><span class='id identifier rubyid_downcase'>downcase</span>
1522
+ <span class='kw'>end</span>
1523
+ <span class='id identifier rubyid_parts'>parts</span>
1524
+ <span class='kw'>end</span></pre>
1525
+ </td>
1526
+ </tr>
1527
+ </table>
1528
+ </div>
1529
+
1530
+ <div class="method_details ">
1531
+ <h3 class="signature " id="play-instance_method">
1532
+
1533
+ - (<tt>Object</tt>) <strong>play</strong>
1534
+
1535
+
1536
+
1537
+
1538
+
1539
+ </h3><table class="source_code">
1540
+ <tr>
1541
+ <td>
1542
+ <pre class="lines">
1543
+
1544
+
1545
+ 47
1546
+ 48
1547
+ 49
1548
+ 50</pre>
1549
+ </td>
1550
+ <td>
1551
+ <pre class="code"><span class="info file"># File 'lib/cw/tone_generator.rb', line 47</span>
1552
+
1553
+ <span class='kw'>def</span> <span class='id identifier rubyid_play'>play</span>
1554
+ <span class='id identifier rubyid_cmd'>cmd</span> <span class='op'>=</span> <span class='id identifier rubyid_play_command'>play_command</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'> </span><span class='tstring_end'>&#39;</span></span> <span class='op'>+</span> <span class='id identifier rubyid_play_filename'>play_filename</span>
1555
+ <span class='ivar'>@pid</span> <span class='op'>=</span> <span class='op'>!</span> <span class='ivar'>@dry_run</span> <span class='op'>?</span> <span class='const'>Process</span><span class='period'>.</span><span class='id identifier rubyid_spawn'>spawn</span><span class='lparen'>(</span><span class='id identifier rubyid_cmd'>cmd</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_cmd'>cmd</span>
1556
+ <span class='kw'>end</span></pre>
1557
+ </td>
1558
+ </tr>
1559
+ </table>
1560
+ </div>
1561
+
1562
+ <div class="method_details ">
1563
+ <h3 class="signature " id="play_filename-instance_method">
1564
+
1565
+ - (<tt>Object</tt>) <strong>play_filename</strong>
1566
+
1567
+
1568
+
1569
+
1570
+
1571
+ </h3><table class="source_code">
1572
+ <tr>
1573
+ <td>
1574
+ <pre class="lines">
1575
+
1576
+
1577
+ 43
1578
+ 44
1579
+ 45</pre>
1580
+ </td>
1581
+ <td>
1582
+ <pre class="code"><span class="info file"># File 'lib/cw/tone_generator.rb', line 43</span>
1583
+
1584
+ <span class='kw'>def</span> <span class='id identifier rubyid_play_filename'>play_filename</span>
1585
+ <span class='const'>HERE</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>audio/</span><span class='embexpr_beg'>#{</span><span class='const'>Params</span><span class='period'>.</span><span class='id identifier rubyid_audio_filename'>audio_filename</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span>
1586
+ <span class='kw'>end</span></pre>
1587
+ </td>
1588
+ </tr>
1589
+ </table>
1590
+ </div>
1591
+
1592
+ <div class="method_details ">
1593
+ <h3 class="signature " id="prepare_buffers-instance_method">
1594
+
1595
+ - (<tt>Object</tt>) <strong>prepare_buffers</strong>
1596
+
1597
+
1598
+
1599
+
1600
+
1601
+ </h3><table class="source_code">
1602
+ <tr>
1603
+ <td>
1604
+ <pre class="lines">
1605
+
1606
+
1607
+ 175
1608
+ 176
1609
+ 177
1610
+ 178
1611
+ 179
1612
+ 180
1613
+ 181
1614
+ 182
1615
+ 183
1616
+ 184
1617
+ 185</pre>
1618
+ </td>
1619
+ <td>
1620
+ <pre class="code"><span class="info file"># File 'lib/cw/tone_generator.rb', line 175</span>
1621
+
1622
+ <span class='kw'>def</span> <span class='id identifier rubyid_prepare_buffers'>prepare_buffers</span>
1623
+ <span class='ivar'>@buffers</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
1624
+ <span class='id identifier rubyid_elements'>elements</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_ele'>ele</span><span class='op'>|</span>
1625
+ <span class='comment'># progress.increment
1626
+ </span> <span class='ivar'>@buffers</span><span class='lbracket'>[</span><span class='id identifier rubyid_ele'>ele</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
1627
+ <span class='const'>WaveFile</span><span class='op'>::</span><span class='const'>Reader</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='id identifier rubyid_ele'>ele</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:filename</span><span class='rbracket'>]</span><span class='rparen'>)</span><span class='period'>.</span>
1628
+ <span class='id identifier rubyid_each_buffer'>each_buffer</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='id identifier rubyid_ele'>ele</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:spb</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_buffer'>buffer</span><span class='op'>|</span>
1629
+ <span class='ivar'>@buffers</span><span class='lbracket'>[</span><span class='id identifier rubyid_ele'>ele</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_buffer'>buffer</span>
1630
+ <span class='kw'>end</span>
1631
+ <span class='kw'>end</span>
1632
+ <span class='kw'>end</span></pre>
1633
+ </td>
1634
+ </tr>
1635
+ </table>
1636
+ </div>
1637
+
1638
+ <div class="method_details ">
1639
+ <h3 class="signature " id="progress-instance_method">
1640
+
1641
+ - (<tt>Object</tt>) <strong>progress</strong>
1642
+
1643
+
1644
+
1645
+
1646
+
1647
+ </h3><table class="source_code">
1648
+ <tr>
1649
+ <td>
1650
+ <pre class="lines">
1651
+
1652
+
1653
+ 31
1654
+ 32
1655
+ 33</pre>
1656
+ </td>
1657
+ <td>
1658
+ <pre class="code"><span class="info file"># File 'lib/cw/tone_generator.rb', line 31</span>
1659
+
1660
+ <span class='kw'>def</span> <span class='id identifier rubyid_progress'>progress</span>
1661
+ <span class='ivar'>@progress</span> <span class='op'>||=</span> <span class='const'>Progress</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Compiling</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
1662
+ <span class='kw'>end</span></pre>
1663
+ </td>
1664
+ </tr>
1665
+ </table>
1666
+ </div>
1667
+
1668
+ <div class="method_details ">
1669
+ <h3 class="signature " id="push_enc-instance_method">
1670
+
1671
+ - (<tt>Object</tt>) <strong>push_enc</strong>(chr)
1672
+
1673
+
1674
+
1675
+
1676
+
1677
+ </h3><table class="source_code">
1678
+ <tr>
1679
+ <td>
1680
+ <pre class="lines">
1681
+
1682
+
1683
+ 140
1684
+ 141
1685
+ 142
1686
+ 143
1687
+ 144
1688
+ 145
1689
+ 146
1690
+ 147</pre>
1691
+ </td>
1692
+ <td>
1693
+ <pre class="code"><span class="info file"># File 'lib/cw/tone_generator.rb', line 140</span>
1694
+
1695
+ <span class='kw'>def</span> <span class='id identifier rubyid_push_enc'>push_enc</span> <span class='id identifier rubyid_chr'>chr</span>
1696
+ <span class='id identifier rubyid_arry'>arry</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
1697
+ <span class='id identifier rubyid_chr'>chr</span><span class='period'>.</span><span class='id identifier rubyid_each_with_index'>each_with_index</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_c'>c</span><span class='comma'>,</span><span class='id identifier rubyid_idx'>idx</span><span class='op'>|</span>
1698
+ <span class='id identifier rubyid_arry'>arry</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_c'>c</span>
1699
+ <span class='id identifier rubyid_arry'>arry</span> <span class='op'>&lt;&lt;</span> <span class='lparen'>(</span><span class='lparen'>(</span><span class='id identifier rubyid_last_element?'>last_element?</span><span class='lparen'>(</span><span class='id identifier rubyid_idx'>idx</span><span class='comma'>,</span> <span class='id identifier rubyid_chr'>chr</span><span class='rparen'>)</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='lparen'>(</span><span class='id identifier rubyid_space_or_espace'>space_or_espace</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_space'>space</span><span class='rparen'>)</span>
1700
+ <span class='kw'>end</span>
1701
+ <span class='id identifier rubyid_arry'>arry</span> <span class='op'>+=</span> <span class='id identifier rubyid_char_space'>char_space</span>
1702
+ <span class='kw'>end</span></pre>
1703
+ </td>
1704
+ </tr>
1705
+ </table>
1706
+ </div>
1707
+
1708
+ <div class="method_details ">
1709
+ <h3 class="signature " id="reset-instance_method">
1710
+
1711
+ - (<tt>Object</tt>) <strong>reset</strong>
1712
+
1713
+
1714
+
1715
+
1716
+
1717
+ </h3><table class="source_code">
1718
+ <tr>
1719
+ <td>
1720
+ <pre class="lines">
1721
+
1722
+
1723
+ 215
1724
+ 216
1725
+ 217
1726
+ 218</pre>
1727
+ </td>
1728
+ <td>
1729
+ <pre class="code"><span class="info file"># File 'lib/cw/tone_generator.rb', line 215</span>
1730
+
1731
+ <span class='kw'>def</span> <span class='id identifier rubyid_reset'>reset</span>
1732
+ <span class='ivar'>@word_parts</span> <span class='op'>=</span> <span class='ivar'>@progress</span> <span class='op'>=</span> <span class='kw'>nil</span>
1733
+ <span class='comment'># puts &quot;\r&quot;
1734
+ </span><span class='kw'>end</span></pre>
1735
+ </td>
1736
+ </tr>
1737
+ </table>
1738
+ </div>
1739
+
1740
+ <div class="method_details ">
1741
+ <h3 class="signature " id="send_char-instance_method">
1742
+
1743
+ - (<tt>Object</tt>) <strong>send_char</strong>(c)
1744
+
1745
+
1746
+
1747
+
1748
+
1749
+ </h3><table class="source_code">
1750
+ <tr>
1751
+ <td>
1752
+ <pre class="lines">
1753
+
1754
+
1755
+ 149
1756
+ 150
1757
+ 151
1758
+ 152
1759
+ 153
1760
+ 154
1761
+ 155
1762
+ 156</pre>
1763
+ </td>
1764
+ <td>
1765
+ <pre class="code"><span class="info file"># File 'lib/cw/tone_generator.rb', line 149</span>
1766
+
1767
+ <span class='kw'>def</span> <span class='id identifier rubyid_send_char'>send_char</span> <span class='id identifier rubyid_c'>c</span>
1768
+ <span class='kw'>if</span> <span class='id identifier rubyid_c'>c</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'> </span><span class='tstring_end'>&#39;</span></span>
1769
+ <span class='id identifier rubyid_enc'>enc</span> <span class='op'>=</span> <span class='id identifier rubyid_word_space'>word_space</span>
1770
+ <span class='kw'>else</span>
1771
+ <span class='id identifier rubyid_enc'>enc</span> <span class='op'>=</span> <span class='id identifier rubyid_cw_encoding'>cw_encoding</span><span class='period'>.</span><span class='id identifier rubyid_fetch'>fetch</span><span class='lparen'>(</span><span class='id identifier rubyid_c'>c</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_enc'>enc</span><span class='op'>|</span> <span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='id identifier rubyid_enc'>enc</span><span class='rparen'>)</span><span class='rbrace'>}</span>
1772
+ <span class='kw'>end</span>
1773
+ <span class='id identifier rubyid_push_enc'>push_enc</span> <span class='id identifier rubyid_enc'>enc</span>
1774
+ <span class='kw'>end</span></pre>
1775
+ </td>
1776
+ </tr>
1777
+ </table>
1778
+ </div>
1779
+
1780
+ <div class="method_details ">
1781
+ <h3 class="signature " id="space_or_espace-instance_method">
1782
+
1783
+ - (<tt>Object</tt>) <strong>space_or_espace</strong>
1784
+
1785
+
1786
+
1787
+
1788
+
1789
+ </h3><table class="source_code">
1790
+ <tr>
1791
+ <td>
1792
+ <pre class="lines">
1793
+
1794
+
1795
+ 132
1796
+ 133
1797
+ 134</pre>
1798
+ </td>
1799
+ <td>
1800
+ <pre class="code"><span class="info file"># File 'lib/cw/tone_generator.rb', line 132</span>
1801
+
1802
+ <span class='kw'>def</span> <span class='id identifier rubyid_space_or_espace'>space_or_espace</span>
1803
+ <span class='lparen'>(</span><span class='ivar'>@effective_wpm</span> <span class='op'>==</span> <span class='ivar'>@wpm</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_space'>space</span> <span class='op'>:</span> <span class='id identifier rubyid_e_space'>e_space</span>
1804
+ <span class='kw'>end</span></pre>
1805
+ </td>
1806
+ </tr>
1807
+ </table>
1808
+ </div>
1809
+
1810
+ <div class="method_details ">
1811
+ <h3 class="signature " id="space_sample?-instance_method">
1812
+
1813
+ - (<tt>Boolean</tt>) <strong>space_sample?</strong>(ele)
1814
+
1815
+
1816
+
1817
+
1818
+
1819
+ </h3><div class="docstring">
1820
+ <div class="discussion">
1821
+
1822
+
1823
+ </div>
1824
+ </div>
1825
+ <div class="tags">
1826
+
1827
+ <p class="tag_title">Returns:</p>
1828
+ <ul class="return">
1829
+
1830
+ <li>
1831
+
1832
+
1833
+ <span class='type'>(<tt>Boolean</tt>)</span>
1834
+
1835
+
1836
+
1837
+ </li>
1838
+
1839
+ </ul>
1840
+
1841
+ </div><table class="source_code">
1842
+ <tr>
1843
+ <td>
1844
+ <pre class="lines">
1845
+
1846
+
1847
+ 114
1848
+ 115
1849
+ 116</pre>
1850
+ </td>
1851
+ <td>
1852
+ <pre class="code"><span class="info file"># File 'lib/cw/tone_generator.rb', line 114</span>
1853
+
1854
+ <span class='kw'>def</span> <span class='id identifier rubyid_space_sample?'>space_sample?</span> <span class='id identifier rubyid_ele'>ele</span>
1855
+ <span class='id identifier rubyid_ele'>ele</span> <span class='op'>==</span> <span class='symbol'>:space</span> <span class='op'>||</span> <span class='id identifier rubyid_ele'>ele</span> <span class='op'>==</span> <span class='symbol'>:e_space</span>
1856
+ <span class='kw'>end</span></pre>
1857
+ </td>
1858
+ </tr>
1859
+ </table>
1860
+ </div>
1861
+
1862
+ <div class="method_details ">
1863
+ <h3 class="signature " id="word_composite-instance_method">
1864
+
1865
+ - (<tt>Object</tt>) <strong>word_composite</strong>(word)
1866
+
1867
+
1868
+
1869
+
1870
+
1871
+ </h3><table class="source_code">
1872
+ <tr>
1873
+ <td>
1874
+ <pre class="lines">
1875
+
1876
+
1877
+ 200
1878
+ 201
1879
+ 202</pre>
1880
+ </td>
1881
+ <td>
1882
+ <pre class="code"><span class="info file"># File 'lib/cw/tone_generator.rb', line 200</span>
1883
+
1884
+ <span class='kw'>def</span> <span class='id identifier rubyid_word_composite'>word_composite</span> <span class='id identifier rubyid_word'>word</span>
1885
+ <span class='id identifier rubyid_send_char'>send_char</span> <span class='id identifier rubyid_word'>word</span><span class='period'>.</span><span class='id identifier rubyid_downcase'>downcase</span>
1886
+ <span class='kw'>end</span></pre>
1887
+ </td>
1888
+ </tr>
1889
+ </table>
1890
+ </div>
1891
+
1892
+ <div class="method_details ">
1893
+ <h3 class="signature " id="word_parts-instance_method">
1894
+
1895
+ - (<tt>Object</tt>) <strong>word_parts</strong>(str = nil)
1896
+
1897
+
1898
+
1899
+
1900
+
1901
+ </h3><table class="source_code">
1902
+ <tr>
1903
+ <td>
1904
+ <pre class="lines">
1905
+
1906
+
1907
+ 158
1908
+ 159
1909
+ 160
1910
+ 161
1911
+ 162
1912
+ 163</pre>
1913
+ </td>
1914
+ <td>
1915
+ <pre class="code"><span class="info file"># File 'lib/cw/tone_generator.rb', line 158</span>
1916
+
1917
+ <span class='kw'>def</span> <span class='id identifier rubyid_word_parts'>word_parts</span> <span class='id identifier rubyid_str'>str</span> <span class='op'>=</span> <span class='kw'>nil</span>
1918
+ <span class='kw'>return</span> <span class='ivar'>@word_parts</span> <span class='kw'>if</span> <span class='ivar'>@word_parts</span>
1919
+ <span class='ivar'>@word_parts</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
1920
+ <span class='id identifier rubyid_str'>str</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_part'>part</span><span class='op'>|</span> <span class='ivar'>@word_parts</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_part'>part</span><span class='rbrace'>}</span>
1921
+ <span class='ivar'>@word_parts</span>
1922
+ <span class='kw'>end</span></pre>
1923
+ </td>
1924
+ </tr>
1925
+ </table>
1926
+ </div>
1927
+
1928
+ <div class="method_details ">
1929
+ <h3 class="signature " id="word_space-instance_method">
1930
+
1931
+ - (<tt>Object</tt>) <strong>word_space</strong>
1932
+
1933
+
1934
+
1935
+
1936
+
1937
+ </h3><table class="source_code">
1938
+ <tr>
1939
+ <td>
1940
+ <pre class="lines">
1941
+
1942
+
1943
+ 196
1944
+ 197
1945
+ 198</pre>
1946
+ </td>
1947
+ <td>
1948
+ <pre class="code"><span class="info file"># File 'lib/cw/tone_generator.rb', line 196</span>
1949
+
1950
+ <span class='kw'>def</span> <span class='id identifier rubyid_word_space'>word_space</span>
1951
+ <span class='ivar'>@effective_wpm</span> <span class='op'>==</span> <span class='ivar'>@wpm</span> <span class='op'>?</span> <span class='lbracket'>[</span><span class='id identifier rubyid_space'>space</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='lbracket'>[</span><span class='id identifier rubyid_e_space'>e_space</span><span class='rbracket'>]</span>
1952
+ <span class='kw'>end</span></pre>
1953
+ </td>
1954
+ </tr>
1955
+ </table>
1956
+ </div>
1957
+
1958
+ <div class="method_details ">
1959
+ <h3 class="signature " id="write_audio-instance_method">
1960
+
1961
+ - (<tt>Object</tt>) <strong>write_audio</strong>
1962
+
1963
+
1964
+
1965
+
1966
+
1967
+ </h3><table class="source_code">
1968
+ <tr>
1969
+ <td>
1970
+ <pre class="lines">
1971
+
1972
+
1973
+ 204
1974
+ 205
1975
+ 206
1976
+ 207
1977
+ 208
1978
+ 209
1979
+ 210
1980
+ 211
1981
+ 212
1982
+ 213</pre>
1983
+ </td>
1984
+ <td>
1985
+ <pre class="code"><span class="info file"># File 'lib/cw/tone_generator.rb', line 204</span>
1986
+
1987
+ <span class='kw'>def</span> <span class='id identifier rubyid_write_audio'>write_audio</span>
1988
+ <span class='const'>WaveFile</span><span class='op'>::</span><span class='const'>Writer</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_play_filename'>play_filename</span><span class='comma'>,</span> <span class='const'>WaveFile</span><span class='op'>::</span><span class='const'>Format</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='symbol'>:mono</span><span class='comma'>,</span> <span class='symbol'>:pcm_16</span><span class='comma'>,</span> <span class='ivar'>@sample_rate</span><span class='rparen'>)</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_writer'>writer</span><span class='op'>|</span>
1989
+ <span class='kw'>yield</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_char'>char</span><span class='op'>|</span>
1990
+ <span class='comment'># progress.increment
1991
+ </span> <span class='id identifier rubyid_char'>char</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_fta'>fta</span><span class='op'>|</span>
1992
+ <span class='id identifier rubyid_writer'>writer</span><span class='period'>.</span><span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='ivar'>@buffers</span><span class='lbracket'>[</span><span class='id identifier rubyid_fta'>fta</span><span class='lbracket'>[</span><span class='symbol'>:name</span><span class='rbracket'>]</span><span class='rbracket'>]</span><span class='rparen'>)</span>
1993
+ <span class='kw'>end</span>
1994
+ <span class='kw'>end</span>
1995
+ <span class='kw'>end</span>
1996
+ <span class='kw'>end</span></pre>
1997
+ </td>
1998
+ </tr>
1999
+ </table>
2000
+ </div>
2001
+
2002
+ <div class="method_details ">
2003
+ <h3 class="signature " id="write_audio_file-instance_method">
2004
+
2005
+ - (<tt>Object</tt>) <strong>write_audio_file</strong>
2006
+
2007
+
2008
+
2009
+
2010
+
2011
+ </h3><table class="source_code">
2012
+ <tr>
2013
+ <td>
2014
+ <pre class="lines">
2015
+
2016
+
2017
+ 220
2018
+ 221
2019
+ 222
2020
+ 223</pre>
2021
+ </td>
2022
+ <td>
2023
+ <pre class="code"><span class="info file"># File 'lib/cw/tone_generator.rb', line 220</span>
2024
+
2025
+ <span class='kw'>def</span> <span class='id identifier rubyid_write_audio_file'>write_audio_file</span>
2026
+ <span class='id identifier rubyid_write_audio'>write_audio</span> <span class='lbrace'>{</span> <span class='ivar'>@word_parts</span><span class='period'>.</span><span class='id identifier rubyid_collect'>collect</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_part'>part</span><span class='op'>|</span> <span class='id identifier rubyid_word_composite'>word_composite</span><span class='lparen'>(</span><span class='id identifier rubyid_part'>part</span><span class='rparen'>)</span> <span class='rbrace'>}</span> <span class='rbrace'>}</span>
2027
+ <span class='id identifier rubyid_reset'>reset</span>
2028
+ <span class='kw'>end</span></pre>
2029
+ </td>
2030
+ </tr>
2031
+ </table>
2032
+ </div>
2033
+
2034
+ <div class="method_details ">
2035
+ <h3 class="signature " id="write_element_audio_file-instance_method">
2036
+
2037
+ - (<tt>Object</tt>) <strong>write_element_audio_file</strong>(ele, buffer)
2038
+
2039
+
2040
+
2041
+
2042
+
2043
+ </h3><table class="source_code">
2044
+ <tr>
2045
+ <td>
2046
+ <pre class="lines">
2047
+
2048
+
2049
+ 93
2050
+ 94
2051
+ 95
2052
+ 96
2053
+ 97</pre>
2054
+ </td>
2055
+ <td>
2056
+ <pre class="code"><span class="info file"># File 'lib/cw/tone_generator.rb', line 93</span>
2057
+
2058
+ <span class='kw'>def</span> <span class='id identifier rubyid_write_element_audio_file'>write_element_audio_file</span> <span class='id identifier rubyid_ele'>ele</span><span class='comma'>,</span> <span class='id identifier rubyid_buffer'>buffer</span>
2059
+ <span class='const'>WaveFile</span><span class='op'>::</span><span class='const'>Writer</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='id identifier rubyid_ele'>ele</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:filename</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='const'>WaveFile</span><span class='op'>::</span><span class='const'>Format</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='symbol'>:mono</span><span class='comma'>,</span> <span class='symbol'>:pcm_16</span><span class='comma'>,</span> <span class='ivar'>@sample_rate</span><span class='rparen'>)</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_writer'>writer</span><span class='op'>|</span>
2060
+ <span class='id identifier rubyid_writer'>writer</span><span class='period'>.</span><span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='id identifier rubyid_buffer'>buffer</span><span class='rparen'>)</span>
2061
+ <span class='kw'>end</span>
2062
+ <span class='kw'>end</span></pre>
2063
+ </td>
2064
+ </tr>
2065
+ </table>
2066
+ </div>
2067
+
2068
+ <div class="method_details ">
2069
+ <h3 class="signature " id="write_word_parts-instance_method">
2070
+
2071
+ - (<tt>Object</tt>) <strong>write_word_parts</strong>
2072
+
2073
+
2074
+
2075
+
2076
+
2077
+ </h3><table class="source_code">
2078
+ <tr>
2079
+ <td>
2080
+ <pre class="lines">
2081
+
2082
+
2083
+ 187
2084
+ 188
2085
+ 189
2086
+ 190</pre>
2087
+ </td>
2088
+ <td>
2089
+ <pre class="code"><span class="info file"># File 'lib/cw/tone_generator.rb', line 187</span>
2090
+
2091
+ <span class='kw'>def</span> <span class='id identifier rubyid_write_word_parts'>write_word_parts</span>
2092
+ <span class='id identifier rubyid_prepare_buffers'>prepare_buffers</span>
2093
+ <span class='id identifier rubyid_write_audio_file'>write_audio_file</span>
2094
+ <span class='kw'>end</span></pre>
2095
+ </td>
2096
+ </tr>
2097
+ </table>
2098
+ </div>
2099
+
2100
+ </div>
2101
+
2102
+ </div>
2103
+
2104
+ <div id="footer">
2105
+ Generated on Mon May 23 21:20:17 2016 by
2106
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
2107
+ 0.8.7.6 (ruby-2.2.0).
2108
+ </div>
2109
+
2110
+ </body>
2111
+ </html>