view July_15th.html @ 0:1308906213ab

add files
author masa
date Tue, 05 Aug 2014 17:20:23 +0900
parents
children
line wrap: on
line source

<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="content-type" content="text/html;charset=utf-8"> 
  <title>1st,July</title>

<!-- 
   Notes on CSS media types used:
 
   1) projection -> slideshow mode (display one slide at-a-time; hide all others)
   2) screen     -> outline mode (display all slides-at-once on screen) 
   3) print      -> print (and print preview)
  
   Note: toggle between projection/screen (that is, slideshow/outline) mode using t-key

   Questions, comments?
   - send them along to the mailinglist/forum online @ http://groups.google.com/group/webslideshow    
-->

<!-- styles  -->
<style media="screen,projection">

html,
body,
.presentation { margin: 0; padding: 0; }

.slide { display: none;
         position: absolute;
         top: 0; left: 0; 
         margin: 0;
         border: none;
         padding: 2% 4% 0% 4%;         /* css note: order is => top right bottom left  */
         -moz-box-sizing: border-box;
         -webkit-box-sizing: border-box;
         box-sizing: border-box;
         width: 100%; height: 100%;    /* css note: lets use border-box; no need to add padding+border to get to 100% */
         overflow-x: hidden; overflow-y: auto;
         z-index: 2;
       }

.slide.current { display: block; }  /* only display current slide in projection mode */

.slide .stepcurrent { color: black; }
.slide .step        { color: silver; } /* or hide next steps e.g. .step { visibility: hidden; } */

.slide {
/*
  background-image: -webkit-linear-gradient(top, blue, aqua, blue, aqua);
  background-image: -moz-linear-gradient(top, blue, aqua, blue, aqua);
*/
}
</style>

<style media="screen">
.slide             { border-top: 1px solid #888; }
.slide:first-child { border: none;  }
</style>

<style media="print">
.slide    { page-break-inside: avoid; }
.slide h1 { page-break-after:  avoid; }
.slide ul { page-break-inside: avoid; }
</style>


<!-- add js lib (jquery) -->
<script src="js/jquery-1.7.min.js"></script>

<!-- S6 JS -->
<script src="js/jquery.slideshow.js"></script>
<script src="js/jquery.slideshow.counter.js"></script>
<script src="js/jquery.slideshow.controls.js"></script>
<script>
  $(document).ready( function() {
    Slideshow.init();
    
    // Example 2: Start Off in Outline Mode
    // Slideshow.init( { mode: 'outline' } );
    
    // Example 3: Use Custom Transition
    // Slideshow.transition = transitionScrollUp;
    // Slideshow.init();

    // Example 4: Start Off in Autoplay Mode with Custom Transition
    // Slideshow.transition = transitionScrollUp;
    // Slideshow.init( { mode: 'autoplay' } );
  } );
</script>

</head>
<body>


<div class="presentation">

  <div class='slide cover'>
  <table width="90%" height="90%" border="0" align="center">
  <tr>
  <td><div align="center">
      <h1>マルチコアソフトウェアシンセサイザー(仮)</h1>
      </div>
  </td>
  </tr>
      <tr>
      <td><div align="right">
          <name>Masataka Kohagura 17th June,2014</name>
      </div></td>
      </tr>
  </tr>
  </table>
  </div>


  <div id="cover">
    <h1>研究目的</h1>
    <p>
    コンピュータ上で作曲を行うときは、ハードウェアシンセサイザーの音を録音するのではなく、ソフトウェアシンセサイザー(以下ソフトシンセ)で収録することが主流となっている。
    </p>
    <p>
    ソフトシンセのマルチコア化は進んでいる。作曲をする上ではソフトシンセを複数立ち上げることが基本となっている。
    また、オシレーターの複数使用や Filter による波形編集を重ねると計算量が大きくなっていくため、ソフトシンセ単体の動作を軽量化する必要がある。<br>
    </p>
    <p>
    また、実用的なシンセサイザーは入力に対するレスポンスが必須となるので、計算量が多くなっても入力遅延を抑える必要がある。
    </p>
    <p>
    (軽量化しながら音を良くしたいが、抽象的すぎて評価する点がみつけづらい)<br>
    音がいいって何??<br>
    評価どうするの??
    </p>
  </div>


  <div id="cover">
    <h1>今週までの作業</h1>
    <ul>
    <li>
    SDL_audio.h を使用して音を出せるようにした。(単音出力)
    </li>
    <li>
    三角波、矩形波の実装
    </li>
    <li>
    Cerium の例題として実装途中
    </li>
    <li>
    Synthesizer に関する論文を探してみた
    </li>
    </ul>
  </div>

  <div id="cover">
    <h1>SDL</h1>
    <ul>
    <li>
    SDL : Simple DirectMedia Layer<br>
    マルチメディア関係のソフトウェアを開発するための、グラフィックやサウンド等の API を提供するライブラリ。
    </li>
    <li>
    Windows,  Mac OS X, Linux, iOS, Android をサポート
    </li>
    <li>
    C,C++<br>
    C#,Python もいけるみたい??
    </li>
    </ul>
  </div>

  <div id="cover">
    <h1>SDL_audio.h(1/2)</h1>
    <ul>
    <li>
    SDL に含まれている、オーディオ回りのライブラリ<br>
    オーディオ情報(音量、ステレオ、sampling rateなど)を SDL_AudioSpec(構造体)として持っている。
    </li>
    <pre>
    <code>
typedef struct SDL_AudioSpec {
    int freq;          /** DSP frequency -- samples per second */
    Uint16 format;     /** Audio data format */
    Uint8  channels;   /** Number of channels: 1 mono, 2 stereo */
    Uint8  silence;    /** Audio buffer silence value (calculated) */
    Uint16 samples;    /** Audio buffer size in samples (power of 2) */
    Uint16 padding;    /** Necessary for some compile environments */
    Uint32 size;       /** Audio buffer size in bytes (calculated) */
    void (SDLCALL *callback)(void *userdata, Uint8 *stream, int len);
    void  *userdata;
} SDL_AudioSpec;
    </code>
    </ul>
</pre>
  </div>

  <div id="cover">
    <h1>SDL_audio.h(2/2)</h1>
    <ul>
    <li>
    SDL_AudioSpecを SDL_OpenAudio(SDL_AudioSpec *desired, SDL_AudioSpec *obtained);に格納することによって、音が再生される。
    </li>
    <pre>
    <code>
SDL_AudioSpec Desired;
SDL_AudioSpec Obtained;

int main(int argc, char *argv[])
{
    printf("Freq:%f\n",Frequency);
    Desired.freq= 44100; /* Sampling rate: 44100Hz */
    Desired.format= AUDIO_S16LSB; /* 16-bit signed audio */
    Desired.channels= 1; /* Mono */
    Desired.samples= 8192; /* Buffer size: 8K = 0.37 sec. */
    Desired.callback= callback;
    Desired.userdata= NULL;

    SDL_OpenAudio(&Desired, &Obtained);
    SDL_PauseAudio(0);
    SDL_Delay(200);
    SDL_Quit();
    return 0;
}
    </code>
    </ul>
</pre>
  </div>

</div> <!-- presentation -->
</body>
</html>