diff options
Diffstat (limited to 'manuals/chickadee/Audio-Files.html')
-rw-r--r-- | manuals/chickadee/Audio-Files.html | 221 |
1 files changed, 221 insertions, 0 deletions
diff --git a/manuals/chickadee/Audio-Files.html b/manuals/chickadee/Audio-Files.html new file mode 100644 index 0000000..a10a418 --- /dev/null +++ b/manuals/chickadee/Audio-Files.html @@ -0,0 +1,221 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 2017-2020 David Thompson davet@gnu.org + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 +or any later version published by the Free Software Foundation; +with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +A copy of the license is included in the section entitled "GNU +Free Documentation License". + +A copy of the license is also available from the Free Software +Foundation Web site at http://www.gnu.org/licenses/fdl.html. + + +* Chickadee: (chickadee). Game programming toolkit for Guile. + +The document was typeset with +http://www.texinfo.org/ (GNU Texinfo). + --> +<!-- Created by GNU Texinfo 6.6, http://www.gnu.org/software/texinfo/ --> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>Audio Files (The Chickadee Game Toolkit)</title> + +<meta name="description" content="Audio Files (The Chickadee Game Toolkit)"> +<meta name="keywords" content="Audio Files (The Chickadee Game Toolkit)"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Index.html#Index" rel="index" title="Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Audio.html#Audio" rel="up" title="Audio"> +<link href="Sources.html#Sources" rel="next" title="Sources"> +<link href="Audio.html#Audio" rel="prev" title="Audio"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.indentedblock {margin-right: 0em} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +kbd {font-style: oblique} +pre.display {font-family: inherit} +pre.format {font-family: inherit} +pre.menu-comment {font-family: serif} +pre.menu-preformatted {font-family: serif} +span.nolinebreak {white-space: nowrap} +span.roman {font-family: initial; font-weight: normal} +span.sansserif {font-family: sans-serif; font-weight: normal} +ul.no-bullet {list-style: none} +@media (min-width: 1140px) { + body { + margin-left: 14rem; + margin-right: 4rem; + max-width: 52rem; + } +} + +@media (min-width: 800px) and (max-width: 1140px) { + body { + margin-left: 6rem; + margin-right: 4rem; + max-width: 52rem; + } +} + +@media (max-width: 800px) { + body { + margin: 1rem; + } +} + +--> +</style> +<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> + + +</head> + +<body lang="en"> +<span id="Audio-Files"></span><div class="header"> +<p> +Next: <a href="Sources.html#Sources" accesskey="n" rel="next">Sources</a>, Up: <a href="Audio.html#Audio" accesskey="u" rel="up">Audio</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> +</div> +<hr> +<span id="Audio-Files-1"></span><h4 class="subsection">2.4.1 Audio Files</h4> + +<p>Sound data is represented by a special <code><audio></code> data type that +stores not only the audio samples themselves, but metadata such as +sample rate, number of channels, and how many bits are used for each +sample. +</p> +<dl> +<dt id="index-load_002daudio">Procedure: <strong>load-audio</strong> <em>file-name [#:mode <code>static</code>]</em></dt> +<dd><p>Load audio within <var>file-name</var>. The following file formats are +currently supported: +</p> +<ul> +<li> WAV +</li><li> MP3 +</li><li> Ogg Vorbis +</li></ul> + +<p>Audio files can be loaded in two different ways, as indicated by +<var>mode</var>: +</p> +<ul> +<li> static: +Load the entire audio file into memory. +</li><li> stream: +Load chunks of the audio file as needed. +</li></ul> + +<p>Generally speaking, sound effects don’t take up much space and should +be loaded statically, but music files are much larger and should use +streaming. Static loading is the default. +</p></dd></dl> + +<dl> +<dt id="index-audio_003f">Procedure: <strong>audio?</strong> <em><var>obj</var></em></dt> +<dd><p>Return <code>#t</code> if <var>obj</var> is an audio object. +</p></dd></dl> + +<dl> +<dt id="index-streaming_002daudio_003f">Procedure: <strong>streaming-audio?</strong> <em><var>audio</var></em></dt> +<dd><p>Return <code>#t</code> if <var>audio</var> uses stream loading. +</p></dd></dl> + +<dl> +<dt id="index-static_002daudio_003f">Procedure: <strong>static-audio?</strong></dt> +<dd><p>Return <code>#t</code> if <var>audio</var> uses static loading. +</p></dd></dl> + +<dl> +<dt id="index-audio_002dmode">Procedure: <strong>audio-mode</strong> <em>audio</em></dt> +<dd><p>Return the loading mode for <var>audio</var>, either <code>static</code> or +<code>stream</code>. +</p></dd></dl> + +<dl> +<dt id="index-audio_002dduration">Procedure: <strong>audio-duration</strong> <em>audio</em></dt> +<dd><p>Return the duration of <var>audio</var> in seconds. +</p></dd></dl> + +<dl> +<dt id="index-audio_002dbits_002dper_002dsample">Procedure: <strong>audio-bits-per-sample</strong> <em>audio</em></dt> +<dd><p>Return the number of bits per sample in <var>audio</var>. +</p></dd></dl> + +<dl> +<dt id="index-audio_002dchannels">Procedure: <strong>audio-channels</strong> <em>audio</em></dt> +<dd><p>Return the number of channels in <var>audio</var>. +</p></dd></dl> + +<dl> +<dt id="index-audio_002dsample_002drate">Procedure: <strong>audio-sample-rate</strong> <em>audio</em></dt> +<dd><p>Return the sample rate of <var>audio</var>. +</p></dd></dl> + +<dl> +<dt id="index-audio_002dplay">Procedure: <strong>audio-play</strong> <em>audio [#:pitch 1.0] [#:volume 1.0] [#:min-volume 0.0] [#:max-volume 1.0] [#:max-distance] [#:reference-distance 0.0] [#:rolloff-factor 1.0] [#:cone-outer-volume 0.0] [#:cone-inner-angle 0.0] [#:cone-outer-angle] [#:position <code>(vec3 0.0 0.0 0.0)</code>] [#:velocity <code>(vec3 0.0 0.0 0.0)</code>] [#:direction <code>(vec3 0.0 0.0 0.0)</code>] [#:relative? <code>#f</code>]</em></dt> +<dd> +<p>Play <var>audio</var>. There are many, many knobs to tweak that will +affect the sound that comes out of the player’s speakers.: +</p> +<ul> +<li> <var>pitch</var>: +Pitch multiplier. The default value of 1.0 means no change in pitch. +</li><li> <var>volume</var>: +Volume multiplier. The default value of 1.0 means no change in volume. +</li><li> <var>min-volume</var>: +Minimum volume. +</li><li> <var>max-volume</var>: +Maximum volume. +</li><li> <var>max-distance</var>: +Used with the inverse clamped distance model (the default model) to +set the distance where there will no longer be any attenuation of the +source. +</li><li> <var>reference-distance</var>: +The distance where the volume for the audio would drop by half (before +being influenced by the rolloff factor or maximum distance.) +</li><li> <var>rolloff-factor</var>: +For slowing down or speeding up the rate of attenuation. The default +of 1.0 means no attenuation adjustment is made. +</li><li> <var>cone-outer-volume</var>: +The volume when outside the oriented cone. +</li><li> <var>cone-inner-angle</var>: +Inner angle of the sound cone, in radians. The default value is 0. +</li><li> <var>cone-outer-angle</var>: +Outer angle of the sound cone, in radians. The default value is 2pi +radians, or 360 degrees. +</li><li> <var>position</var>: +The source of the sound emitter in 3D space. +</li><li> <var>velocity</var>: +The velocity of the sound emitter in 3D space. +</li><li> <var>direction</var>: +The direction of the sound emitter in 3D space. +</li><li> <var>relative?</var>: +A flag that determines whether the position is in absolute coordinates +or relative to the listener’s location. Absolute coordinates are used +by default. +</li></ul> + +<p>For games with basic sound needs (that is to say they don’t need 3D +sound modeling), the only things that really matter are <var>volume</var> +and <var>pitch</var>. +</p> +</dd></dl> + +<hr> +<div class="header"> +<p> +Next: <a href="Sources.html#Sources" accesskey="n" rel="next">Sources</a>, Up: <a href="Audio.html#Audio" accesskey="u" rel="up">Audio</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> +</div> + + + +</body> +</html> |