You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

81 lines
4.5KB

  1. /*! \page faq Frequently Asked Questions
  2. - \ref license
  3. - \ref filerate
  4. - \ref endianness
  5. - \ref xwindows
  6. \section license Does STK have a license?
  7. Yes, we finally made something official for release 4.3.0. It is listed in the Stk class and a few other places in the distribution, but I'll repeat it here for clarity:
  8. \verbatim
  9. The Synthesis ToolKit in C++ (STK) is a set of open source audio
  10. signal processing and algorithmic synthesis classes written in the
  11. C++ programming language. STK was designed to facilitate rapid
  12. development of music synthesis and audio processing software, with
  13. an emphasis on cross-platform functionality, realtime control,
  14. ease of use, and educational example code. STK currently runs
  15. with realtime support (audio and MIDI) on Linux, Macintosh OS X,
  16. and Windows computer platforms. Generic, non-realtime support has
  17. been tested under NeXTStep, Sun, and other platforms and should
  18. work with any standard C++ compiler.
  19. STK WWW site: http://ccrma.stanford.edu/software/stk/
  20. The Synthesis ToolKit in C++ (STK)
  21. Copyright (c) 1995--2017 Perry R. Cook and Gary P. Scavone
  22. Permission is hereby granted, free of charge, to any person obtaining
  23. a copy of this software and associated documentation files (the
  24. "Software"), to deal in the Software without restriction, including
  25. without limitation the rights to use, copy, modify, merge, publish,
  26. distribute, sublicense, and/or sell copies of the Software, and to
  27. permit persons to whom the Software is furnished to do so, subject to
  28. the following conditions:
  29. The above copyright notice and this permission notice shall be
  30. included in all copies or substantial portions of the Software.
  31. Any person wishing to distribute modifications to the Software is
  32. asked to send the modifications to the original developer so that they
  33. can be incorporated into the canonical version. This is, however, not
  34. a binding provision of this license.
  35. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  36. EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  37. MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
  38. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
  39. CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
  40. TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
  41. SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  42. \endverbatim
  43. \section filerate Why is my file sample rate wrong?
  44. When the FileWvIn class loads a soundfile, it automatically sets its internal read increment based on the soundfile rate and the current STK sample rate. For example, if the current STK sample rate is 44100 Hz and the soundfile rate is 22050 Hz, the read increment, or rate, will be set to 0.5 and the file will be interpolated so that is sounds correct at 44100 Hz. For most cases, this works fine. However, consider the following example:
  45. \code
  46. FileWvIn input( "infile" ); // read an input soundfile
  47. StkFloat sampleRate = input.getFileRate();
  48. Stk::setSampleRate( sampleRate ); // set a new STK sample rate based on the file rate
  49. \endcode
  50. With version 4.3 and higher of STK, the FileWvIn class will be notified of a sample rate change and it will automatically adjust its read rate accordingly. Previous versions of STK did not perform this change and thus, the read rate could end up being incorrect. If you do not want FileWvIn to perform this automatic adjustment, you can call the \c ignoreSampleRateChange() function for a given class instance.
  51. \section endianness Why does the sound I generated with STK sound like *&#@!?
  52. If the resultant sound generated by an STK program sounds like noise (and you're not doing an MLS experiment), the problem is likely related to the byte "endianness" of your computer. By default, STK assumes "big endian" byte order. If you are working with STK classes on a PC (Windows or Linux), you \e must define the <TT>__LITTLE_ENDIAN__</TT> preprocessor definition \e before compiling. If after reading this you realize you need to make this change, do not forget to recompile all STK classes from scratch.
  53. \section xwindows Why do I get a Tk display error message?
  54. The following error may be printed to your terminal window (depending on the version of the tcl/tk interpreter you are running) if you attempt to start an STK tcl/tk interface without the X Server first running:
  55. \code
  56. Application initialization failed: this isn't a Tk applicationcouldn't connect to display ":0.0"
  57. \endcode
  58. Simply start your X server and then try the command again.
  59. */