Mercurial > hg > Members > masakoha > seminar
comparison Aug_05th.html @ 1:9e3e3ea0c4a3
fix 05
author | Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 05 Aug 2014 22:47:01 +0900 |
parents | 1308906213ab |
children |
comparison
equal
deleted
inserted
replaced
0:1308906213ab | 1:9e3e3ea0c4a3 |
---|---|
115 <h1>研究目的</h1> | 115 <h1>研究目的</h1> |
116 <p> | 116 <p> |
117 コンピュータ上で作曲を行うときは、ハードウェアシンセサイザーの音を録音するのではなく、ソフトウェアシンセサイザー(以下ソフトシンセ)で収録することが主流となっている。 | 117 コンピュータ上で作曲を行うときは、ハードウェアシンセサイザーの音を録音するのではなく、ソフトウェアシンセサイザー(以下ソフトシンセ)で収録することが主流となっている。 |
118 </p> | 118 </p> |
119 <p> | 119 <p> |
120 ソフトシンセのマルチコア化は進んでいる。作曲をする上ではソフトシンセを複数立ち上げることが基本となっている。 | 120 ソフトシンセのマルチコア化は進んでいる。しかし、現状としてはマルチコアで駆動しているわけではなく、1つのコアだけに負荷がかかるものが多い。 |
121 </p> | |
122 <p> | |
123 作曲をする上ではソフトシンセを複数立ち上げることが基本となっている。 | |
121 また、オシレーターの複数使用や Filter による波形編集を重ねると計算量が大きくなっていくため、ソフトシンセ単体の動作を軽量化する必要がある。<br> | 124 また、オシレーターの複数使用や Filter による波形編集を重ねると計算量が大きくなっていくため、ソフトシンセ単体の動作を軽量化する必要がある。<br> |
122 </p> | 125 </p> |
123 <p> | 126 <p> |
124 また、実用的なシンセサイザーは入力に対するレスポンスが必須となるので、計算量が多くなっても入力から出力までの遅延を抑える必要がある。 | 127 また、実用的なシンセサイザーは入力に対するレスポンスが必須となるので、計算量が多くなっても入力から出力までの遅延を抑える必要がある。 |
125 </p> | 128 </p> |
137 <li> | 140 <li> |
138 Cerium にて SDL_audio.h を使用して音を出せるようにした。(単音出力) | 141 Cerium にて SDL_audio.h を使用して音を出せるようにした。(単音出力) |
139 </li> | 142 </li> |
140 <li> | 143 <li> |
141 三角波、矩形波の実装 | 144 三角波、矩形波の実装 |
145 </li> | |
146 <li> | |
147 MIDI コントローラーからの入力を受け付ける(途中) | |
142 </li> | 148 </li> |
143 </ul> | 149 </ul> |
144 </div> | 150 </div> |
145 | 151 |
146 <div id="cover"> | 152 <div id="cover"> |
255 </code> | 261 </code> |
256 </ul> | 262 </ul> |
257 </pre> | 263 </pre> |
258 </div> | 264 </div> |
259 | 265 |
266 | |
267 <div id="cover"> | |
268 <h1>三角波、矩形波の生成</h1> | |
269 | |
270 <ul> | |
271 <li>矩形波</li> | |
272 <pre> | |
273 <code> | |
274 double square(double t){ | |
275 double decimal_part = t - abs(t); | |
276 return decimal_part < 0.5 ? 1 : -1; | |
277 } | |
278 </code> | |
279 </pre> | |
280 | |
281 <li>三角波</li> | |
282 <pre> | |
283 <code> | |
284 double tri(double t){ | |
285 | |
286 double decimal_part = t - abs(t); | |
287 | |
288 if(abs(t) % 2 != 0){ | |
289 return decimal_part < 0.5 ? decimal_part : 1 - decimal_part; | |
290 }else{ | |
291 return decimal_part < 0.5 ? -decimal_part : 1 - decimal_part; | |
292 } | |
293 } | |
294 </code> | |
295 </ul> | |
296 </pre> | |
297 </div> | |
298 | |
299 | |
300 | |
301 <div id="cover"> | |
302 <h1>いましていること</h1> | |
303 <ul> | |
304 <li> | |
305 MIDI I/O は PortMidi を使用して実装中である。 | |
306 </li> | |
307 <li> | |
308 Multi Platform 対応、 | |
309 Windows (MME)、 | |
310 Mac (CoreMIDI)、 | |
311 Linux (ALSA) | |
312 </li> | |
313 </ul> | |
314 </pre> | |
315 </div> | |
316 | |
260 </div> <!-- presentation --> | 317 </div> <!-- presentation --> |
261 </body> | 318 </body> |
262 </html> | 319 </html> |