亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ssynth.dsp

?? 作者:Analog Devices,Inc 平臺:ADSP21xx 編程語言:ASM 說明:ADSP21xx用AD的16位定點DSP作音頻壓縮器性價比不錯
?? DSP
字號:
.module/boot=3/boot=4   lpc_sync_synth;

{ SSYNTH.DSP - synthesizes lpc speech on a pitch syncronious boundry.

  INPUT:
    i1  -> (negative) reflection coefficient (k[]'s) 
    l1  =  0
    i2  -> output (speech) buffer 
    l2  =  0
    ax1 =  pitch period
    mx1 =  gain

  OUTPUT:
    Ouput buffer filled

  FUNCTIONS CALLED:
    noise_rand     (random number generator)

  DESCRIPTION:
    clear_filter: clears delay line, initializes variables 
                  (no arguments required)

    synthesis   : updates the frame delay line  -> new -> old ->
      then synthesises a frame of speech, based on interpolated
      parameters (cur_) from the last frame (old_) and the latest (new_).
      When a frame is considered voiced the filter is excited with an 
      impuls on a pitchsyncronous boundry. When a frame is unvoiced, the
      filter is excited whith random noise. Before input to the filter
      the excitation is scaled to an appropriate value depending on
      voiced/unvoiced status and the gain. The lattice filter is
      taken from the apps handbook. 
                  
      In order to interpolate the parameter a DELAY OF ONE
      FRAME is introduced!
}

  { include constant definitions }
#include "lpc.h";

.entry synthesis, clear_filter;

.external noise_rand;

.var/pm/ram/circ e_back[N];   {delay line}
.var/dm/ram      lo_noise_seed,hi_noise_seed;
.var/pm/ram      new_k[N];
.var/dm/ram      new_gain;
.var/dm/ram      new_pitch;
.var/pm/ram      old_k[N];
.var/dm/ram      old_gain;
.var/dm/ram      old_pitch;
.var/dm/ram/circ cur_k[N];
.var/dm/ram      cur_gain;
.var/dm/ram      cur_pitch;
.var/dm/ram      pif_cnt;  {Place In Frame - cntr}
.var/dm/ram      pp_cnt;   {pitch period - cntr}
.var/dm/ram      first_time;

  {clear filter and return}
clear_filter:
  
   {clear the filter}
  i4 = ^e_back;  l4 = 0;
  ar = 0;
  cntr = N;
  do clear_loop until ce;
  clear_loop: pm(i4,m5) = ar;      

  {initialize seed value for random nr generation}
  ax0 = 0;
  dm(lo_noise_seed) = ax0;
  dm(hi_noise_seed) = ax0;

  ax0 = 1;
  dm(first_time) = ax0; {first_time = TRUE}
  
rts;
  
  {generate one frame of data and output to speech buffer}

synthesis:
  ax0 = dm(first_time);
  ar  = pass ax0;
  if eq jump not_first;
    {copy parm's to new}     {first_time = TRUE}
    dm(new_pitch) = ax1;
    dm(new_gain)  = mx1;
    i6 = ^new_k;  l6 = 0;
    cntr = N;
    do move_to_new until ce;
      ax0 = dm(i1,m1);
    move_to_new: pm(i6,m5) = ax0;

    {start of by interpolating}
    ax0 = 1;
    dm(pp_cnt) = ax0;

     {don't do this anymore}   
    ax0 = 0;
    dm(first_time) = ax0;
    jump done;
  not_first:                 {first_time = FALSE}
     {move parm's from old to new and update new}
    ax0 = dm(new_pitch);
    mx0 = dm(new_gain);
    dm(new_pitch) = ax1;
    dm(new_gain)  = mx1;
    dm(old_pitch) = ax0;
    dm(old_gain)  = mx0;
    i6 = ^new_k;  l6 = 0;
    i5 = ^old_k;  l5 = 0;
    cntr = N;
    do move_to_old until ce;
      ay0 = pm(i6,m4), ax0 = dm(i1,m1);
      pm(i5,m5) = ay0;
    move_to_old: pm(i6,m5) = ax0;

    {setup for lattice filter}
    i0 = ^cur_k;   l0 = N;
    i4 = ^e_back;  l4 = N;
    m2 = -1;
    m6 = 3; 
    m7 = -2;

    {setup pitch_period cntr, in temp var (=af)}
    ax0 = dm(pp_cnt);
    af = pass ax0;

    {synthesize a whole frame}
    cntr = FRAME_LENGTH;
    ax0 = 0;
    dm(pif_cnt) = ax0;

    do frame_loop until ce;
      my0 = 0; {excitation default to 0}
      af = af - 1;
      if gt jump not_pitch_time;
        {time to interpolate}
        {calculate interpolation factor = pif_cnt/(FRAME_LENGTH - 1)}
        mx0 = dm(pif_cnt);
        my0 = INTERP_FACTOR;  {= 1/(FRAME_LENGHT - 1) shift -1}
        mr  = mx0 * my0 (ss); {product is in 17.15 format}
        my1 = mr0;            {get 1.15 format}

        {calc interpolated gain}
        ax0 = dm(new_gain);
        ay0 = dm(old_gain);
        ar  = ax0 - ay0;     {new - old}
        mr  = ar * my1 (ss); {(new-old)*int_factor}
        ar  = mr1 + ay0;     { + old}
        dm(cur_gain) = ar;
        
        {test for transition between voiced/unvoiced and unvoiced/voiced}
        ay0 = dm(old_pitch);
        ar  = pass ay0;
        if eq jump old_unv;
          ax0 = dm(new_pitch);
          ar  = pass ax0;
          if eq jump new_unv; 
           {voiced - voiced}
           
           {calc interpolated pitch}
            ar  = ax0 - ay0;     {new - old}
            mr  = ar * my1 (ss); {(new-old)*int_factor}
            ar  = mr1 + ay0;     { + old}
            dm(cur_pitch) = ar;
           
           {"interpolate" k's}
            i1 = ^cur_k;  l1 = 0;
            i5 = ^old_k;  l5 = 0;
            cntr = N;
            do interpolate_k until ce;
              ay0 = pm(i5,m5);
            interpolate_k: dm(i1,m1) = ay0;
          new_unv:

          {reinitialize pitch cntr}
          ar = dm(cur_pitch);
          af = pass ar;

          {set my0 = excitation impuls, in case of voiced frame}
          {multiply excitation by gain*(pitch/FRAME_LENGTH)}
          mx1 = ONE_OVER_FRAMEL;     { = 1/FRAME_LENGTH}
          my1 = dm(cur_pitch);
          mr = mx1 * my1 (ss);  {pitch/FRAME_LENGTH, result in 16.16 format}
          my1 = dm(cur_gain);   
          mr  = mr0 * my1 (ss); {gain*pitch/FRAME_LENGTH}
          my1 = 0x7fff;         {impuls}
          mr  = mr1 * my1 (ss); 
          my0 = mr1;
         
          jump not_pitch_time;

        old_unv:  {unvoiced - *}
          ax0 = 1;       {set the pitch_period cntr to a apropriate spacing}
          af  = pass ax0;
          ax0 = 0;
          dm(cur_pitch) = ax0;  {set voiced state to unvoiced}
           
         {copy old_k to cur_k}
          i1 = ^cur_k;  l1 = 0;
          i5 = ^old_k;  l5 = 0;
          cntr = N;
          do move_to_cur until ce;
            ay0 = pm(i5,m5);
          move_to_cur: dm(i1,m1) = ay0;

      not_pitch_time:
       
       {calculate driving sample if noised}
      ax0 = dm(cur_pitch);
      ar = pass ax0;      {check for voiced/unvoiced}
      if ne jump voiced;
        sr1 = dm(hi_noise_seed);  {noised, old_pitch = 0}
        sr0 = dm(lo_noise_seed);
        call noise_rand;          {random: 16 bit nr}
        dm(hi_noise_seed) = sr1;
        dm(lo_noise_seed) = sr0;
        ar  = abs sr1;
        sr  = ashift ar by -3 (hi);
        my1 = dm(cur_gain);        {multiply by gain}
        mr  = sr1 * my1 (ss);
        my0 = mr1;                 {my0 = excitation} 
        jump do_filter;                    
      voiced:   
      do_filter:
         
         {do allpole lattice filter (from apps book)}
      cntr = N - 1;
      mr = 0;
      mr1 = my0;
      mx0 = dm(i0,m1), my0 = pm(i4,m5);
      mr = mr - mx0*my0 (ss), mx0 = dm(i0,m1), my0 = pm(i4,m5);
      do dataloop until ce;
        mr = mr - mx0*my0 (ss);
        my1 = mr1, mr = 0;
        mr1 = my0;
        mr = mr + mx0*my1 (ss), mx0 = dm(i0,m1), my0 = pm(i4,m7);
        pm(i4,m6) = mr1, mr = 0;
      dataloop:  mr1 = my1;
      
      my0 = pm(i4,m7), mx0 = dm(i0,m2);
      dm(i2,m1) = my1;     {store synthesized sample}
      pm(i4,m5) = mr1;     {store newest value in delay line}

       {increment place_in_frame cntr}
      ay0 = dm(pif_cnt);
      ar  = ay0 + 1;
    frame_loop: dm(pif_cnt) = ar;

     {store pitch_period cntr for next iteration}
    ar = pass af;
    dm(pp_cnt) = ar;

  done:
  l4  = 0;
rts;
  
.endmod;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久99精品网久久| 国产精品久久三| 日韩精品高清不卡| 欧美精品在欧美一区二区少妇| 亚洲在线中文字幕| 欧美理论片在线| 蜜桃av噜噜一区| 精品精品欲导航| 国产在线精品一区二区三区不卡 | 一区二区理论电影在线观看| 91成人免费在线视频| 亚洲成人资源网| 91精品啪在线观看国产60岁| 美女视频黄免费的久久| 2017欧美狠狠色| 成人黄色国产精品网站大全在线免费观看 | 在线观看91av| 精品一区二区三区免费| 国产三级三级三级精品8ⅰ区| 99视频超级精品| 亚洲国产精品欧美一二99| 91精品国产福利在线观看| 国产麻豆成人传媒免费观看| 综合久久久久综合| 欧美一二三区在线观看| 成人午夜av电影| 亚洲h在线观看| 国产午夜精品一区二区三区嫩草| 91在线视频在线| 日韩av成人高清| 国产精品亲子乱子伦xxxx裸| 欧美日韩一区二区三区四区五区| 蜜臀精品一区二区三区在线观看| 精品国产免费人成在线观看| av在线不卡观看免费观看| 香蕉加勒比综合久久| 久久综合精品国产一区二区三区 | 亚洲成人www| 欧美激情自拍偷拍| 91精品国产综合久久久久 | 丰满放荡岳乱妇91ww| 亚洲一本大道在线| 久久久久久久免费视频了| 欧美日韩免费高清一区色橹橹| 黑人精品欧美一区二区蜜桃 | 欧美亚洲综合一区| 国产精品资源站在线| 亚洲成人综合网站| 国产精品久久久久久亚洲毛片 | 日本国产一区二区| 国产酒店精品激情| 天堂在线亚洲视频| 亚洲天堂网中文字| 国产日韩一级二级三级| 91麻豆精品国产自产在线观看一区| www.激情成人| 国产一区二区三区不卡在线观看| 图片区小说区区亚洲影院| 亚洲视频中文字幕| 亚洲国产精品成人综合色在线婷婷| 91精品国产高清一区二区三区蜜臀| 色综合网站在线| 成人国产精品免费网站| 国产精品自在欧美一区| 蜜桃视频第一区免费观看| 亚洲电影一区二区| 一区二区三区欧美| 亚洲欧美色图小说| 亚洲欧洲av一区二区三区久久| 国产色产综合色产在线视频| 精品国产免费人成电影在线观看四季| 欧美一级日韩一级| 欧美一区二区网站| 欧美一卡二卡三卡| 91精品久久久久久蜜臀| 91精品在线麻豆| 欧美一区二区在线播放| 欧美精品丝袜久久久中文字幕| 欧美做爰猛烈大尺度电影无法无天| av中文字幕亚洲| 91麻豆国产福利精品| 色国产精品一区在线观看| 91麻豆.com| 欧美影院一区二区| 欧美日本国产视频| 欧美一区二区在线免费播放| 亚洲理论在线观看| 亚洲综合色丁香婷婷六月图片| 亚洲永久免费视频| 午夜影视日本亚洲欧洲精品| 日韩成人dvd| 黄色日韩三级电影| 国产成人精品网址| av亚洲精华国产精华精华| 97久久精品人人做人人爽50路| 色婷婷久久久亚洲一区二区三区| 色先锋aa成人| 欧美高清一级片在线| 欧美成人一区二区三区| 久久久久久97三级| 亚洲欧洲综合另类| 偷窥国产亚洲免费视频 | 麻豆91在线播放| 国产精品一区二区三区四区| 91无套直看片红桃| 欧美日本精品一区二区三区| 精品国产一区二区三区忘忧草 | 久久中文娱乐网| 国产精品美女一区二区三区| 一级特黄大欧美久久久| 日韩国产精品91| 国产成人精品免费视频网站| 色综合视频在线观看| 欧美一区二区三级| 欧美国产精品一区| 亚洲午夜精品在线| 久久99国产精品免费| 91在线视频官网| 日韩天堂在线观看| 日韩伦理av电影| 精品在线视频一区| 在线观看日韩一区| 久久精品在这里| 91丨九色丨国产丨porny| 69堂成人精品免费视频| 国产欧美一区二区三区网站 | 欧美日韩一本到| 国产午夜久久久久| 天天色综合成人网| 99麻豆久久久国产精品免费| 91麻豆精品国产91久久久久| 国产精品国产三级国产a| 日韩不卡一二三区| 91老师片黄在线观看| 欧美一级精品在线| 一区二区三区在线视频免费| 国产一区欧美二区| 欧美精品一二三四| 亚洲免费三区一区二区| 国产精品影视在线| 5858s免费视频成人| 亚洲欧美电影一区二区| 国精品**一区二区三区在线蜜桃| 欧美丝袜丝交足nylons图片| 一区精品在线播放| 国产精品自拍网站| 精品对白一区国产伦| 婷婷夜色潮精品综合在线| 91免费观看视频| 日本一区二区不卡视频| 精品一区二区三区在线观看国产| 精品污污网站免费看| 亚洲三级久久久| av一二三不卡影片| 欧美激情一区二区三区不卡| 琪琪久久久久日韩精品| 欧美四级电影网| 一区二区三区中文免费| 91亚洲永久精品| 中文字幕在线观看不卡| 国产999精品久久久久久| 久久久综合视频| 另类小说色综合网站| 91精品国产乱码| 欧美日本在线播放| 亚洲无人区一区| 欧美吞精做爰啪啪高潮| 亚洲综合免费观看高清在线观看| 99久久精品一区| 亚洲素人一区二区| 91视频精品在这里| 亚洲欧美日韩久久| 在线免费不卡视频| 一区二区三区中文字幕电影| 在线观看一区日韩| 亚洲成人综合网站| 69久久夜色精品国产69蝌蚪网| 日韩vs国产vs欧美| 日韩三级在线观看| 国产一区二区三区在线观看免费 | 久88久久88久久久| 欧美精品一区二| 国产一区 二区| 亚洲国产精品成人综合色在线婷婷 | 午夜影视日本亚洲欧洲精品| 欧美午夜在线观看| 日本午夜一区二区| 精品国产伦理网| 成人性生交大片免费看在线播放| 中文字幕制服丝袜一区二区三区 | 国产欧美日韩卡一| 99精品视频在线播放观看| 亚洲三级电影网站| 色综合久久天天| 亚洲v日本v欧美v久久精品| 欧美一区二区在线观看| 国产精品99久久久久久久女警 | 欧美挠脚心视频网站| 另类小说视频一区二区| 国产欧美精品国产国产专区 |