X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=web%2Fmanual.m4;h=14feb5739c771bd2ee16e516b0d36d389d1b454f;hp=0ff7e9b73af974d4db454a00eea12ac0755fd6ec;hb=815a277189a2400226d34c90b63e57ab7e734ae9;hpb=ffb2eaa90429f6d5c3d369509efcdf91c5463dad diff --git a/web/manual.m4 b/web/manual.m4 index 0ff7e9b7..14feb573 100644 --- a/web/manual.m4 +++ b/web/manual.m4 @@ -77,11 +77,11 @@ The paraslash executables *para_server* -para_server streams binary audio data (MP3, OGG/Vorbis, M4A, WMA -files) over local and/or remote networks. It listens on a TCP port and -accepts commands such as play, stop, pause, next from authenticated -clients. There are many more commands though, see the man page of -para_server for a description of all commands. +para_server streams binary audio data (MP3, OGG/Vorbis, OGG/Speex, +M4A, WMA files) over local and/or remote networks. It listens on a +TCP port and accepts commands such as play, stop, pause, next from +authenticated clients. There are many more commands though, see the +man page of para_server for a description of all commands. It supports three built-in network streaming protocols (senders/receivers): HTTP, DCCP, or UDP. This is explained in more @@ -145,11 +145,11 @@ compatible with arbitrary HTTP streaming sources (e.g. icecast). *para_filter* A filter program that reads from STDIN and writes to STDOUT. -Like para_recv, this is an atomic building block which can be used -to assemble higher-level audio receiving facilities. It combines -several different functionalities in one tool: decoders for multiple -audio formats (MP3, OGG/Vorbis, AAC, WMA) and a number of processing -filters, among these a normalizer for audio volume. +Like para_recv, this is an atomic building block which can be used to +assemble higher-level audio receiving facilities. It combines several +different functionalities in one tool: decoders for multiple audio +formats and a number of processing filters, among these a normalizer +for audio volume. *para_afh* @@ -244,6 +244,9 @@ Optional: - XREFERENCE(http://www.audiocoding.com/, libfaad). For aac files (m4a) you'll need libfaad (libfaad-dev). + - XREFERENCE(http://www.speex.org/, speex). In order to stream + or decode speex files, libspeex (libspeex-dev) is required. + - XREFERENCE(ftp://ftp.alsa-project.org/pub/lib/, alsa-lib). On Linux, you'll need to have ALSA's development package libasound2-dev installed. @@ -255,10 +258,10 @@ First make sure all non-optional packages listed in the section on REFERENCE(Requirements, required software) are installed on your system. -You don't need everything listed there. In particular, MP3, OGG/Vorbis -and AAC support are all optional. The configure script will detect -what is installed on your system and will only try to build those -executables that can be built with your setup. +You don't need everything listed there. In particular, MP3, OGG/Vorbis, +OGG/Speex and AAC support are all optional. The configure script will +detect what is installed on your system and will only try to build +those executables that can be built with your setup. Note that no special decoder library (not even the MP3 decoding library libmad) is needed for para_server if you only want to stream MP3 or WMA @@ -665,7 +668,7 @@ file. In particular the following data is stored for each audio file. - The lyrics id which describes the lyrics associated with this audio file. - - The audio format id (MP3, OGG, AAC, WMA). + - The audio format id (MP3, OGG, ...). - An amplification value that can be used by the amplification filter to pre-amplify the decoded audio stream. @@ -1076,6 +1079,15 @@ chunks called OGG pages. A typical OGG page is about 4KB large. The Vorbis codec creates variable-bitrate (VBR) data, where the bitrate may vary considerably. +*OGG/Speex* + +Speex is an open-source speech codec that is based on CELP (Code +Excited Linear Prediction) coding. It is designed for voice +over IP applications, has modest complexity and a small memory +footprint. Wideband and narrowband (telephone quality) speech are +supported. As for Vorbis audio, Speex bit-streams are often stored +in OGG files. + *AAC* Advanced Audio Coding (AAC) is a standardized, lossy compression @@ -1122,11 +1134,11 @@ and stored in the audio file table. Chunks and chunk tables ~~~~~~~~~~~~~~~~~~~~~~~ -paraslash uses the word "chunk" as common term for the building -blocks of an audio file. For MP3 files, a chunk is the same as an -MP3 frame, while for OGG/Vorbis files, a chunk is an OGG page, etc. -Therefore the chunk size varies considerably between audio formats, -from a few hundred bytes (MP3) up to 8K (WMA). +paraslash uses the word "chunk" as common term for the building blocks +of an audio file. For MP3 files, a chunk is the same as an MP3 frame, +while for OGG files a chunk is an OGG page, etc. Therefore the chunk +size varies considerably between audio formats, from a few hundred +bytes (MP3) up to 8K (WMA). The chunk table contains the offsets within the audio file that correspond to the chunk boundaries of the file. Like the meta data, @@ -1335,12 +1347,12 @@ REFERENCE(Forward error correction, FEC) below. Streams with headers and headerless streams ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -For ogg vorbis and wma streams, not all information needed to decode -the stream is contained in each data chunk but only in the audio -file header of the container format. Therefore clients must be able -to obtain this information in case streaming starts in the middle of -the file or if para_audiod is started while para_server is already -sending a stream. +For OGG/Vorbis, OGG/Speex and wma streams, some of the information +needed to decode the stream is only contained in the audio file +header of the container format but not in each data chunk. Clients +must be able to obtain this information in case streaming starts in +the middle of the file or if para_audiod is started while para_server +is already sending a stream. This is accomplished in different ways, depending on the streaming protocol. For connection-oriented streams (HTTP, DCCP) the audio file @@ -1619,12 +1631,12 @@ A paraslash writer acts as a data sink that consumes but does not produce audio data. Paraslash writers operate on the client side and are contained in para_audiod and in the stand-alone tool para_write. -The para_write program reads uncompressed 16 bit audio data from -STDIN. If this data starts with a wav header, sample rate and channel -count are read from the header. Otherwise CD audio (44.1KHz stereo) -is assumed but this can be overridden by command line options. -para_audiod, on the other hand, obtains the sample rate and the number -of channels from the decoder. +The para_write program reads uncompressed audio data from STDIN. If +this data starts with a wav header, sample rate, sample format and +channel count are read from the header. Otherwise CD audio (44.1KHz +16 bit little endian, stereo) is assumed but this can be overridden +by command line options. para_audiod, on the other hand, obtains +the sample rate and the number of channels from the decoder. Like receivers and filters, each writer has an individual set of command line options, and for para_audiod writers can be configured @@ -1832,7 +1844,7 @@ New development does not usually happen on "master", however. Instead, a separate topic branch is forked from the tip of "master", and it first is tested in isolation; Usually there are a handful such topic branches that are running ahead of "master". The tip of these -branches is not published in the public repository, to keep the number +branches is not published in the public repository to keep the number of branches that downstream developers need to worry about low. The quality of topic branches varies widely. Some of them start out as