home *** CD-ROM | disk | FTP | other *** search
/ ftp.pasteur.org/FAQ/ / ftp-pasteur-org-FAQ.zip / FAQ / dsp-faq / part1 next >
Internet Message Format  |  2004-03-19  |  64KB

  1. Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!ra.nrl.navy.mil!chiapp19.algx.com!allegiance!news-out.visi.com!petbe.visi.com!news.octanews.net!green.octanews.net!news-out.octanews.net!cox.net!news-xfer.cox.net!newshub.sdsu.edu!elnk-nf2-pas!elnk-pas-nf1!newsfeed.earthlink.net!sn-xit-02!sn-xit-01!sn-post-02!sn-post-01!supernews.com!corp.supernews.com!bertha.bdti.com!not-for-mail
  2. From: comp-dsp-faq@bdti.com (Kenton Williston)
  3. Newsgroups: comp.dsp,comp.answers,news.answers
  4. Subject: comp.dsp FAQ [1 of 4]
  5. Approved: news-answers-request@MIT.Edu
  6. Supersedes: <compdsp.1_1075850452@bdti.com>
  7. Followup-To: poster
  8. Date: Thu, 18 Mar 2004 18:09:22 +0000 (UTC)
  9. Organization: Berkeley Design Technology, Inc.
  10. Message-ID: <compdsp.1_1079633358@bdti.com>
  11. Sender: williston@bdti.com
  12. Distribution: world
  13. Expires: 1 May 2004 18:09:18 GMT
  14. Summary: This is a periodic posting to comp.dsp that gives information
  15.          on frequently asked questions asked in this newsgroup.
  16. X-Complaints-To: abuse@supernews.com
  17. Lines: 1460
  18. Xref: senator-bedfellow.mit.edu comp.dsp:155135 comp.answers:56626 news.answers:268475
  19.  
  20. Archive-name: dsp-faq/part1
  21. Last-modified: Thu Mar 18 2004
  22. URL: http://www.bdti.com/faq/
  23.  
  24.   FAQs (Frequently asked questions with answers) on Digital Signal Processing
  25.  
  26.    The  world-wide  web  version  of  the  comp.dsp FAQ is maintained and
  27.    sponsored by Berkeley Design Technology, Inc. For information on BDTI,
  28.    visit the BDTI home page at http://www.bdti.com.
  29.  
  30.    <<<<<<<  dsp_faq.htm  Version date: Mar 18, 2004 ======= Version date:
  31.    Mar 18, 2004 >>>>>>> 1.7
  32.  
  33.    - Kenton Williston, FAQ maintainer
  34.      _________________________________________________________________
  35.  
  36.   0. What is comp.dsp?
  37.  
  38.           0.1 Relevant links
  39.           0.2 Versions of the comp.dsp FAQ
  40.           0.3 DISCLAIMER OF WARRANTY
  41.           0.4 Redistribution permission
  42.           0.5 Note on the list of manufacturers, addresses, and telephone
  43.           numbers
  44.  
  45.   1. General DSP
  46.  
  47.           1.1 DSP book and article references
  48.  
  49.                 1.1.1 Bibles of DSP theory
  50.  
  51.                 1.1.2 Adaptive signal processing
  52.  
  53.                 1.1.3 Array signal processing
  54.  
  55.                 1.1.4 Windowing articles
  56.  
  57.                 1.1.5 Digital audio effects processing
  58.  
  59.                 1.1.6 Digital signal processing implementation
  60.  
  61.                 1.1.7 Free online books
  62.  
  63.           1.2 DSP training
  64.  
  65.                 1.2.1 Courses on DSP
  66.  
  67.                 1.2.2 On-line courses on DSP
  68.  
  69.           1.3 Where can I get free software for general DSP? 
  70.  
  71.                 1.3.1 DSP packages for MATLAB
  72.  
  73.                 1.3.2 DSP packages for Mathematica
  74.  
  75.                 1.3.3 Other DSP libraries
  76.  
  77.                 1.3.4 DSP software
  78.  
  79.                 1.3.5 Text to Speech Conversion Software
  80.  
  81.                 1.3.6 Filter design software
  82.  
  83.                 1.3.7 Audio effects
  84.  
  85.   2. Algorithms and standards
  86.  
  87.           2.1 Where can I get public domain algorithms for DSP?
  88.           2.2 What are CELP and LPC? Where can I get source for them?
  89.           2.3 What is ADPCM? Where can I get source for it?
  90.           2.4 What is GSM? Where can I get source for it?
  91.           2.5 How does pitch perception work, and how do I implement it?
  92.           2.6  What  standards  exist for digital audio? What is AES/EBU?
  93.           What is S/PDIF?
  94.  
  95.                 2.6.1  Where  can  I  get  copies of ITU (formerly CCITT)
  96.                 standards?
  97.  
  98.                 2.6.2 What standards are there for digital audio?
  99.  
  100.           2.7 What is mu-law encoding? Where can I get source for it?
  101.           2.8 How can I do CD <=> DAT sample rate conversion?
  102.           2.9 What are wavelets?
  103.  
  104.                 2.9.1   What   are   wavelets?   Where  can  I  get  more
  105.                 information?
  106.  
  107.                 2.9.2 What are some good books and papers on wavelets?
  108.  
  109.                 2.9.3 Where can I get some software for wavelets?
  110.  
  111.           2.10  How  do  I  calculate  the  coefficients  for  a  Hilbert
  112.           transformer?
  113.           2.11    Algorithm    implementation:    floating-point   versus
  114.           fixed-point
  115.  
  116.   3. Programmable DSP chips and their software
  117.  
  118.           3.1 What are the available DSP chips and chip architectures?
  119.           3.2 What is the difference between a DSP and a microprocessor?
  120.           3.3 Software for Analog Devices DSPs
  121.  
  122.                 3.3.1  Where can I get a C compiler for the ADSP-21xx and
  123.                 ADSP-21xxx?
  124.  
  125.                 3.3.2 Where can I get tools for the ADSP-21xxx?
  126.  
  127.                 3.3.3 Where can I get an assembler for the ADSP-2105?
  128.  
  129.                 3.3.4  Where can I get algorithms or libraries for Analog
  130.                 Devices DSPs?
  131.  
  132.           3.4  Software  for Agere Systems (Formerly Lucent Technologies)
  133.           DSPs
  134.           3.5 Software for Motorola DSPs
  135.  
  136.                 3.5.1  Where  can I get a free assembler for the Motorola
  137.                 DSP56000?
  138.  
  139.                 3.5.2  Where can I get a free C compiler for the Motorola
  140.                 DSP56000?
  141.  
  142.                 3.5.3  Where  can  I  get a disassembler for the Motorola
  143.                 DSP56000?
  144.  
  145.                 3.5.4  Where  can  I  get  algorithms  and  libraries for
  146.                 Motorola DSPs?
  147.  
  148.                 3.5.5  Where  can I get NeXT-compatible Motorola DSP56001
  149.                 code?
  150.  
  151.                 3.5.6  Where  can  I  get emulators for the 68HC11 (6811)
  152.                 processor?
  153.  
  154.           3.6 Software for Texas Instruments DSPs
  155.  
  156.                 3.6.1 Where can I get free algorithms or libraries for TI
  157.                 DSPs?
  158.  
  159.                 3.6.2 Where can I get free development tools for TI DSPs?
  160.  
  161.                 3.6.3  Where  can  I  get  a  free  C compiler for the TI
  162.                 TMS320C3x/4x?
  163.  
  164.                 3.6.4  Where  can  I  get  a  free  assembler  for the TI
  165.                 TMS320C3x/4x?
  166.  
  167.                 3.6.5  Where  can  I  get  a  free  simulator  for the TI
  168.                 TMS320C3x/4x?
  169.  
  170.                 3.6.6 What is Tick? Where can I get it?
  171.  
  172.   4. DSP development boards
  173.  
  174.   5. Operating Systems
  175.  
  176.    People involved...
  177.  
  178.                 Previous section (Overview) Next section (1)
  179.  
  180.                              Q0: What is comp.dsp?
  181.  
  182.           Comp.dsp  is  a  worldwide  Usenet  news  group that is used to
  183.           discuss  various  aspects  of  digital signal processing. It is
  184.           unmoderated, though we try to keep the signal to noise ratio up
  185.           :-).  If  you need to ask a question that isn't in the FAQ, and
  186.           can't figure out how to post, consult news.newusers.questions.
  187.  
  188. Q0.1: Relevant links
  189.  
  190.           Other relevant news groups are:
  191.  
  192.           + comp.arch.embedded
  193.           + comp.compression
  194.           + comp.realtime
  195.           + comp.speech.research
  196.           + sci.image.processing
  197.  
  198.           Relevant FAQs are:
  199.  
  200.           + Higher-order statistics FAQ
  201.           + comp.arch.embedded FAQ
  202.           + comp.compression FAQ
  203.           + comp.realtime FAQ
  204.           + comp.speech FAQ
  205.           + sci.image.processing FAQ
  206.           + Audio sampling FAQ
  207.  
  208.           There is an index of DSP-related mailing lists at:
  209.  
  210.           + http://www.dsprelated.com/
  211.  
  212.           Other relevant links:
  213.  
  214.           + http://weblab.research.att.com/phoaks/comp/dsp/
  215.           + http://www.ncc.com/misc/dsp_sites.html
  216.           + http://www.tasp.org
  217.           + http://www.eg3.com/dsp/index.htm,
  218.             http://www.cera2.com/dsp/index.htm, or
  219.             http://www.eetoolbox.com/dsp/index.htm
  220.           + http://www.dspguru.com
  221.           + http://shoko.calarts.edu/~glmrboy/musicdsp/music-dsp.html
  222.  
  223. Q0.2: Versions of the comp.dsp FAQ
  224.  
  225.           If you're reading this via the World Wide Web:
  226.  
  227.           Click       on      http://www.bdti.com/faq/dsp_faq.zip      or
  228.           http://www.bdti.com/faq/dsp_faq.tar.Z  to download a compressed
  229.           HTML version of the FAQ.
  230.  
  231.           Click     on     http://www.bdti.com/faq/dsp_faq.asc.zip     or
  232.           http://www.bdti.com/faq/dsp_faq.asc.tar.Z    to    download   a
  233.           compressed ASCII version of the FAQ.
  234.  
  235.           (When  you  click  on these links, your browser should tell you
  236.           that it can't display the files and then ask you if you want to
  237.           download them instead. Say "yes.")
  238.  
  239.           If you're reading this as ASCII text:
  240.  
  241.           Get  with  the  program  and  get  a  web  browser.  The FAQ is
  242.           available  on  World Wide Web with a much nicer interface. This
  243.           is  especially  true for information presented in tabular form.
  244.           Try: http://www.bdti.com/faq
  245.  
  246. Q0.3: DISCLAIMER OF WARRANTY
  247.  
  248.           BERKELEY   DESIGN   TECHNOLOGY,   INC.   AND   THE   INDIVIDUAL
  249.           CONTRIBUTORS  TO  THE FAQ BY NECESSITY ASSUME NO RESPONSIBILITY
  250.           FOR  ACCURACY, ERRORS OR OMISSIONS, OR FOR THE USES MADE OF ANY
  251.           INFORMATION  AND/OR  MATERIAL  CONTAINED HEREIN OR ANY DECISION
  252.           BASED  ON SUCH USE. NO WARRANTIES ARE MADE, EXPRESS OR IMPLIED,
  253.           WITH  REGARD TO THE CONTENTS OF THIS WORK, ITS MERCHANTABILITY,
  254.           OR   FITNESS   FOR   A   PARTICULAR  PURPOSE.  BERKELEY  DESIGN
  255.           TECHNOLOGY,  INC.  AND THE INDIVIDUAL CONTRIBUTORS SHALL NOT BE
  256.           RESPONSIBLE  FOR  ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR
  257.           CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE AND/OR RELIANCE ON
  258.           THE CONTENTS OF THIS WORK. 
  259.  
  260.           Additionally,  please  note  that the opinions expressed herein
  261.           are  those  of  the  individual contributors, and should not be
  262.           construed  to  be  those  of  the  contributor's  employers  or
  263.           Berkeley Design Technology, Inc.
  264.  
  265.           Phew.
  266.  
  267. Q0.4: Redistribution Permission
  268.  
  269.           This  FAQ may be redistributed (in either electronic or printed
  270.           form)  for non-commercial purposes provided that this notice is
  271.           preserved  and  that due credit is given to the maintainers and
  272.           contributors.
  273.  
  274. Q0.5: Note on the list of manufacturers, addresses, and telephone numbers
  275.  
  276.           The  comp.dsp  FAQ  no longer includes a list of manufacturers.
  277.           The  information  becomes  outdated  in  a  few  months, and we
  278.           believe that the list takes up an inappropriate amount of space
  279.           in the FAQ compared to the interest in the list.
  280.  
  281.                 Previous section (Overview) Next section (1)
  282.  
  283.                    Previous section (0) Next section (2)
  284.  
  285.                                 Q1: General DSP
  286.  
  287. Q1.1: Summary of DSP books and significant research articles
  288.  
  289.    Updated 12/17/01
  290.  
  291.   Q1.1.1: Bibles of DSP theory
  292.  
  293.           R.  E.  Crochiere  and  L. R. Rabiner, Multirate Digital Signal
  294.           Processing, Prentice-Hall, 1983, ISBN 0-13-605162-6.
  295.  
  296.      This book is the only real reference for filter banks and multirate
  297.      systems, as opposed to being a tutorial.
  298.  
  299.      Peter  Kootsookos  notes:  this book is most certainly an excellent
  300.      book  on multi-rate signal processing, but it came out right before
  301.      perfect  reconstruction  filter  banks  hit  the streets. Multirate
  302.      Systems and Filter Banks by P. P. Vaidyanathan covers this issue.
  303.  
  304.           G.  H.  Golub  and  C.  F. van Loan, Matrix Computations, Third
  305.           Edition, John Hopkins University Press, 1996, ISBN 081085413-X.
  306.  
  307.           S.  M. Kay, Modern Spectral Estimation: Theory and Application,
  308.           Prentice Hall, 1988, ISBN 0-13-598582-X.
  309.  
  310.           R.   G.   Lyons,   Understanding   Digital  Signal  Processing,
  311.           Addison-Wesley Publishing Co., 1997, ISBN 0-201-63467-8.
  312.  
  313.           Sanjit  K.  Mitra  and  James  F.  Kaiser, Handbook for Digital
  314.           Signal   Processing,   John   Wiley   and   Sons,   1993,  ISBN
  315.           0-471-61995-7.
  316.  
  317.      Excellent  reference  work,  but  assumes you know a fair amount to
  318.      begin with. [Phil Lapsley]
  319.  
  320.           A.  V.  Oppenheim,  A.  S.  Willsky, and S. H. Nawab, Signals &
  321.           Systems, Prentice-Hall, Inc., 1996, ISBN 0-13-814757-4.
  322.  
  323.           A.  V.  Oppenheim and R. W. Schafer, Digital Signal Processing,
  324.           Prentice-Hall,   Inc.,   Englewood   Cliffs,   NJ,  1975,  ISBN
  325.           0-13-214635-5.
  326.  
  327.           A.  V.  Oppenheim  and  R.  W.  Schafer,  Discrete-Time  Signal
  328.           Processing,  Prentice Hall, Englewood Cliffs, New Jersey 07632,
  329.           1989, ISBN 0-13-216292-X.
  330.  
  331.      This  is an updated version of the original, with some old material
  332.      deleted and lots of new material added.
  333.  
  334.           S.  J.  Orfanidis,  Optimum  Signal Processing, Second Edition,
  335.           1989, MacMillan Publishing, USA, ISBN 0-02-9498597.
  336.  
  337.      An  introduction  to  signal  processing  methods  which  have many
  338.      applications  including  speech analysis, image processing, and oil
  339.      exploration.   The   author   uses  optimum  Wiener  filtering  and
  340.      least-squares  estimation  concepts as unifying themes and includes
  341.      subroutines     for     FORTRAN     and    C.    [Juergen    Kahrs,
  342.      jkahrs@castor.atlas.de]
  343.  
  344.           T.W.   Parks   and   C.  S.  Burrus,  DFT/FFT  and  Convolution
  345.           Algorithms:  Theory  and  Implementation,  John Wiley and Sons,
  346.           1985, ISBN 0-47-181932-8.
  347.  
  348.           Thomas Parsons, Voice and Speech Processing, McGraw-Hill, 1987,
  349.           ISBN 0-07-048541-0.
  350.  
  351.           W.  H.  Press,  S.  A.  Teukolsky,  W. T. Vetterling, and B. P.
  352.           Flannery,  Numerical  Recipes  in  C, Second Edition, Cambridge
  353.           University Press, 1992, ISBN 0-52-143108-5.
  354.  
  355.      The book is also available on-line at http://www.nr.com.
  356.  
  357.           J.  G.  Proakis and D. G. Manolakis, Digital Signal Processing:
  358.           Principles, Algorithms, and Applications, MacMillan Publishing,
  359.           New York, NY, 1992, ISBN 0-02-396815-X.
  360.  
  361.           L.  R.  Rabiner and R. W. Schafer, Digital Processing of Speech
  362.           Signals, Prentice Hall, 1978, ISBN 0-13-213603-1.
  363.  
  364.           S.  D.  Stearns  and R. A. David, Signal Processing Algorithms,
  365.           Prentice Hall, Eaglewood Cliffs, NJ, 1988. ISBN
  366.  
  367.           P.   P.  Vaidyanathan,  Multirate  Systems  and  Filter  Banks,
  368.           Prentice-Hall. 911 pp. ISBN 0-13-605718-7.
  369.      _________________________________________________________________
  370.  
  371.   Q1.1.2: Adaptive signal processing
  372.  
  373.           S.  Haykin,  Adaptive  Filter  Theory,  3rd Ed., Prentice Hall,
  374.           Englewood Cliffs, NJ, 1991. ISBN 0-13-322760-X.
  375.  
  376.           J.  R. Treichler, C. R. Johnson, and M. G. Lawrence, Theory and
  377.           Design  of  Adaptive  Filters, John Wiley & Sons, New York, NY,
  378.           1987, ISBN 0-47-183220-0.
  379.  
  380.           B.   Widrow  and  S.D.  Stearns,  Adaptive  Signal  Processing,
  381.           Prentice-Hall,   Inc.,   Englewood   Cliffs,   NJ,  1985.  ISBN
  382.           0-13-004029-0
  383.      _________________________________________________________________
  384.  
  385.   Q1.1.3: Array signal processing
  386.  
  387.           J.E.  Hudson,  Adaptive  Array  Principles,  IEE London and New
  388.           York,  Peter  Peregrinus  Ltd. Stevenage, UK and NY, 1981. ISBN
  389.           0-86-341143-6.
  390.  
  391.           R.A. Monzingo and T.W. Miller, Introduction to Adaptive Arrays,
  392.           John Wiley and Sons, NY, 1980.
  393.  
  394.           S.  Haykin,  J.H. Justice, N.L. Owsley, J.L. Yen, and A.C. Kak,
  395.           Array Signal Processing, Prentice-Hall, Inc., Englewood Cliffs,
  396.           NJ, 1985.
  397.  
  398.           D.  H.  Johnson  and  D.  E.  Dudgeon, Array Signal Processing,
  399.           Concepts    and    Techniques,    Prentice-Hall,   1993.   ISBN
  400.           0-13-048513-6.
  401.  
  402.           R.   T.   Compton,   Jr.,   Adaptive   Antennas,  Concepts  and
  403.           Performance, Prentice-Hall, 1988, ISBN 0-13-004151-3.
  404.      _________________________________________________________________
  405.  
  406.   Q1.1.4: Windowing articles
  407.  
  408.           F. J. Harris, "On the Use of Windows for Harmonic Analysis with
  409.           the  Discrete  Fourier  Transform",  IEEE  Proceedings, January
  410.           1978, pp. 51-83.
  411.  
  412.      Perhaps  the  classic  overview paper for discrete-time windows. It
  413.      discusses  some  15  different  classes  of windows including their
  414.      spectral  responses  and  the reasons for their development. [Brian
  415.      Evans, bevans@ece.utexas.edu]
  416.  
  417.      There  are  several  typos  in  the  above  paper.  The  errors are
  418.      corrected in:
  419.  
  420.           A. H. Nuttall, "Some Windows with Very Good Sidelobe Behavior,"
  421.           IEEE  Trans.  on Acoustics, Speech, and Signal Processing, Vol.
  422.           ASSP-29, No. 1, February 1981.
  423.  
  424.           Nezih  C.  Geckinli and Davras Yavuz, "Some Novel Windows and a
  425.           Concise   Tutorial   Comparison   of   Window  Families",  IEEE
  426.           Transactions  on Acoustics, Speech, and Signal Processing, Vol.
  427.           ASSP-26, No. 6, December 1978.
  428.  
  429.           Lineu  C.  Barbosa,  "A  Maximum-Energy-Concentration  Spectral
  430.           Window,"  IBM  J.  Res.  Develop., Vol. 30, No. 3, May 1986, p.
  431.           321-325.
  432.  
  433.      An  elegant  method  for  designing  a  time-discrete  solution for
  434.      realization  of  a  spectral  window  which is ideal from an energy
  435.      concentration  viewpoint.  This window is one that concentrates the
  436.      maximum  amount  of  energy  in  a  specified  bandwidth  and hence
  437.      provides  optimal  spectral  resolution.  Unlike the Kaiser window,
  438.      this   window  is  a  discrete-time  realization  having  the  same
  439.      objectives  as  the continuous-time prolate spheroidal function; at
  440.      the  expense  of  not having a closed form solution. [Joe Campbell,
  441.      jpcampb@afterlife.ncsc.mil]
  442.  
  443.           D.  J.  Thomson,  "Spectrum  Estimation and Harmonic Analysis,"
  444.           Proc. of the IEEE, vol. 70, no. 9, pp. 1055-1096, Sep. 1982.
  445.  
  446.      In  his  classic  1982  paper, David Thompson proposes the powerful
  447.      multiple-window  method,  which  is an elegant and robust technique
  448.      for  spectrum  estimation.  Based  on  the  Cramer  representation,
  449.      Thompson's  method  is  nonparametric,  consistent,  efficient, and
  450.      optimally  suited  for  finite  data  samples.  In addition, it has
  451.      excellent  bias  control  and  stability,  provides  an analysis of
  452.      variance  test for line components, and finally, works very well in
  453.      many  practical applications. Unfortunately, his important work has
  454.      been   neglected   in   many  textbooks  and  graduate  courses  on
  455.      statistical signal processing. [Dong Wei,
  456.      wei@vision.ece.utexas.edu, and Brian Evans, bevans@ece.utexas.edu]
  457.      _________________________________________________________________
  458.  
  459.   Q1.1.5: Digital audio effects processing
  460.  
  461.    Books:
  462.  
  463.           Barry  Blesser  and  J.  Kates.  "Digital  Processing  in Audio
  464.           Signals."  in  A.  V.  Oppenheim,  ed., Applications of Digital
  465.           Signal  Processing,  Englewood Cliffs, NJ: Prentice-Hall, 1978.
  466.           ISBN 0-13-039115-8.
  467.  
  468.           Hal  Chamberlin,  Musical  Applications of Microprocessors, 2nd
  469.           Ed., Hayden Book Company, 1985.
  470.  
  471.           Deta  S. Davis, Computer Applications in Music: A Bibliography,
  472.           537 pages, ISBN 0-89579-225-7, pub: A-R Editions.
  473.  
  474.           Charles  Dodge  and Thomas A. Jerse, Computer Music: Synthesis,
  475.           Composition,  and  Performance,  NY: Schirmer Books, 1985. ISBN
  476.           0-02-873100-X.
  477.  
  478.           Digital  Signal Processing Committee of IEEE Acoustics, Speech,
  479.           and Signal Processing Society, ed., Programs for Digital Signal
  480.           Processing, New York: IEEE Press, 1979.
  481.  
  482.           F. Richard Moore, Elements of Computer Music, Englewood Cliffs,
  483.           NJ: Prentice-Hall, 1990. ISBN: 0-13252-552-6.
  484.  
  485.      Recommended. [Juhana Kouhia, jk87377@cc.tut.fi]
  486.  
  487.           Ken  C.  Pohlmann,  The  Compact Disc: A Handbook of Theory and
  488.           Use,   288  pages  (cloth)  ISBN  0-89579-234-6.  (paper)  ISBN
  489.           0-89579-228-1, pub: A-R Editions.
  490.  
  491.           Curtis  Roads and John Strawn, ed., The Foundations of Computer
  492.           Music, Cambridge, MA: MIT Press, 1985.
  493.  
  494.      Contains article on analysis/synthesis by Strawn, recommended; also
  495.      an   another   article   maybe   by  J.A.  Moorer  [Juhana  Kouhia,
  496.      jk87377@cc.tut.fi]
  497.  
  498.           Joseph  Rothstein, Midi: A Comprehensive Introduction (Computer
  499.           Music  and  Digital Audio, Vol 7), 2nd Ed., A-R Editions, 1995.
  500.           ISBN 0-89-579309-1.
  501.  
  502.           Ken  Steiglitz,  A  DSP  Primer  - With Applications to Digital
  503.           Audio   and  Computer  Music,  Addison-Wesley,  1996,  314  pp,
  504.           softcover, ISBN 0-8053-1684-1.
  505.  
  506.           John  Strawn,  ed.,  Digital  Audio Engineering, 144 pages, A-R
  507.           Editions. ISBN 0-86576-087-X.
  508.  
  509.           John   Strawn,   ed.,   Digital  Audio  Signal  Processing:  An
  510.           Anthology,   Los   Altos,   CA:   W.   Kaufmann,   1985.   ISBN
  511.           0-86-576087-X.
  512.  
  513.      Contains  J.A. Moorer's classic "About This Reverb Business..." and
  514.      contains  an  article which gives a code for Phase Vocoder -- great
  515.      tool   for   EQ,   for   Pitchshifter   and  more  [Juhana  Kouhia,
  516.      jk87377@cc.tut.fi]
  517.  
  518.           John  Strawn,  ed., Digital Audio Signal Processing, 283 pages,
  519.           ISBN 0-86576-082-9, pub: A-R Editions.
  520.  
  521.      Recommended. [Quinn Jensen, jensenq@qcj.icon.com]
  522.  
  523.    Forthcoming books:
  524.  
  525.    {please let us know at comp-dsp-faq@bdti.com if they are out!}
  526.  
  527.           Curtis  Roads,  "A  Computer  Music History: Musical Automation
  528.           from Antiquity to the Computer Age"
  529.  
  530.           David Cope, "Computer Analysis of Musical Style"
  531.  
  532.           Dexter Morrill and Rick Taube, "A Little Book of Computer Music
  533.           Instruments"
  534.  
  535.    Articles:
  536.  
  537.           James  A.  Moorer,  About This Reverberation Business, Computer
  538.           Music  Journal  3, 20 (1979): 13-28. (Also in Foundations of CM
  539.           below).
  540.  
  541.      Ok  article,  but  you  have  to know basic DSP operations. [Juhana
  542.      Kouhia, jk87377@cc.tut.fi]
  543.  
  544.           Check  more  articles  from  Journal  of  the Audio Engineering
  545.           Society (JAES), for example more articles by Strawn.
  546.  
  547.           [The  above is largely from Quinn Jensen, jensenq@qcj.icon.com;
  548.           Juhana     Kouhia,     jk87377@cc.tut.fi;     William    Alves,
  549.           alves@calvin.usc.edu; and Paul A Simoneau, pas1@kepler.unh.edu]
  550.      _________________________________________________________________
  551.  
  552.   Q1.1.6: Digital signal processing implementation
  553.  
  554.           User's  manuals  and  data  sheets  on  specific digital signal
  555.           processors  are  available directly from the manufacturers. The
  556.           works listed below may also be of interest.
  557.  
  558.           A.  Bateman  and  W.  Yates,  Digital Signal Processing Design,
  559.           Computer Science Press, MD, 1989.
  560.  
  561.           R.   Chassaing,   Digital   Signal   Processing   -  Laboratory
  562.           Experiments  Using  C  and  the  TMS320C31 DSK, Wiley, NY, ISBN
  563.           0-471-29362-8, 1999.
  564.  
  565.           R.   Chassaing,  Digital  Signal  Processing  with  C  and  the
  566.           TMS320C30, Wiley, NY, 1992.
  567.  
  568.           R.  Chassaing and D. W. Horning, Digital Signal Processing with
  569.           the TMS320C25, Wiley, NY, 1990.
  570.  
  571.           R.  Chassaing,  DSP Applications Using C and the TMS320C6x DSK,
  572.           Wiley, NY, ISBN 0471207543, 2002.
  573.  
  574.           Y.  Dote,  Servo  Motor and Motion Control Using Digital Signal
  575.           Processors, Prentice Hall, NJ, 1990.
  576.  
  577.           Mohamed  El-Sharkawy,  Digital  Signal  Processing Applications
  578.           with  Motorola's  56002  Processor,  Prentice Hall, Upper Sadle
  579.           River, NJ, ISBN 0-13-569476-0, 1996.
  580.  
  581.           Dale  Grover  and John R. Deller, Digital Signal Processing and
  582.           the  Microcontroller,  Prentice  Hall,  NJ, ISBN 0-13-081348-6,
  583.           1999.
  584.  
  585.           J.  L.  Hennessy  and D. A. Patterson, Computer Architecture: A
  586.           Quantitative  Approach,  Morgan Kaufmann Publishers, San Mateo,
  587.           CA, 1990, ISBN 1-55-860329-8.
  588.  
  589.           R.  Higgins,  Digital Signal Processing in VLSI, Prentice Hall,
  590.           NJ, 1990. ISBN 0-13-212887-X.
  591.  
  592.      It's  a good primer on DSP theory and practice (albeit slightly out
  593.      of  date  regarding  today's chips), aimed at both analog engineers
  594.      entering  the  digital  realm  and  digital  engineers dealing with
  595.      real-world problems. Its hardware orientation is towards components
  596.      and  the Analog Devices ADSP-2100 series (just emerging at the time
  597.      of  publication),  but  there is much in it of fundamental tutorial
  598.      value. [DanShein@ix.netcom.com]
  599.  
  600.           B.  A.  Hutchins  and  T. W. Parks, A Digital Signal Processing
  601.           Laboratory Using the TMS320C25, Prentice Hall, NJ, 1990.
  602.  
  603.           D.  L.  Jones  and  T.  W.  Parks,  A Digital Signal Processing
  604.           Laboratory using the TMS32010, Prentice Hall, NJ, 1988.
  605.  
  606.           P.  Lapsley,  J.  Bier, A. Shoham, and E. A. Lee, DSP Processor
  607.           Fundamentals:   Architectures  and  Features,  Berkeley  Design
  608.           Technology, Inc., Fremont, CA, 1996.
  609.  
  610.           Vijay   Madisetti,   VLSI   Digital   Signal   Processors:   An
  611.           Introduction  to  Rapid  Prototyping and Design Synthesis, IEEE
  612.           Press/Butterworth-Heinemann, 1995.
  613.  
  614.           Henrik   V.  Sorensen  and  Jianping  Chen,  A  Digital  Signal
  615.           Processing Laboratory Using the TMS320C30, Prentice Hall, Upper
  616.           Sadle River, NJ, ISBN 0-13-741828-0, 1997.
  617.  
  618.           Steven  A.  Tretter,  Communication  system  design  using  DSP
  619.           algorithms:  with  laboratory  experiments  for  the TMS320C30,
  620.           Plenum Press, Norwell, MA, ISBN 0306450321, 1995.
  621.      _________________________________________________________________
  622.  
  623.   Q1.1.7: Free online books
  624.  
  625.    Updated 2/11/02
  626.  
  627.     The Scientist and Engineer's Guide to Digital Signal Processing
  628.  
  629.           This  introductory  DSP  book is available for free download at
  630.           http://www.dspguide.com/.  Topics covered in this 640-page book
  631.           include:  convolution,  digital filters, audio processing, data
  632.           compression, and Fourier, Laplace, and z transforms.
  633.  
  634.     Yehar's sound DSP tutorial for the braindead
  635.  
  636.           This  tutorial  is  for  people  with  "high school level" math
  637.           knowledge,  so  you won't have to be a specialized genius to be
  638.           able  to read this. There's actually quite a lot information in
  639.           this  one,  but  the  best  covered  subjects  are:  filters in
  640.           general,  FIR  and  IIR filter design, interpolation, frequency
  641.           shifting.
  642.  
  643.           http://www.student.oulu.fi/~oniemita/DSP/INDEX.HTM
  644.  
  645.    [Steve Horne, steve@lurking.demon.co.uk]
  646.      _________________________________________________________________
  647.  
  648. Q1.2: DSP training
  649.  
  650.    Updated 05/06/02
  651.  
  652.   Q1.2.1: Courses on DSP
  653.  
  654.           DSP training is available from the following sources:
  655.  
  656.          1. DSP  Made  Simple:  basic  DSP  theory  and  algorithms. Web:
  657.             http://www.bessercourse.com/
  658.          2. DSP  without  Tears:  Z Domain Technologies covers theory and
  659.             applications. Web: http://www.zdt.com/
  660.          3. DSP  Workshop:  Dr.  Bill  Gordon,  who is located in Austin,
  661.             gives them. He is a former Texas Instruments employee. He can
  662.             be reached at dsp@io.com. Web: http://www.dsp-workshops.com/
  663.          4. Berkeley Design Technology Inc.: BDTI is a DSP consulting and
  664.             independent  DSP processor/tools evaluation firm in Berkeley,
  665.             CA. Web: http://www.bdti.com/
  666.          5. Cysip:   Courses   in   DSP,   Speech/Image  Processing,  and
  667.             Communications. Web: http://www.cysip.com/
  668.  
  669.           [Brian    Evans,    bevans@ece.utexas.edu;   Andreas   Spanias,
  670.           spanias@asu.edu]
  671.      _________________________________________________________________
  672.  
  673.   Q1.2.2: On-line courses on DSP
  674.  
  675.    Updated Mar 1, 2003
  676.  
  677.           Prof.   Brian   Evans:   Real-time   DSP   course   online   at
  678.           http://www.ece.utexas.edu/~bevans/courses/realtime/.
  679.  
  680.           TechOnLine  (http://www.techonline.com/):  Courses  on  various
  681.           topics.
  682.  
  683.           Engineering Productivity Tools Ltd.
  684.           (http://www.eptools.com/tn/index.htm):   Technical   notes   on
  685.           various topics (FFT, Sensor arrays, etc.).
  686.  
  687.           BORES Signal Processing DSP course.
  688.           (http://www.bores.com/courses/intro/index.htm):    Introduction
  689.           courses to DSP.
  690.  
  691.           TI  has  a  centralized  training  site where DSP designers can
  692.           access  all  of TI's training webcasts, workshops and seminars.
  693.           It can be found at www.dspvillage.ti.com/trainingpr2. It covers
  694.           TI  DSP,  tools,  software and applications. Analog training is
  695.           also included.
  696.  
  697.           TI  also  has  a site designed to help new DSP users (primarily
  698.           new   TI   DSP   users)   get   started   with  their  designs:
  699.           http://www.dspvillage.ti.com/cocostu.
  700.      _________________________________________________________________
  701.  
  702. Q1.3: Where can I get free software for general DSP?
  703.  
  704.    Updated 05/06/02
  705.  
  706.           The  packages listed below are mostly not oriented for use with
  707.           a specific DSP processor. See the later sections in the FAQ for
  708.           software relevant to a particular programmable DSP chip.
  709.  
  710.   Q1.3.1: DSP Packages for MATLAB
  711.  
  712.    Updated 05/06/02
  713.  
  714.           FOR  STUDENTS IN THE US AND CANADA: The MATLAB Student Version,
  715.           available  from  The  MathWorks,  is a full-featured version of
  716.           MATLAB  and  includes  Simulink  (with  model  sizes  up to 300
  717.           blocks)  and  the  Symbolic  Math  toolbox. It is available for
  718.           Windows and Linux. See
  719.           http://www.mathworks.com/products/studentversion/. 
  720.  
  721.     MATLAB user's group public domain extensions to MATLAB
  722.  
  723.    Description:
  724.           The MATLAB Digest is issued at irregular intervals based on the
  725.           number of questions and software items contributed by users. To
  726.           subscribe     to     the     newsletter,     send    mail    to
  727.           subscribe@mathworks.com.  To  make  submissions  to the digest,
  728.           please  send  to hwilson@ua1vm.ua.edu with a subject: "DIG" and
  729.           description.
  730.  
  731.    To obtain:
  732.           Some    MATLAB    tools   are   available   on   the   web   at
  733.           http://www.mathworks.com,    or    via    anonymous    ftp   at
  734.           ftp://ftp.mathworks.com/.
  735.  
  736.     Wavelet Tools
  737.  
  738.    Description:
  739.           There  is  a  set  of  Wavelet  Tools available for MATLAB, see
  740.           Section 2.9 of this FAQ.
  741.  
  742.     Communications Toolbox
  743.  
  744.    Description:
  745.           We  have  developed  a  "Communications  Toolbox"  based on the
  746.           MATLAB  code for classroom use. It is used by students taking a
  747.           4th year communications course where the emphasis is on digital
  748.           coding  of  waveforms and on digital data transmission systems.
  749.           The  MATLAB  code that constitutes this toolbox has been in use
  750.           for over two years.
  751.  
  752.           There  are  close  to  100  "M-files"  that  implement  various
  753.           functions.  Some  of  them  are  quite  simple and are based on
  754.           existing  MATLAB  M-files.  But  a  great many of them has been
  755.           created  from  scratch.  We  also prepared a lab manual (in TEX
  756.           format) for the 7 simulations which the students perform as the
  757.           lab  component  of this course. The topics of these simulations
  758.           are:
  759.  
  760.           + Probability Theory
  761.           + Random Processes
  762.           + Quantization
  763.           + Binary Signalling Formats
  764.           + Detection
  765.           + Digital Modulation
  766.           + Digital Communication
  767.  
  768.    To obtain:
  769.           M-files (MATLAB 4.2) is available in:
  770.           ftp://ftp.mathworks.com/pub/contrib/v4/misc/comm_tbx/
  771.  
  772.           The  complete  manual  in  Postscript  format  is  available at
  773.           ftp://ftp.mathworks.com/pub/contrib/v4/misc/comm_tbx/comm_tbx.m
  774.           anual.ps. [Mehmet Zeytinoglu, mzeytin@ee.ryerson.ca]
  775.  
  776.     Digital Filter Package (DFP)
  777.  
  778.    Description:
  779.           The Digital Filter Package is a GUI front-end to digital filter
  780.           design with MATLAB. DFP extends the basic digital filter design
  781.           functionality of MATLAB in two important ways:
  782.  
  783.           + Filter   coefficients  can  be  quantized.  This  feature  is
  784.             important if the filter is to be implemented on a fixed-point
  785.             DSP processor.
  786.           + DFP generates assembly-language code for the designed digital
  787.             filter.  In  the  current release of DFP, this option is only
  788.             available for the Motorola DSP56xxx family.
  789.  
  790.    For more information:
  791.           http://www.ee.ryerson.ca:8080/~mzeytin/dfp/index.html.  [Mehmet
  792.           Zeytinoglu, mzeytin@ee.ryerson.ca]
  793.  
  794.     Implementations of the CELP Federal Standard 1016 Speech Coder and LPC-10e
  795.     Speech Coder
  796.  
  797.    To obtain:
  798.           http://www.cysip.com/dsplinks.html.      [Andreas      Spanias,
  799.           spanias@asu.edu]
  800.  
  801.     GSM Routines
  802.  
  803.    Description:
  804.           Chris  Stratford  has  placed  GSM-related  MATLAB code online,
  805.           including    routines   for   GMSK   modulation   and   Viterbi
  806.           equalization.
  807.  
  808.    To obtain:
  809.           http://www.stratfordc.free-online.co.uk.
  810.      _________________________________________________________________
  811.  
  812.   Q1.3.2: DSP Packages for Mathematica
  813.  
  814.    Updated 04/03/01
  815.  
  816.      Note:  FOR STUDENTS: A student version of Mathematica is available.
  817.      It  includes  a copy of the reference manual. The only drawbacks to
  818.      the  student  version  are  that  the floating point coprocessor is
  819.      disabled and that upgrades cannot be ordered.
  820.  
  821.     Signal Processing Packages (SPP) and Notebooks, Version 2.9.5
  822.  
  823.    Description:
  824.           Freely  distributable  extensions  to  Mathematica. Enables the
  825.           symbolic  manipulation  of  signal  processing expressions: 1-D
  826.           discrete/continuous  convolutions and 1-D/m-D linear transforms
  827.           (Laplace,  Fourier,  z,  DTFT, and DFT). For linear transforms,
  828.           you   can   specify  your  own  transform  pairs  and  see  the
  829.           intermediate  computations.  Great  for showing students how to
  830.           take  transforms, or for deriving input-output relationships in
  831.           a  transform domain. Additional abilities include analog filter
  832.           design,   solving  DE's  using  transforms,  converting  signal
  833.           processing  expressions  to  their equivalent TeX forms, number
  834.           theoretic    operations    (Bezout    numbers,    Smith    Form
  835.           decompositions,  and  matrix factors), and multirate operations
  836.           (graphical design of 2-d decimators). Accompanying the SPPs are
  837.           tutorial  notebooks  on analog filter design, Fourier analysis,
  838.           piecewise   convolution,   and   the  z-transform  (includes  a
  839.           discussion  of  fundamentals  of  digital filter design). These
  840.           Notebooks   illustrate   difficult   concepts   (such   as  the
  841.           flip-and-slide view of convolution) through animation.
  842.  
  843.    To obtain:
  844.           Contact   Brian   Evans   at   bevans@ece.utexas.edu,   or  see
  845.           http://www.ece.utexas.edu/~bevans/projects/symbolic/spp.html.
  846.  
  847.           Version  3.0  of  the  SPP  (an  "overhauled  version  of  2.x"
  848.           according  to  the  author)  is  available  commercially in two
  849.           products:  the  Signals and Systems Pack from Wolfram Research,
  850.           and   a  book  entitled  "Mathematica  Notebooks  to  Accompany
  851.           Contemporary  Linear  Systems Using MATLAB" from PWS Publishing
  852.           company.
  853.  
  854.     EE341
  855.  
  856.    Description:
  857.           Dr.  Roberto H. Bamberger reports: I have developed a series of
  858.           about  30  Lectures  that I use for EE341 (Analog Communication
  859.           Systems)  here at Washington State University. They use the SPP
  860.           by  Brian  Evans.  They  discuss  many concepts associated with
  861.           linear  systems  theory.  Topics  covered  include  LTI  system
  862.           theory,  convolution,  AM,  FM, PM modulation and demodulation,
  863.           and  the  sampling  theorem. NOTE: All Notebooks were developed
  864.           under  NeXTSTEP 3.1 using Mathematica 2.2. I make no guarantees
  865.           about  the graphics being able to be rendered on anything other
  866.           than a NeXT.
  867.  
  868.     Control Systems Analysis Package (COSYPAK) and Notebooks
  869.  
  870.    Description:
  871.           Public   domain   extension   to   Mathematica.  Classical  and
  872.           state-space  control analysis and design methods. The Notebooks
  873.           supplement  the  material  in  the  textbook  "Modern  Controls
  874.           Theory"  by  Ogata.  Largely  based  on  the  Signal Processing
  875.           Packages (SPP, see above).
  876.  
  877.    For more information:
  878.           Contact Dr. Sreenath, sree@veda.esys.cwru.edu.
  879.  
  880.     Other Mathematica DSP Notebooks
  881.  
  882.           The   following   Mathematica   notebooks  can  be  ftped  from
  883.           worldserver.com:
  884.  
  885.           + pub/malcolm/FilterDesign.math  IIR  Filter Design (continuous
  886.             and discrete)
  887.           + pub/malcolm/ear.math.Z   Implementation  of  Lyon's  Cochlear
  888.             Model
  889.           + pub/malcolm/Gammatone.math    Implementation   of   Gammatone
  890.             Cochlear  Model. Printed copies (with floppies) are available
  891.             from   the   Apple   library  (corp.lib@applelink.apple.com).
  892.             Pointers to the notebooks are available from Malcolm Slaney's
  893.             homepage at http://www.interval.com/~malcolm/pubs.html.
  894.  
  895.           The   following   Mathematica  notebooks  (from  Julius  Smith,
  896.           jos@ccrma.stanford.edu)       can       be      ftped      from
  897.           ccrma-ftp.stanford.edu:
  898.  
  899.           + pub/DSP/Tutorials/GenHamming.ma.Z Generalized Hamming windows
  900.           + pub/DSP/Tutorials/Kaiser.ma.Z The Kaiser window
  901.           + pub/DSP/Tutorials/WinFlt.ma.Z  Digital  filter  design by the
  902.             "window method"
  903.  
  904.           (There are other DSP related items in pub/DSP on ccrma-ftp; see
  905.           other sections of this FAQ for details).
  906.      _________________________________________________________________
  907.  
  908.   Q1.3.3: Other DSP Libraries
  909.  
  910.    Updated 05/06/02
  911.  
  912.     Audio File I/O Routines
  913.  
  914.    Description:
  915.           The Audio File Signal Processing (AFsp) package is a library of
  916.           routines  for  reading  and  writing  audio  files  of  various
  917.           formats.  It also provides utility programs for comparing audio
  918.           files   (speech   activity  factor,  SNR);  coping,  combining,
  919.           concatenating,   and   changing  the  format  of  audio  files;
  920.           resampling  (arbitrary sample rate conversion); filtering audio
  921.           files  (including ITU-T filters); and generating noise / tones.
  922.           These routines are freely distributable under a license similar
  923.           to  the  GNU license. They were written by Prof. Peter Kabal of
  924.           the  Telecommunications and Signal Processing Library at McGill
  925.           University.
  926.  
  927.    To obtain:
  928.           The kit is located at: ftp://ftp.tsp.ece.mcgill.ca/TSP/AFsp/
  929.  
  930.    For more information:
  931.           See   http://www.tsp.ece.mcgill.ca/Docs/Software/AFsp/AFsp.html
  932.           [Brian Evans, bevans@ece.utexas.edu]
  933.  
  934.     FFTW ("Fastest Fourier Transform in the West")
  935.  
  936.    Description:
  937.           FFTW, a fast C FFT library, along with benchmarks comparing the
  938.           speed  and  accuracy of many public domain FFTs on a variety of
  939.           platforms.
  940.  
  941.    To obtain:
  942.           http://www.fftw.org
  943.  
  944.    For more information:
  945.           fftw@fftw.org.
  946.  
  947.     Intel Signal Processing Library
  948.  
  949.    Description:
  950.           The Intel Signal Processing Library provides a set of optimized
  951.           C functions that implement typical signal processing operations
  952.           on Intel processors.
  953.  
  954.    To obtain:
  955.           http://developer.intel.com/software/products/perflib/spl/index.
  956.           htm
  957.  
  958.     ISIP Automatic Speech Recognition System
  959.  
  960.    Description:
  961.           Source  code  for  a public domain automatic speech recognition
  962.           system.
  963.  
  964.    To obtain:
  965.           http://www.isip.msstate.edu/projects/speech/software/asr/index.
  966.           html
  967.  
  968.     ISIP Foundation Classes
  969.  
  970.    Description:
  971.           A  large  C++  class  library  for  use  in  signal  processing
  972.           research.  Includes  classes  for  file  I/O, vector and matrix
  973.           operations,   signal   processing,   pattern  recognition,  and
  974.           automatic speech recognition.
  975.  
  976.    To obtain:
  977.           http://www.isip.msstate.edu/projects/speech/software/documentat
  978.           ion/class/index.html
  979.  
  980.     Linear Systems Toolbox for Maple
  981.  
  982.    Description:
  983.           Public domain extension to Maple.
  984.  
  985.    To obtain:
  986.           ftp://ftp.egr.duke.edu/pub/maple/linsys1.2.tar.Z
  987.  
  988.    For more information:
  989.           Contact Tony Richardson, amr@mpl.ucsd.edu.
  990.  
  991.     Signal Processing using C++ (SPUC)
  992.  
  993.    Description:
  994.           Free  C++  classes  for DSP & digital communications simulation
  995.           and modeling. Includes:
  996.  
  997.           + Basic  building  blocks  such  as  fixed  bit  width  integer
  998.             classes, pure-delay blocks, Gaussian and random noise, etc.
  999.           + DSP  building  blocks  such  as  FIR,  IIR,  Allpass, Running
  1000.             Average,  Lagrange  interpolation  filters, NCOs (numerically
  1001.             controlled oscillators), Cordic rotator.
  1002.           + Several  communications  functions  such as timing, phase and
  1003.             frequency    discriminators   for   BPSK/QPSK   signals   and
  1004.             raised-cosine type FIR filter functions.
  1005.  
  1006.    To obtain:
  1007.           http://spuc.sourceforge.net/
  1008.  
  1009.    For more information:
  1010.           tony_kirke@ieee.org.
  1011.  
  1012.     Vector/Signal/Image Processing Library (VSIPL)
  1013.  
  1014.    Description:
  1015.           VSIPL  is  an  API  and  library  for vector, signal, and image
  1016.           processing.
  1017.  
  1018.    To obtain:
  1019.           http://www.vsipl.org
  1020.      _________________________________________________________________
  1021.  
  1022.   Q1.3.4: DSP Software
  1023.  
  1024.    Updated 10/18/99
  1025.  
  1026.     AudioFile System
  1027.  
  1028.    Description:
  1029.           The    AudioFile    System   (AF)   is   a   device-independent
  1030.           network-transparent  audio  server.  The  distribution includes
  1031.           device drivers and server code for Digital RISC systems running
  1032.           Ultrix,  Digital  Alpha  AXP  systems  running  OSF/1,  and Sun
  1033.           Microsystems  SPARCstations running SunOS. Also included are an
  1034.           API and library, out-of-the-box core applications, and a number
  1035.           of  contributed  applications. AudioFile allows applications to
  1036.           generate  and process audio in real-time and at present handles
  1037.           up to 48 KHz stereo audio.
  1038.  
  1039.    To obtain:
  1040.           AudioFile  is  distributed  in  source  form,  with a copyright
  1041.           allowing  unrestricted use for any purpose except sale (see the
  1042.           Copyright notice).
  1043.  
  1044.           The kit is located in the at: ftp://crl.dec.com/pub/DEC/AF/
  1045.  
  1046.           A    sample    kit    of    sound-bites    is   available   as:
  1047.           ftp://crl.dec.com/pub/DEC/AF/AF2R2-other.tar
  1048.  
  1049.    For more information:
  1050.           af@crl.dec.com  is a mailing list for discussions of AudioFile.
  1051.           Send  mail  to af-request@crl.dec.com to be added to this list.
  1052.           [Larry Stewart, stewart@crl.dec.com]
  1053.  
  1054.     Khoros
  1055.  
  1056.    Description:
  1057.           Visual  programming  interface  for image and video processing.
  1058.           See the UseNet group comp.soft-sys.khoros. A free trial version
  1059.           is available.
  1060.  
  1061.    Platforms:
  1062.           Digital UNIX 4.0D, Red Hat Linux 4.2, Irix 6.2 and 6.3, Solaris
  1063.           2.5.1, Windows NT 4.0
  1064.  
  1065.    To obtain:
  1066.           Khoros is found at: http://www.khoral.com/.
  1067.  
  1068.     MathViews, WaveXplorer, MathXplorer
  1069.  
  1070.    Description:
  1071.           MathViews  for  Windows/32  -  Math  Software  for  Windows 3.1
  1072.           (version  2.1 only) and Windows 95/NT. Current version is 2.21.
  1073.           "MathViews  for  Windows/32 is MATLAB look-alike. It has a full
  1074.           set  of  linear  algebra  and  signal processing functionality.
  1075.           MathViews is highly compatible with the MATLAB language"
  1076.  
  1077.           WaveXplorer  for  Windows  95/NT:  version  2.21.  "Interactive
  1078.           waveform   editor   (based   on  the  computational  engine  of
  1079.           MathViews)"
  1080.  
  1081.           MathXplorer,   MathViews   ActiveX   control:   version   2.21.
  1082.           "MathXplorer    provides   easy   access   to   the   MathViews
  1083.           computational  engine  that can be embedded in MS Excel, Visual
  1084.           Basic, Internet Explorer, etc."
  1085.  
  1086.           Author:  Dr.  Shalom  Halevy,  shalevy@mathwizards.com,  PO BOX
  1087.           22564,  San  Diego,  CA  92192  (619)  552-9031  USA  (Tel/FAX)
  1088.           http://www.mathwizards.com.
  1089.  
  1090.    To obtain:
  1091.           http://www.mathwizards.com/.   No  sources.  Shareware  version
  1092.           available.
  1093.  
  1094.     PC Convolution
  1095.  
  1096.    Description:
  1097.           P.C.   convolution  is  a  educational  software  package  that
  1098.           graphically  demonstrates the convolution operation. It runs on
  1099.           IBM  PC  type computers using DOS 4.0 or later. It is currently
  1100.           being  used  in schools of Mathematics, Electrical Engineering,
  1101.           Earth   Sciences,   Aeronautics,   Astronomy,  Geophysics,  and
  1102.           Experimental Psychology.
  1103.  
  1104.           The  current  version  of this software demonstrates continuous
  1105.           time convolution, discrete time, and circular convolution along
  1106.           with cross-correlation.
  1107.  
  1108.    To obtain:
  1109.           ftp://lamarr.ee.umr.edu/pub/pcc5.zip.   University  instructors
  1110.           may  obtain a free, fully operational version by contacting Dr.
  1111.           Kurt Kosbar at the address listed below.
  1112.  
  1113.  
  1114.     Dr. Kurt Kosbar
  1115.     117 Electrical Engineering Building
  1116.     University of Missouri - Rolla
  1117.     Rolla, Missouri, USA 65401, phone: (573) 341-4894
  1118.     e-mail: kk@ee.umr.edu
  1119.  
  1120.     Ptolemy
  1121.  
  1122.    Description:
  1123.           Ptolemy  is an object oriented framework for the specification,
  1124.           simulation, and rapid prototyping of systems. From a flow graph
  1125.           description,  Ptolemy can generate both C code and DSP assembly
  1126.           code for rapid prototyping. Code generation is not yet complete
  1127.           and  is  included  in  the  current  release  for demonstration
  1128.           purposes only.
  1129.  
  1130.    Platforms:
  1131.           Ptolemy  is  available  for Solaris, HPUX, Digital Unix, Linux,
  1132.           and Windows NT.
  1133.  
  1134.    To Obtain:
  1135.           Ptolemy   is   available  via  anonymous  ftp.  Get  the  file:
  1136.           ftp://ptolemy.eecs.berkeley.edu/pub/README   and   follow   the
  1137.           instructions.
  1138.  
  1139.           Organizations  without  Internet  access  can  obtain  Ptolemy,
  1140.           without  support,  from  ILP. This is often a more stable, less
  1141.           featured version than is available by FTP.
  1142.  
  1143.  
  1144.     EECS/ERL Industrial Liaison Program Office
  1145.     Software Distribution
  1146.     205 Cory Hall
  1147.     University of California, Berkeley
  1148.     Berkeley, CA 94720
  1149.     (510) 643-6687
  1150.     email: ilpsoftware@eecs.berkeley.edu
  1151.  
  1152.           This  includes  printed  documentation,  including installation
  1153.           instructions,  a user's guide, and manual pages. A handling fee
  1154.           will be charged.
  1155.  
  1156.    For more information about Ptolemy and its successor, Ptolemy II:
  1157.           See        http://ptolemy.eecs.berkeley.edu       and       the
  1158.           comp.soft-sys.ptolemy Usenet newsgroup.
  1159.  
  1160.     SANTIS (now Dataplore)
  1161.  
  1162.    Description:
  1163.           SANTIS   is   a  tool  for  Signal  ANalysis  and  TIme  Series
  1164.           processing.   All   operations   can   be   executed   from   a
  1165.           mouse-supported  graphical user interface. It contains standard
  1166.           facilities  for  signal processing as well as advanced features
  1167.           like wavelet techniques and methods of nonlinear dynamics.
  1168.  
  1169.    Platforms:
  1170.           Supported  systems  include  Microsoft Windows, Linux, Solaris,
  1171.           and SGI Irix.
  1172.  
  1173.    To obtain:
  1174.           You can get the software and more information from the WWW page
  1175.           http://datan.de/dataplore/.         [Ralf         Vandenhouten,
  1176.           vanni@Physiology.RWTH-Aachen.DE]
  1177.  
  1178.     ScopeDSP
  1179.  
  1180.    Description:
  1181.           ScopeDSP  is  a  time  and frequency signal processing tool for
  1182.           Windows  95/NT.  It can read and or write real or complex, time
  1183.           or  frequency sampled data in a variety of file formats. It can
  1184.           generate  various  types  of time signals, manipulate data, and
  1185.           transform  between time and frequency domains. Shareware with a
  1186.           60-day test period.
  1187.  
  1188.    To obtain:
  1189.           http://www.iowegian.com/.
  1190.  
  1191.     Sfront
  1192.  
  1193.    Description:
  1194.           Sfront  is  a  compiler  for Structured Audio, the audio signal
  1195.           processing  language that is a part of the ISO/IEC MPEG 4 Audio
  1196.           standard.  The output of the compiler is a C program, that when
  1197.           compiled  and  executed  generates  the  audio, with many audio
  1198.           input,  audio  output, and control options, including real-time
  1199.           interactive  and  audio  streaming  support  for some OS's. The
  1200.           website  also  includes  an  online  book  for  learning how to
  1201.           program  in  Structured  Audio,  and  a  reference  manual that
  1202.           describes how to extend sfront and embed it in applications.
  1203.  
  1204.    Platforms:
  1205.           The compiler is written in strict ANSI C, and runs on most UNIX
  1206.           systems as well as MS Windows.
  1207.  
  1208.    To obtain:
  1209.           Sfront  is  distributed  under  the  GNU public license, and is
  1210.           available     for     free    download    at    the    website:
  1211.           http://www.cs.berkeley.edu/~lazzaro/sa.
  1212.  
  1213.     Shorten
  1214.  
  1215.    Description:
  1216.           Shorten  is  a compressor/coder for waveform files. It supports
  1217.           both  lossless  coding  and lossy coding down to three bits per
  1218.           sample. It operates using a linear predictor and Huffman coding
  1219.           the  prediction  residual  using Rice codes. A technical report
  1220.           shows  that  this  simple scheme is both fast and near optimal.
  1221.           Data  formats  supported are RIFF WAVE plus signed and unsigned
  1222.           values  at  8  or  16  bits per sample, ulaw, alaw and multiple
  1223.           interleaved  channels. For lossless compression of speech files
  1224.           recorded  using  16  bits  at  16  kHz the compression ratio is
  1225.           typically  2:1.  CD  audio  (44.1  kHz,  16 bit stereo) is near
  1226.           transparant at 4:1 or 5:1 lossy compression.
  1227.  
  1228.    Platforms:
  1229.           The  command  line  version  compiles on most UNIX platforms. A
  1230.           version is available for MS Windows/NT.
  1231.  
  1232.    To obtain:
  1233.           http://www.softsound.com/Shorten.html  points  to all versions.
  1234.           [Tony Robinson, ajr@softsound.com]
  1235.      _________________________________________________________________
  1236.  
  1237.   Q1.3.5: Text to Speech Conversion Software
  1238.  
  1239.    Updated 1/7/97
  1240.  
  1241.           Free (but not public domain) text to speech conversion software
  1242.           is  available  via anonymous ftp from wilma.cs.brown.edu in the
  1243.           pub  directory  as  speak.tar.Z.  It  will compile and run on a
  1244.           SPARC's built-in audio after modifying speak.c with the path of
  1245.           your  libaudio.h  (e.g.,  /usr/demo/SOUND/libaudio.h).  It's  a
  1246.           simple   phoneme   concatenation   system   with   commensurate
  1247.           synthesized  speech quality (a directory of phoneme audio files
  1248.           is included). [Joe Campbell, jpcampb@afterlife.ncsc.mil]
  1249.  
  1250.           A  public domain version of the same Naval Research Lab text to
  1251.           phoneme rules can be obtained from:
  1252.  
  1253.           ftp://svr-ftp.eng.cam.ac.uk/pub/comp.speech/syntheses/english2p
  1254.           honeme.tar.gz
  1255.  
  1256.           The  comp.speech FTP site includes a speech synthesis directory
  1257.           at  ftp://svr-ftp.eng.cam.ac.uk/pub/comp.speech/synthesis.  The
  1258.           main  package  is  "rsynth"  which is a complete text to speech
  1259.           synthesis  system. Several component packages are also present.
  1260.           "textnorm"  converts non-words such as digit strings into words
  1261.           (e.g. 1000 to ONE THOUSAND). "english2phoneme" does some of the
  1262.           same  but  its  main  functionality  is to guess an appropriate
  1263.           phoneme sequence for each word. "klatt" takes a parametric form
  1264.           that  describes  each  phoneme  and  converts it to a waveform.
  1265.           Other  packages  exist  in  the  same  directory  to  edit  and
  1266.           visualise     the    klatt    parameters.    [Tony    Robinson,
  1267.           ajr@softsound.com]
  1268.      _________________________________________________________________
  1269.  
  1270.   Q1.3.6: Filter Design Software
  1271.  
  1272.    Updated 03/30/01
  1273.  
  1274.      * There  are filter design programs available via anonymous FTP. The
  1275.        following  are  summarized  here  and  discussed in greater detail
  1276.        below:
  1277.           + August  1992  IEEE  Trans.  on  Signal Processing: METEOR FIR
  1278.             filter design program.
  1279.           + DFiltFIR and DFiltInt FIR filter design program.
  1280.           + Netlib IIR filter design.
  1281.           + IEEE Press "Programs for Digital Signal Processing".
  1282.           + Tod Schuck's near-optimal Kaiser-Bessel program.
  1283.           + Brian  Evans'  and  Niranjan  Damera-Venkata's  packages  for
  1284.             Matlab and Mathematica.
  1285.           + ScopeFIR.
  1286.           + FilterExpress.
  1287.           + Charles Poynton's filter design resource page.
  1288.           + Juhana Kouhia's hotlist.
  1289.  
  1290.      * The  August  92  issue  of  IEEE Transactions on Signal Processing
  1291.        includes  a  paper entitled "METEOR: A Constraint-Based FIR Filter
  1292.        Design Program" by Kenneth Steiglitz, Thomas W. Parks and James F.
  1293.        Kaiser.  The  authors  describe an FIR design program which allows
  1294.        specification  of the target frequency response characteristics in
  1295.        a  fairly  generalized  and  flexible  way.  As  well as designing
  1296.        filters,  the  program  can  optimize filter lengths and push band
  1297.        limits.
  1298.        The  source  for  the  programs  (meteor.p,  form.p, meteor.c, and
  1299.        form.c)  and the METEOR paper as a postscript file may be found at
  1300.        http://www.  music.Princeton.edu/classes/class.html.  The programs
  1301.        were originally written in Pascal and then evidentally run through
  1302.        p2c  to  produce  the C versions; all the necessary Pascal library
  1303.        stuff  is  included in the C code and they built error-free out of
  1304.        the box for me on an SGI machine.
  1305.        There is no manual. The paper includes instructions on running the
  1306.        programs. [Steve Clift, clift@mail.anacapa.net]
  1307.        Weimin  Liu  has  created  a  Windows  95  interface to the Meteor
  1308.        program, which can be downloaded from
  1309.        http://www.nyx.net/~wliu/filter.html.
  1310.  
  1311.      * Other  free  filter  design  packages  are  DFiltFIR and DFiltInt.
  1312.        DFiltFIR  designs  minimax  approximation FIR filters. It uses the
  1313.        algorithm  developed  by  McClelland  and  Parks  and incorporates
  1314.        constraints  on  the  response  as  proposed  by  Grenez. DFiltInt
  1315.        designs  minimum  mean-square error FIR interpolating filters. The
  1316.        design  specification  is  in  terms of a tabulated power spectrum
  1317.        model for the input signal.
  1318.        The packages are available from
  1319.        http://www.tsp.ece.mcgill.ca/Docs/Software/FilterDesign/FilterDesi
  1320.        gn.html     or     directly     via     anonymous     ftp     from
  1321.        ftp://ftp.tsp.ece.mcgill.ca/TSP/FilterDesign/.
  1322.        Another  package,  libtsp, is a library of C-language routines for
  1323.        signal    processing.    The    package    is    available    from
  1324.        http://www.tsp.ece.mcgill.ca/reports/Software/libtsp/libtsp.html
  1325.        or directly via anonymous ftp from
  1326.        ftp://ftp.tsp.ece.mcgill.ca/pub/libtsp/        [Peter       Kabal,
  1327.        kabal@ECE.McGill.CA]
  1328.  
  1329.      * Another   source   is  netlib:  "A  free  program  to  design  IIR
  1330.        Butterworth,  Chebyshev,  and  Cauer (elliptic) filters, in any of
  1331.        lowpass,  bandpass,  band reject, and high pass configurations, is
  1332.        available  in  netlib  (e.g.,  netlib.bell-labs.com)  as  the file
  1333.        netlib/cephes/ellf.shar.Z. By email to netlib@netlib.bell-labs.com
  1334.        the  request  message  text is `send ellf from cephes'. The URL is
  1335.        http://www.netlib.org. [Stephen Moshier, moshier@world.std.com]
  1336.  
  1337.      * The  Fortran  source  code  from the IEEE Press book "Programs For
  1338.        Digital  Signal  Processing"  is  available  by anonymous ftp from
  1339.        ftp://soma.crl.mcmaster.ca/pub/IEEE/software/dsp.zip            or
  1340.        ftp://soma.crl.mcmaster.ca/pub/IEEE/software/dsp.tar.gz.        It
  1341.        includes  FIR  and  IIR  filter  design software, FFT subroutines,
  1342.        interpolation  programs, a coherence and cross-spectral estimation
  1343.        program,  linear  prediction  analysis  programs,  and a frequency
  1344.        domain  filtering  program.  There  is also a C/C++ version of the
  1345.        McClellan-Parks-Rabiner  FIR  filter design program available from
  1346.        ftp://ftp.uu.net/usenet/comp.sources.misc/volume22/fir/part01.Z
  1347.        This  program  was  created and tested using Borland C++ 2.0. This
  1348.        requires  a  pretty  reasonable C++ compiler - it is reported that
  1349.        QuickC  (not  C++) won't do it. [Witold Waldman, from Charles Owen
  1350.        at      mgcbo@uxa.ecn.bgu.au;      also      Andrew      Ukrainec,
  1351.        ukrainec@InfoUkes.com]
  1352.  
  1353.      * I  have  developed  a  MATLAB  (vers 4.0 for Windows) program that
  1354.        allows  for  the  frequency  domain  design  of the "near optimal"
  1355.        Kaiser-Bessel  window.  The program is based upon the three closed
  1356.        form  equations developed by Kaiser and Schafer in 1981 that allow
  1357.        for  the  specification  of the time domain window length, and the
  1358.        frequency  domain  mainlobe width and relative sidelobe amplitude.
  1359.        For  signal  processing applications where the spectral content of
  1360.        the  windowing  function  is  critical  so as not to mask adjacent
  1361.        spectra  such as radar signal processing applications where a weak
  1362.        target  return  adjacent to a strong target return could be easily
  1363.        masked  by a windowing function that resolves poorly in frequency;
  1364.        this program allows complete frequency domain specification of the
  1365.        spectral  characteristics  of  the windowing function. The current
  1366.        version  of  this  program  allows for the user to specify the two
  1367.        frequency   domain  parameters  of  mainlobe  width  and  relative
  1368.        sidelobe  amplitude  and  lets  the  window length fall out as the
  1369.        dependent  variable.  The  program is easily modified to allow for
  1370.        any  two  parameters  to  be selected and allowing the third to be
  1371.        determined as a result.
  1372.        This  program will output to an ASCII file the window coefficients
  1373.        that can be easily dumped to an EPROM or included in a program. It
  1374.        also  generates  both time and frequency domain graphs so that the
  1375.        user  can  visually  verify  the  widow record length and spectral
  1376.        content.  I  will  gladly  provide  any interested parties with my
  1377.        MATLAB code.
  1378.  
  1379.  
  1380.     Tod M. Schuck
  1381.     Lockheed Martin NE&SS
  1382.     Moorestown, NJ 08060
  1383.     e-mail: tod.m.schuck@lmco.com
  1384.  
  1385.      * Filter  Optimization  Packages for Matlab and Mathematica, version
  1386.        1.1  by  Brian L. Evans and Niranjan Damera-Venkata, Dept. of ECE,
  1387.        The    University    of    Texas   at   Austin.   Available   from
  1388.        http://www.ece.utexas.edu/~bevans/projects/filters/syn_filter_soft
  1389.        ware.html .
  1390.        We  have  released  a  set  of  Matlab  packages  to  optimize the
  1391.        following characteristics of analog filter designs simultaneously:
  1392.          1. magnitude response
  1393.          2. linear phase in the passband
  1394.          3. peak overshoot in the step response
  1395.          4. quality factors (Q)
  1396.        subject  to  constraints  on  the same characteristics. The Matlab
  1397.        packages  take  about  10  seconds  for fourth-order filters and 3
  1398.        minutes  for  eighth-order filters to run on a 167-MHz Sun Ultra-2
  1399.        workstation.
  1400.        We   use  the  symbolic  mathematics  environment  Mathematica  to
  1401.        describe the constrained non-linear optimization problem formally,
  1402.        derive  the  gradients  of  the cost function and constraints, and
  1403.        synthesize  the  Matlab  code  to perform the optimization. In the
  1404.        public  release,  we  provide  the  Matlab  to optimize analog IIR
  1405.        filters of fourth, sixth, and eighth orders. Using the Mathematica
  1406.        formulation,  designers can add new measures and constraints, such
  1407.        as   capacitance   spread   for  integrated  circuit  layout,  and
  1408.        regenerate the Matlab code.
  1409.        We  describe  the  framework  in  [1].  An  earlier version of the
  1410.        framework is described in [2]. We plan to extend this framework to
  1411.        digital IIR filters.
  1412.        [1]  N.  Damera-Venkata,  B.  L.  Evans,  M. D. Lutovac, and D. V.
  1413.        Tosic,    Joint    Optimization   of   Multiple   Behavioral   and
  1414.        Implementation  Properties  of  Analog  Filter Designs, Proc. IEEE
  1415.        Int.  Sym. on Circuits and Systems, Monterey, CA, May 31 - Jun. 3,
  1416.        1998, vol. 6, pp. 286-289.
  1417.        http://www.ece.utexas.edu/~bevans/papers/1998/filter_optimization/
  1418.        .
  1419.        [2]  B.  L.  Evans,  D.  R.  Firth,  K.  D.  White, and E. A. Lee,
  1420.        Automatic   Generation   of   Programs   That   Jointly   Optimize
  1421.        Characteristics  of Analog Filter Designs, Proc. of European Conf.
  1422.        on  Circuit  Theory  and  Design,  Istanbul, Turkey, August 27-31,
  1423.        1995, pp. 1047-1050.
  1424.        http://ptolemy.eecs.berkeley.edu/publications/papers/95/filter_des
  1425.        ign_ecctd95/ 
  1426.        [Brian Evans, bevans@combo.ece.utexas.edu]
  1427.  
  1428.      * ScopeFIR  is  a  FIR  filter  design  tool for Windows 95/NT which
  1429.        designs complex FIR filters using the Parks-McClellan algorithm or
  1430.        windowing.  It  can  then  mix,  scale, quantize, and edit the FIR
  1431.        coefficients.  It  creates a wide variety of impulse and frequency
  1432.        response  plots, and supports many data file formats, including TI
  1433.        assembly  and  ADI  PM.  Shareware  with  a  60-day  trial period,
  1434.        available from http://www.iowegian.com/scopefir.htm.
  1435.        [Grant Griffin, grant.griffin@iowegian.com]
  1436.  
  1437.      * FilterExpress  is  a  free  filter  synthesis tool for Windows. It
  1438.        supports  the  design  and  analysis of IIR, FIR and multirate FIR
  1439.        filters. It is available for download from
  1440.        http://www.systolix.co.uk/swdownload.htm.
  1441.  
  1442.      * DSP  Design Performance provides Java applets generating different
  1443.        filters. The applets can be found at
  1444.        http://www.nauticom.net/www/jdtaft.
  1445.  
  1446.      * Charles  Poynton  has  an  extensive  list  of hot-links to filter
  1447.        design resources on the web at
  1448.        http://www.inforamp.net/~poynton/Poynton-dsp.html.
  1449.  
  1450.      * Juhana    Kouhia    has    an   extensive   list   of   links   at
  1451.        http://www.funet.fi/~kouhia/hotlist-dsp.html.
  1452.      _________________________________________________________________
  1453.  
  1454.   Q1.3.7: Audio effects
  1455.  
  1456.    Updated 2/11/02
  1457.  
  1458.     Harmony Central
  1459.  
  1460.           Harmony  Central  publishes  some  of  the  source code for its
  1461.           synthesis      and      audio     processing     program     at
  1462.           http://www.harmony-central.com/Computer/Programming/.  The code
  1463.           may be used in public releases, but Harmony Central asks you to
  1464.           credit  the  author and possibly make the product available for
  1465.           free or publish any modified code.
  1466.  
  1467.     Music-DSP Source Code Archive
  1468.  
  1469.           Musicdsp.org is a collection of data gathered for the music dsp
  1470.           community. It includes code for wavetable synthesis, dithering,
  1471.           guitar feedback, and many other effects and algorithms.
  1472.  
  1473.           http://www.musicdsp.org/
  1474.  
  1475.    [Steve Horne, steve@lurking.demon.co.uk]
  1476.      _________________________________________________________________
  1477.  
  1478.                    Previous section (0) Next section (2)
  1479.