annotate Aug_19th.html @ 3:b798246629dd

fix Aug_19th
author Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
date Tue, 19 Aug 2014 20:41:29 +0900
parents 69de65730c71
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
1308906213ab add files
masa
parents:
diff changeset
1 <!DOCTYPE html>
1308906213ab add files
masa
parents:
diff changeset
2 <html>
1308906213ab add files
masa
parents:
diff changeset
3 <head>
1308906213ab add files
masa
parents:
diff changeset
4 <meta http-equiv="content-type" content="text/html;charset=utf-8">
1308906213ab add files
masa
parents:
diff changeset
5 <title>22st,July</title>
1308906213ab add files
masa
parents:
diff changeset
6
1308906213ab add files
masa
parents:
diff changeset
7 <!--
1308906213ab add files
masa
parents:
diff changeset
8 Notes on CSS media types used:
1308906213ab add files
masa
parents:
diff changeset
9
1308906213ab add files
masa
parents:
diff changeset
10 1) projection -> slideshow mode (display one slide at-a-time; hide all others)
1308906213ab add files
masa
parents:
diff changeset
11 2) screen -> outline mode (display all slides-at-once on screen)
1308906213ab add files
masa
parents:
diff changeset
12 3) print -> print (and print preview)
1308906213ab add files
masa
parents:
diff changeset
13
1308906213ab add files
masa
parents:
diff changeset
14 Note: toggle between projection/screen (that is, slideshow/outline) mode using t-key
1308906213ab add files
masa
parents:
diff changeset
15
1308906213ab add files
masa
parents:
diff changeset
16 Questions, comments?
1308906213ab add files
masa
parents:
diff changeset
17 - send them along to the mailinglist/forum online @ http://groups.google.com/group/webslideshow
1308906213ab add files
masa
parents:
diff changeset
18 -->
1308906213ab add files
masa
parents:
diff changeset
19
1308906213ab add files
masa
parents:
diff changeset
20 <!-- styles -->
1308906213ab add files
masa
parents:
diff changeset
21 <style media="screen,projection">
1308906213ab add files
masa
parents:
diff changeset
22
1308906213ab add files
masa
parents:
diff changeset
23 html,
1308906213ab add files
masa
parents:
diff changeset
24 body,
1308906213ab add files
masa
parents:
diff changeset
25 .presentation { margin: 0; padding: 0; }
1308906213ab add files
masa
parents:
diff changeset
26
1308906213ab add files
masa
parents:
diff changeset
27 .slide { display: none;
1308906213ab add files
masa
parents:
diff changeset
28 position: absolute;
1308906213ab add files
masa
parents:
diff changeset
29 top: 0; left: 0;
1308906213ab add files
masa
parents:
diff changeset
30 margin: 0;
1308906213ab add files
masa
parents:
diff changeset
31 border: none;
1308906213ab add files
masa
parents:
diff changeset
32 padding: 2% 4% 0% 4%; /* css note: order is => top right bottom left */
1308906213ab add files
masa
parents:
diff changeset
33 -moz-box-sizing: border-box;
1308906213ab add files
masa
parents:
diff changeset
34 -webkit-box-sizing: border-box;
1308906213ab add files
masa
parents:
diff changeset
35 box-sizing: border-box;
1308906213ab add files
masa
parents:
diff changeset
36 width: 100%; height: 100%; /* css note: lets use border-box; no need to add padding+border to get to 100% */
1308906213ab add files
masa
parents:
diff changeset
37 overflow-x: hidden; overflow-y: auto;
1308906213ab add files
masa
parents:
diff changeset
38 z-index: 2;
1308906213ab add files
masa
parents:
diff changeset
39 }
1308906213ab add files
masa
parents:
diff changeset
40
1308906213ab add files
masa
parents:
diff changeset
41 .slide.current { display: block; } /* only display current slide in projection mode */
1308906213ab add files
masa
parents:
diff changeset
42
1308906213ab add files
masa
parents:
diff changeset
43 .slide .stepcurrent { color: black; }
1308906213ab add files
masa
parents:
diff changeset
44 .slide .step { color: silver; } /* or hide next steps e.g. .step { visibility: hidden; } */
1308906213ab add files
masa
parents:
diff changeset
45
1308906213ab add files
masa
parents:
diff changeset
46 .slide {
1308906213ab add files
masa
parents:
diff changeset
47 /*
1308906213ab add files
masa
parents:
diff changeset
48 background-image: -webkit-linear-gradient(top, blue, aqua, blue, aqua);
1308906213ab add files
masa
parents:
diff changeset
49 background-image: -moz-linear-gradient(top, blue, aqua, blue, aqua);
1308906213ab add files
masa
parents:
diff changeset
50 */
1308906213ab add files
masa
parents:
diff changeset
51 }
1308906213ab add files
masa
parents:
diff changeset
52 </style>
1308906213ab add files
masa
parents:
diff changeset
53
1308906213ab add files
masa
parents:
diff changeset
54 <style media="screen">
1308906213ab add files
masa
parents:
diff changeset
55 .slide { border-top: 1px solid #888; }
1308906213ab add files
masa
parents:
diff changeset
56 .slide:first-child { border: none; }
1308906213ab add files
masa
parents:
diff changeset
57 </style>
1308906213ab add files
masa
parents:
diff changeset
58
1308906213ab add files
masa
parents:
diff changeset
59 <style media="print">
1308906213ab add files
masa
parents:
diff changeset
60 .slide { page-break-inside: avoid; }
1308906213ab add files
masa
parents:
diff changeset
61 .slide h1 { page-break-after: avoid; }
1308906213ab add files
masa
parents:
diff changeset
62 .slide ul { page-break-inside: avoid; }
1308906213ab add files
masa
parents:
diff changeset
63 </style>
1308906213ab add files
masa
parents:
diff changeset
64
1308906213ab add files
masa
parents:
diff changeset
65
1308906213ab add files
masa
parents:
diff changeset
66 <!-- add js lib (jquery) -->
1308906213ab add files
masa
parents:
diff changeset
67 <script src="js/jquery-1.7.min.js"></script>
1308906213ab add files
masa
parents:
diff changeset
68
1308906213ab add files
masa
parents:
diff changeset
69 <!-- S6 JS -->
1308906213ab add files
masa
parents:
diff changeset
70 <script src="js/jquery.slideshow.js"></script>
1308906213ab add files
masa
parents:
diff changeset
71 <script src="js/jquery.slideshow.counter.js"></script>
1308906213ab add files
masa
parents:
diff changeset
72 <script src="js/jquery.slideshow.controls.js"></script>
1308906213ab add files
masa
parents:
diff changeset
73 <script>
1308906213ab add files
masa
parents:
diff changeset
74 $(document).ready( function() {
1308906213ab add files
masa
parents:
diff changeset
75 Slideshow.init();
1308906213ab add files
masa
parents:
diff changeset
76
1308906213ab add files
masa
parents:
diff changeset
77 // Example 2: Start Off in Outline Mode
1308906213ab add files
masa
parents:
diff changeset
78 // Slideshow.init( { mode: 'outline' } );
1308906213ab add files
masa
parents:
diff changeset
79
1308906213ab add files
masa
parents:
diff changeset
80 // Example 3: Use Custom Transition
1308906213ab add files
masa
parents:
diff changeset
81 // Slideshow.transition = transitionScrollUp;
1308906213ab add files
masa
parents:
diff changeset
82 // Slideshow.init();
1308906213ab add files
masa
parents:
diff changeset
83
1308906213ab add files
masa
parents:
diff changeset
84 // Example 4: Start Off in Autoplay Mode with Custom Transition
1308906213ab add files
masa
parents:
diff changeset
85 // Slideshow.transition = transitionScrollUp;
1308906213ab add files
masa
parents:
diff changeset
86 // Slideshow.init( { mode: 'autoplay' } );
1308906213ab add files
masa
parents:
diff changeset
87 } );
1308906213ab add files
masa
parents:
diff changeset
88 </script>
1308906213ab add files
masa
parents:
diff changeset
89
1308906213ab add files
masa
parents:
diff changeset
90 </head>
1308906213ab add files
masa
parents:
diff changeset
91 <body>
1308906213ab add files
masa
parents:
diff changeset
92
1308906213ab add files
masa
parents:
diff changeset
93
1308906213ab add files
masa
parents:
diff changeset
94 <div class="presentation">
1308906213ab add files
masa
parents:
diff changeset
95
1308906213ab add files
masa
parents:
diff changeset
96 <div class='slide cover'>
1308906213ab add files
masa
parents:
diff changeset
97 <table width="90%" height="90%" border="0" align="center">
1308906213ab add files
masa
parents:
diff changeset
98 <tr>
1308906213ab add files
masa
parents:
diff changeset
99 <td><div align="center">
1308906213ab add files
masa
parents:
diff changeset
100 <h1>マルチコアソフトウェアシンセサイザー(仮)</h1>
1308906213ab add files
masa
parents:
diff changeset
101 </div>
1308906213ab add files
masa
parents:
diff changeset
102 </td>
1308906213ab add files
masa
parents:
diff changeset
103 </tr>
1308906213ab add files
masa
parents:
diff changeset
104 <tr>
1308906213ab add files
masa
parents:
diff changeset
105 <td><div align="right">
1308906213ab add files
masa
parents:
diff changeset
106 <name>Masataka Kohagura 22th June,2014</name>
1308906213ab add files
masa
parents:
diff changeset
107 </div></td>
1308906213ab add files
masa
parents:
diff changeset
108 </tr>
1308906213ab add files
masa
parents:
diff changeset
109 </tr>
1308906213ab add files
masa
parents:
diff changeset
110 </table>
1308906213ab add files
masa
parents:
diff changeset
111 </div>
1308906213ab add files
masa
parents:
diff changeset
112
1308906213ab add files
masa
parents:
diff changeset
113
1308906213ab add files
masa
parents:
diff changeset
114 <div id="cover">
1308906213ab add files
masa
parents:
diff changeset
115 <h1>研究目的</h1>
1308906213ab add files
masa
parents:
diff changeset
116 <p>
1308906213ab add files
masa
parents:
diff changeset
117 コンピュータ上で作曲を行うときは、ハードウェアシンセサイザーの音を録音するのではなく、ソフトウェアシンセサイザー(以下ソフトシンセ)で収録することが主流となっている。
1308906213ab add files
masa
parents:
diff changeset
118 </p>
1308906213ab add files
masa
parents:
diff changeset
119 <p>
1
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
120 ソフトシンセのマルチコア化は進んでいる。しかし、現状としてはマルチコアで駆動しているわけではなく、1つのコアだけに負荷がかかるものが多い。
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
121 </p>
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
122 <p>
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
123 作曲をする上ではソフトシンセを複数立ち上げることが基本となっている。
0
1308906213ab add files
masa
parents:
diff changeset
124 また、オシレーターの複数使用や Filter による波形編集を重ねると計算量が大きくなっていくため、ソフトシンセ単体の動作を軽量化する必要がある。<br>
1308906213ab add files
masa
parents:
diff changeset
125 </p>
1308906213ab add files
masa
parents:
diff changeset
126 <p>
1308906213ab add files
masa
parents:
diff changeset
127 また、実用的なシンセサイザーは入力に対するレスポンスが必須となるので、計算量が多くなっても入力から出力までの遅延を抑える必要がある。
1308906213ab add files
masa
parents:
diff changeset
128 </p>
1308906213ab add files
masa
parents:
diff changeset
129 <p>
1308906213ab add files
masa
parents:
diff changeset
130 (軽量化しながら音を良くしたいが、抽象的すぎて評価する点がみつけづらい)<br>
1308906213ab add files
masa
parents:
diff changeset
131 音がいいって何??<br>
1308906213ab add files
masa
parents:
diff changeset
132 評価どうするの??
1308906213ab add files
masa
parents:
diff changeset
133 </p>
1308906213ab add files
masa
parents:
diff changeset
134 </div>
1308906213ab add files
masa
parents:
diff changeset
135
1308906213ab add files
masa
parents:
diff changeset
136
1308906213ab add files
masa
parents:
diff changeset
137 <div id="cover">
1308906213ab add files
masa
parents:
diff changeset
138 <h1>今週までの作業</h1>
1308906213ab add files
masa
parents:
diff changeset
139 <ul>
1308906213ab add files
masa
parents:
diff changeset
140 <li>
1308906213ab add files
masa
parents:
diff changeset
141 Cerium にて SDL_audio.h を使用して音を出せるようにした。(単音出力)
1308906213ab add files
masa
parents:
diff changeset
142 </li>
1308906213ab add files
masa
parents:
diff changeset
143 <li>
1308906213ab add files
masa
parents:
diff changeset
144 三角波、矩形波の実装
1308906213ab add files
masa
parents:
diff changeset
145 </li>
1
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
146 <li>
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
147 MIDI コントローラーからの入力を受け付ける(途中)
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
148 </li>
0
1308906213ab add files
masa
parents:
diff changeset
149 </ul>
1308906213ab add files
masa
parents:
diff changeset
150 </div>
1308906213ab add files
masa
parents:
diff changeset
151
1308906213ab add files
masa
parents:
diff changeset
152 <div id="cover">
1308906213ab add files
masa
parents:
diff changeset
153 <h1>SDL</h1>
1308906213ab add files
masa
parents:
diff changeset
154 <ul>
1308906213ab add files
masa
parents:
diff changeset
155 <li>
1308906213ab add files
masa
parents:
diff changeset
156 SDL : Simple DirectMedia Layer<br>
1308906213ab add files
masa
parents:
diff changeset
157 マルチメディア関係のソフトウェアを開発するための、グラフィックやサウンド等の API を提供するライブラリ。
1308906213ab add files
masa
parents:
diff changeset
158 </li>
1308906213ab add files
masa
parents:
diff changeset
159 <li>
1308906213ab add files
masa
parents:
diff changeset
160 Windows, Mac OS X, Linux, iOS, Android をサポート
1308906213ab add files
masa
parents:
diff changeset
161 </li>
1308906213ab add files
masa
parents:
diff changeset
162 <li>
1308906213ab add files
masa
parents:
diff changeset
163 C,C++<br>
1308906213ab add files
masa
parents:
diff changeset
164 C#,Python もいけるみたい??
1308906213ab add files
masa
parents:
diff changeset
165 </li>
1308906213ab add files
masa
parents:
diff changeset
166 </ul>
1308906213ab add files
masa
parents:
diff changeset
167 </div>
1308906213ab add files
masa
parents:
diff changeset
168
1308906213ab add files
masa
parents:
diff changeset
169 <div id="cover">
1308906213ab add files
masa
parents:
diff changeset
170 <h1>SDL_audio.h(1/3)</h1>
1308906213ab add files
masa
parents:
diff changeset
171 <ul>
1308906213ab add files
masa
parents:
diff changeset
172 <li>
1308906213ab add files
masa
parents:
diff changeset
173 SDL に含まれている、オーディオ回りのライブラリ
1308906213ab add files
masa
parents:
diff changeset
174 </li>
1308906213ab add files
masa
parents:
diff changeset
175 <li>
1308906213ab add files
masa
parents:
diff changeset
176 オーディオ情報(音量、ステレオ、sampling rateなど)を SDL_AudioSpec(構造体)として持っている。
1308906213ab add files
masa
parents:
diff changeset
177 </li>
1308906213ab add files
masa
parents:
diff changeset
178 <pre>
1308906213ab add files
masa
parents:
diff changeset
179 <code>
1308906213ab add files
masa
parents:
diff changeset
180 typedef struct SDL_AudioSpec {
1308906213ab add files
masa
parents:
diff changeset
181 int freq; /** DSP frequency -- samples per second */
1308906213ab add files
masa
parents:
diff changeset
182 Uint16 format; /** Audio data format */
1308906213ab add files
masa
parents:
diff changeset
183 Uint8 channels; /** Number of channels: 1 mono, 2 stereo */
1308906213ab add files
masa
parents:
diff changeset
184 Uint8 silence; /** Audio buffer silence value (calculated) */
1308906213ab add files
masa
parents:
diff changeset
185 Uint16 samples; /** Audio buffer size in samples (power of 2) */
1308906213ab add files
masa
parents:
diff changeset
186 Uint16 padding; /** Necessary for some compile environments */
1308906213ab add files
masa
parents:
diff changeset
187 Uint32 size; /** Audio buffer size in bytes (calculated) */
1308906213ab add files
masa
parents:
diff changeset
188 void (SDLCALL *callback)(void *userdata, Uint8 *stream, int len);
1308906213ab add files
masa
parents:
diff changeset
189 void *userdata;
1308906213ab add files
masa
parents:
diff changeset
190 } SDL_AudioSpec;
1308906213ab add files
masa
parents:
diff changeset
191 </code>
1308906213ab add files
masa
parents:
diff changeset
192 </ul>
1308906213ab add files
masa
parents:
diff changeset
193 </pre>
1308906213ab add files
masa
parents:
diff changeset
194 </div>
1308906213ab add files
masa
parents:
diff changeset
195
1308906213ab add files
masa
parents:
diff changeset
196 <div id="cover">
1308906213ab add files
masa
parents:
diff changeset
197 <h1>SDL_audio.h(2/3)</h1>
1308906213ab add files
masa
parents:
diff changeset
198 <ul>
1308906213ab add files
masa
parents:
diff changeset
199 <li>
1308906213ab add files
masa
parents:
diff changeset
200 SDL_AudioSpec を SDL_OpenAudio(SDL_AudioSpec *desired, SDL_AudioSpec *obtained);という関数に渡すことによって、音が再生される。
1308906213ab add files
masa
parents:
diff changeset
201 </li>
1308906213ab add files
masa
parents:
diff changeset
202 <pre>
1308906213ab add files
masa
parents:
diff changeset
203 <code>
1308906213ab add files
masa
parents:
diff changeset
204 SDL_AudioSpec Desired;
1308906213ab add files
masa
parents:
diff changeset
205 SDL_AudioSpec Obtained;
1308906213ab add files
masa
parents:
diff changeset
206
1308906213ab add files
masa
parents:
diff changeset
207 int main(int argc, char *argv[])
1308906213ab add files
masa
parents:
diff changeset
208 {
1308906213ab add files
masa
parents:
diff changeset
209 printf("Freq:%f\n",Frequency);
1308906213ab add files
masa
parents:
diff changeset
210 Desired.freq= 44100; /* Sampling rate: 44100Hz */
1308906213ab add files
masa
parents:
diff changeset
211 Desired.format= AUDIO_S16LSB; /* 16-bit signed audio */
1308906213ab add files
masa
parents:
diff changeset
212 Desired.channels= 1; /* Mono */
1308906213ab add files
masa
parents:
diff changeset
213 Desired.samples= 8192; /* Buffer size: 8K = 0.37 sec. */
1308906213ab add files
masa
parents:
diff changeset
214 Desired.callback= callback;
1308906213ab add files
masa
parents:
diff changeset
215 Desired.userdata= NULL;
1308906213ab add files
masa
parents:
diff changeset
216
1308906213ab add files
masa
parents:
diff changeset
217 SDL_OpenAudio(&Desired, &Obtained);
1308906213ab add files
masa
parents:
diff changeset
218 SDL_PauseAudio(0);
1308906213ab add files
masa
parents:
diff changeset
219 SDL_Delay(200);
1308906213ab add files
masa
parents:
diff changeset
220 SDL_Quit();
1308906213ab add files
masa
parents:
diff changeset
221 return 0;
1308906213ab add files
masa
parents:
diff changeset
222 }
1308906213ab add files
masa
parents:
diff changeset
223 </code>
1308906213ab add files
masa
parents:
diff changeset
224 </ul>
1308906213ab add files
masa
parents:
diff changeset
225 </pre>
1308906213ab add files
masa
parents:
diff changeset
226 </div>
1308906213ab add files
masa
parents:
diff changeset
227
1308906213ab add files
masa
parents:
diff changeset
228 <div id="cover">
1308906213ab add files
masa
parents:
diff changeset
229 <h1>SDL_audio.h(3/3)</h1>
1308906213ab add files
masa
parents:
diff changeset
230 <ul>
1308906213ab add files
masa
parents:
diff changeset
231 <li>
1308906213ab add files
masa
parents:
diff changeset
232 SDL_AudioSpecにSDLCALL 関数が含まれている。ここで、音の波形を生成しておき、 SDL_OpenAudioにて音を再生する。
1308906213ab add files
masa
parents:
diff changeset
233 </li>
1308906213ab add files
masa
parents:
diff changeset
234 <pre>
1308906213ab add files
masa
parents:
diff changeset
235 <code>
1308906213ab add files
masa
parents:
diff changeset
236 void callback(void *userdata,Uint8 *stream,int len){
1308906213ab add files
masa
parents:
diff changeset
237
1308906213ab add files
masa
parents:
diff changeset
238 AudioDataPtr au = (AudioData*)userdata;
1308906213ab add files
masa
parents:
diff changeset
239
1308906213ab add files
masa
parents:
diff changeset
240 char *waveform_name = au->waveform_name;
1308906213ab add files
masa
parents:
diff changeset
241 double frequency = au->frequency;
1308906213ab add files
masa
parents:
diff changeset
242 int volume = au->volume;
1308906213ab add files
masa
parents:
diff changeset
243 static unsigned int step = 0;
1308906213ab add files
masa
parents:
diff changeset
244 Uint16 *frames = (Uint16 *) stream;
1308906213ab add files
masa
parents:
diff changeset
245 int framesize = len / 2;
1308906213ab add files
masa
parents:
diff changeset
246
1308906213ab add files
masa
parents:
diff changeset
247 if(strcmp(waveform_name, "tri")){
1308906213ab add files
masa
parents:
diff changeset
248
1308906213ab add files
masa
parents:
diff changeset
249 for (int i = 0; i < framesize ; i++, step++){
1308906213ab add files
masa
parents:
diff changeset
250 frames[i] = tri(step * frequency / Obtained.freq) * volume ;
1308906213ab add files
masa
parents:
diff changeset
251 }
1308906213ab add files
masa
parents:
diff changeset
252
1308906213ab add files
masa
parents:
diff changeset
253 }else if(strcmp(waveform_name, "sqr")){
1308906213ab add files
masa
parents:
diff changeset
254
1308906213ab add files
masa
parents:
diff changeset
255 for (int i = 0; i < framesize ; i++, step++){
1308906213ab add files
masa
parents:
diff changeset
256 frames[i] = square(step * frequency / Obtained.freq) * volume ;
1308906213ab add files
masa
parents:
diff changeset
257 }
1308906213ab add files
masa
parents:
diff changeset
258
1308906213ab add files
masa
parents:
diff changeset
259 }
1308906213ab add files
masa
parents:
diff changeset
260 }
1308906213ab add files
masa
parents:
diff changeset
261 </code>
1308906213ab add files
masa
parents:
diff changeset
262 </ul>
1308906213ab add files
masa
parents:
diff changeset
263 </pre>
1308906213ab add files
masa
parents:
diff changeset
264 </div>
1308906213ab add files
masa
parents:
diff changeset
265
3
b798246629dd fix Aug_19th
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
266 <div id="cover">
b798246629dd fix Aug_19th
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
267 <h1>波形の生成</h1>
1
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
268
3
b798246629dd fix Aug_19th
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
269 <p>矩形波</p>
1
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
270 <pre>
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
271 <code>
3
b798246629dd fix Aug_19th
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
272 double
b798246629dd fix Aug_19th
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
273 square(double t){
1
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
274 double decimal_part = t - abs(t);
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
275 return decimal_part < 0.5 ? 1 : -1;
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
276 }
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
277 </code>
3
b798246629dd fix Aug_19th
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
278 </pre>
b798246629dd fix Aug_19th
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
279
b798246629dd fix Aug_19th
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
280 <img src="./images/sqrWave.png" width="50%" height="">
b798246629dd fix Aug_19th
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
281
b798246629dd fix Aug_19th
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
282 </div>
b798246629dd fix Aug_19th
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
283
1
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
284
3
b798246629dd fix Aug_19th
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
285
b798246629dd fix Aug_19th
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
286 <div id="cover">
b798246629dd fix Aug_19th
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
287 <h1>波形の生成</h1>
b798246629dd fix Aug_19th
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
288
b798246629dd fix Aug_19th
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
289 <p>三角波</p>
b798246629dd fix Aug_19th
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
290
1
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
291 <pre>
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
292 <code>
3
b798246629dd fix Aug_19th
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
293 double
b798246629dd fix Aug_19th
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
294 tri(double t){
1
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
295
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
296 double decimal_part = t - abs(t);
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
297
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
298 if(abs(t) % 2 != 0){
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
299 return decimal_part < 0.5 ? decimal_part : 1 - decimal_part;
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
300 }else{
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
301 return decimal_part < 0.5 ? -decimal_part : 1 - decimal_part;
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
302 }
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
303 }
3
b798246629dd fix Aug_19th
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
304
1
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
305 </code>
3
b798246629dd fix Aug_19th
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
306 </pre>
b798246629dd fix Aug_19th
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
307
b798246629dd fix Aug_19th
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
308 <img src="./images/triWave.png" width="50%" height="">
b798246629dd fix Aug_19th
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
309
b798246629dd fix Aug_19th
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
310 </div>
b798246629dd fix Aug_19th
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
311
b798246629dd fix Aug_19th
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
312
b798246629dd fix Aug_19th
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
313
b798246629dd fix Aug_19th
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
314 <div id="cover">
b798246629dd fix Aug_19th
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
315 <h1>波形の生成</h1>
b798246629dd fix Aug_19th
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
316
b798246629dd fix Aug_19th
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
317 <p>のこぎり波</p>
b798246629dd fix Aug_19th
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
318 <pre>
b798246629dd fix Aug_19th
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
319 <code>
b798246629dd fix Aug_19th
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
320 double
b798246629dd fix Aug_19th
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
321 saw(double t)
b798246629dd fix Aug_19th
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
322 {
b798246629dd fix Aug_19th
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
323 double decimal_part = t - abs(t);
b798246629dd fix Aug_19th
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
324 return decimal_part;
b798246629dd fix Aug_19th
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
325 }
b798246629dd fix Aug_19th
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
326 </code>
b798246629dd fix Aug_19th
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
327 </pre>
b798246629dd fix Aug_19th
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
328
b798246629dd fix Aug_19th
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
329 <img src="./images/sawWave.png" width="50%" height="">
1
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
330 </div>
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
331
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
332
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
333
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
334 <div id="cover">
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
335 <h1>いましていること</h1>
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
336 <ul>
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
337 <li>
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
338 MIDI I/O は PortMidi を使用して実装中である。
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
339 </li>
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
340 <li>
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
341 Multi Platform 対応、
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
342 Windows (MME)、
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
343 Mac (CoreMIDI)、
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
344 Linux (ALSA)
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
345 </li>
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
346 </ul>
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
347 </pre>
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
348 </div>
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
349
0
1308906213ab add files
masa
parents:
diff changeset
350 </div> <!-- presentation -->
1308906213ab add files
masa
parents:
diff changeset
351 </body>
1308906213ab add files
masa
parents:
diff changeset
352 </html>