0
|
1 <!DOCTYPE html>
|
|
2 <html>
|
|
3 <head>
|
|
4 <meta http-equiv="content-type" content="text/html;charset=utf-8">
|
|
5 <title>1st,July</title>
|
|
6
|
|
7 <!--
|
|
8 Notes on CSS media types used:
|
|
9
|
|
10 1) projection -> slideshow mode (display one slide at-a-time; hide all others)
|
|
11 2) screen -> outline mode (display all slides-at-once on screen)
|
|
12 3) print -> print (and print preview)
|
|
13
|
|
14 Note: toggle between projection/screen (that is, slideshow/outline) mode using t-key
|
|
15
|
|
16 Questions, comments?
|
|
17 - send them along to the mailinglist/forum online @ http://groups.google.com/group/webslideshow
|
|
18 -->
|
|
19
|
|
20 <!-- styles -->
|
|
21 <style media="screen,projection">
|
|
22
|
|
23 html,
|
|
24 body,
|
|
25 .presentation { margin: 0; padding: 0; }
|
|
26
|
|
27 .slide { display: none;
|
|
28 position: absolute;
|
|
29 top: 0; left: 0;
|
|
30 margin: 0;
|
|
31 border: none;
|
|
32 padding: 2% 4% 0% 4%; /* css note: order is => top right bottom left */
|
|
33 -moz-box-sizing: border-box;
|
|
34 -webkit-box-sizing: border-box;
|
|
35 box-sizing: border-box;
|
|
36 width: 100%; height: 100%; /* css note: lets use border-box; no need to add padding+border to get to 100% */
|
|
37 overflow-x: hidden; overflow-y: auto;
|
|
38 z-index: 2;
|
|
39 }
|
|
40
|
|
41 .slide.current { display: block; } /* only display current slide in projection mode */
|
|
42
|
|
43 .slide .stepcurrent { color: black; }
|
|
44 .slide .step { color: silver; } /* or hide next steps e.g. .step { visibility: hidden; } */
|
|
45
|
|
46 .slide {
|
|
47 /*
|
|
48 background-image: -webkit-linear-gradient(top, blue, aqua, blue, aqua);
|
|
49 background-image: -moz-linear-gradient(top, blue, aqua, blue, aqua);
|
|
50 */
|
|
51 }
|
|
52 </style>
|
|
53
|
|
54 <style media="screen">
|
|
55 .slide { border-top: 1px solid #888; }
|
|
56 .slide:first-child { border: none; }
|
|
57 </style>
|
|
58
|
|
59 <style media="print">
|
|
60 .slide { page-break-inside: avoid; }
|
|
61 .slide h1 { page-break-after: avoid; }
|
|
62 .slide ul { page-break-inside: avoid; }
|
|
63 </style>
|
|
64
|
|
65
|
|
66 <!-- add js lib (jquery) -->
|
|
67 <script src="js/jquery-1.7.min.js"></script>
|
|
68
|
|
69 <!-- S6 JS -->
|
|
70 <script src="js/jquery.slideshow.js"></script>
|
|
71 <script src="js/jquery.slideshow.counter.js"></script>
|
|
72 <script src="js/jquery.slideshow.controls.js"></script>
|
|
73 <script>
|
|
74 $(document).ready( function() {
|
|
75 Slideshow.init();
|
|
76
|
|
77 // Example 2: Start Off in Outline Mode
|
|
78 // Slideshow.init( { mode: 'outline' } );
|
|
79
|
|
80 // Example 3: Use Custom Transition
|
|
81 // Slideshow.transition = transitionScrollUp;
|
|
82 // Slideshow.init();
|
|
83
|
|
84 // Example 4: Start Off in Autoplay Mode with Custom Transition
|
|
85 // Slideshow.transition = transitionScrollUp;
|
|
86 // Slideshow.init( { mode: 'autoplay' } );
|
|
87 } );
|
|
88 </script>
|
|
89
|
|
90 </head>
|
|
91 <body>
|
|
92
|
|
93
|
|
94 <div class="presentation">
|
|
95
|
|
96 <div class='slide cover'>
|
|
97 <table width="90%" height="90%" border="0" align="center">
|
|
98 <tr>
|
|
99 <td><div align="center">
|
|
100 <h1>マルチコアソフトウェアシンセサイザー(仮)</h1>
|
|
101 </div>
|
|
102 </td>
|
|
103 </tr>
|
|
104 <tr>
|
|
105 <td><div align="right">
|
|
106 <name>Masataka Kohagura 17th June,2014</name>
|
|
107 </div></td>
|
|
108 </tr>
|
|
109 </tr>
|
|
110 </table>
|
|
111 </div>
|
|
112
|
|
113
|
|
114 <div id="cover">
|
|
115 <h1>研究目的</h1>
|
|
116 <p>
|
|
117 コンピュータ上で作曲を行うときは、ハードウェアシンセサイザーの音を録音するのではなく、ソフトウェアシンセサイザー(以下ソフトシンセ)で収録することが主流となっている。
|
|
118 </p>
|
|
119 <p>
|
|
120 ソフトシンセのマルチコア化は進んでいる。作曲をする上ではソフトシンセを複数立ち上げることが基本となっている。
|
|
121 また、オシレーターの複数使用や Filter による波形編集を重ねると計算量が大きくなっていくため、ソフトシンセ単体の動作を軽量化する必要がある。<br>
|
|
122 </p>
|
|
123 <p>
|
|
124 また、実用的なシンセサイザーは入力に対するレスポンスが必須となるので、計算量が多くなっても入力遅延を抑える必要がある。
|
|
125 </p>
|
|
126 <p>
|
|
127 (軽量化しながら音を良くしたいが、抽象的すぎて評価する点がみつけづらい)<br>
|
|
128 音がいいって何??<br>
|
|
129 評価どうするの??
|
|
130 </p>
|
|
131 </div>
|
|
132
|
|
133
|
|
134 <div id="cover">
|
|
135 <h1>今週までの作業</h1>
|
|
136 <ul>
|
|
137 <li>
|
|
138 SDL_audio.h を使用して音を出せるようにした。(単音出力)
|
|
139 </li>
|
|
140 <li>
|
|
141 三角波、矩形波の実装
|
|
142 </li>
|
|
143 <li>
|
|
144 Cerium の例題として実装途中
|
|
145 </li>
|
|
146 <li>
|
|
147 Synthesizer に関する論文を探してみた
|
|
148 </li>
|
|
149 </ul>
|
|
150 </div>
|
|
151
|
|
152 <div id="cover">
|
|
153 <h1>SDL</h1>
|
|
154 <ul>
|
|
155 <li>
|
|
156 SDL : Simple DirectMedia Layer<br>
|
|
157 マルチメディア関係のソフトウェアを開発するための、グラフィックやサウンド等の API を提供するライブラリ。
|
|
158 </li>
|
|
159 <li>
|
|
160 Windows, Mac OS X, Linux, iOS, Android をサポート
|
|
161 </li>
|
|
162 <li>
|
|
163 C,C++<br>
|
|
164 C#,Python もいけるみたい??
|
|
165 </li>
|
|
166 </ul>
|
|
167 </div>
|
|
168
|
|
169 <div id="cover">
|
|
170 <h1>SDL_audio.h(1/2)</h1>
|
|
171 <ul>
|
|
172 <li>
|
|
173 SDL に含まれている、オーディオ回りのライブラリ<br>
|
|
174 オーディオ情報(音量、ステレオ、sampling rateなど)を SDL_AudioSpec(構造体)として持っている。
|
|
175 </li>
|
|
176 <pre>
|
|
177 <code>
|
|
178 typedef struct SDL_AudioSpec {
|
|
179 int freq; /** DSP frequency -- samples per second */
|
|
180 Uint16 format; /** Audio data format */
|
|
181 Uint8 channels; /** Number of channels: 1 mono, 2 stereo */
|
|
182 Uint8 silence; /** Audio buffer silence value (calculated) */
|
|
183 Uint16 samples; /** Audio buffer size in samples (power of 2) */
|
|
184 Uint16 padding; /** Necessary for some compile environments */
|
|
185 Uint32 size; /** Audio buffer size in bytes (calculated) */
|
|
186 void (SDLCALL *callback)(void *userdata, Uint8 *stream, int len);
|
|
187 void *userdata;
|
|
188 } SDL_AudioSpec;
|
|
189 </code>
|
|
190 </ul>
|
|
191 </pre>
|
|
192 </div>
|
|
193
|
|
194 <div id="cover">
|
|
195 <h1>SDL_audio.h(2/2)</h1>
|
|
196 <ul>
|
|
197 <li>
|
|
198 SDL_AudioSpecを SDL_OpenAudio(SDL_AudioSpec *desired, SDL_AudioSpec *obtained);に格納することによって、音が再生される。
|
|
199 </li>
|
|
200 <pre>
|
|
201 <code>
|
|
202 SDL_AudioSpec Desired;
|
|
203 SDL_AudioSpec Obtained;
|
|
204
|
|
205 int main(int argc, char *argv[])
|
|
206 {
|
|
207 printf("Freq:%f\n",Frequency);
|
|
208 Desired.freq= 44100; /* Sampling rate: 44100Hz */
|
|
209 Desired.format= AUDIO_S16LSB; /* 16-bit signed audio */
|
|
210 Desired.channels= 1; /* Mono */
|
|
211 Desired.samples= 8192; /* Buffer size: 8K = 0.37 sec. */
|
|
212 Desired.callback= callback;
|
|
213 Desired.userdata= NULL;
|
|
214
|
|
215 SDL_OpenAudio(&Desired, &Obtained);
|
|
216 SDL_PauseAudio(0);
|
|
217 SDL_Delay(200);
|
|
218 SDL_Quit();
|
|
219 return 0;
|
|
220 }
|
|
221 </code>
|
|
222 </ul>
|
|
223 </pre>
|
|
224 </div>
|
|
225
|
|
226 </div> <!-- presentation -->
|
|
227 </body>
|
|
228 </html>
|