Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 956 Categories, Downloaded 50.475.252 Times

Audio::Data 1.029

  Date Added: April 11, 2010  |  Visits: 944

Audio::Data

Report Broken Link
Printer Friendly Version


Product Homepage
Download (100 downloads)



Audio::Data is a module for representing audio data to perl. SYNOPSIS use Audio::Data; my $audio = Audio::Data->new(rate => , ...); $audio->method(...) $audio OP ... Audio::Data represents audio data to perl in a fairly compact and efficient manner using C via XS to hold data as a C array of float values. The use of float avoids many issues with dynamic range, and typical float has 24-bit mantissa so quantization noise should be acceptable. Many machines have floating point hardware these days, and in such cases operations on float should be as fast or faster than some kind of "scaled integer". Nominally data is expected to be between +1.0 and -1.0 - although only code which interacts with outside world (reading/writing files or devices) really cares. It can also represent elements (samples) which are "complex numbers" which simplifies many Digital Signal Processing methods. Methods The interface is object-oriented, and provides the methods below. $audio = Audio::Data->new([method => value ...]) The "constructor" - takes a list of method/value pairs and calls $audio->method(value) on the object in order. Typically first "method" will be rate to set sampling rate of the object. $rate = $audio->rate Get sampling rate of object. $audio->rate($newrate) Set sampling rate of the object. If object contains existing data it is re-sampled to the new rate. (Code to do this was derived from a now dated version of sox.) $audio->comment($string) Sets simple string comment associated with data. $string = $audio->comment Get the comment $time = $audio->duration Return duration of object (in seconds). $time = $audio->samples Return number of samples in the object. @data = $audio->data Return data as list of values - not recommended for large data. $audio->data(@data) Sets elements from @data. $audio->length($N) Set number of samples to $N - tuncating or padding with zeros (silence). ($max,$min) = $audio->bounds([$start_time[,$end_time]]) Returns a list of two values representing the limits of the values between the two times if $end_time isnt specified it defaults to the duration of the object, and if start time isnt specified it defaults to zero. $copy = $audio->clone Creates copy of data carrying over sample rate and complex-ness of data. $slice = $audio->timerange($start_time,$end_time); Returns a time-slice between specified times. $audio->Load($fh) Reads Sun/NeXT .au data from the perl file handle (which should have binmode() applied to it.) This will eventually change - to allow it to load other formats and perhaps to return list of Audio::Data objects to represnt multiple channels (e.g. stereo). $audio->Save($fh[,$comment]) Write a Sun/NeXT .au file to perl file handle. $comment if specified is used as the comment. $audio->tone($freq,$dur,$amp); Append a sinusoidal tone of specified freqency (in Hz) and duration (in seconds), and peak amplitude $amp. $audio->silence($dur); Append a period of 0 value of specified duration. $audio->noise($dur,$amp); Append burst of (white) noise of specified duration and peak amplitude. $window = $audio->hamming($SIZE,$start_sample[,$k]) Returns a "raised cosine window" sample of $SIZE samples starting at specified sample. If $k is specified it overrides the default value of 0.46 (e.g. a value of 0.5 would give a Hanning window as opposed to a Hamming window.) windowed = ((1.0-k)+k*cos(x*PI)) $freq = $audio->fft($SIZE) $time = $freq->ifft($SIZE); Perform a Fast Fourier Transform (or its inverse). (Note that in general result of these methods have complex numbers as the elements. $SIZE should be a power-of-two (if it isnt next larger power of two is used). Data is padded with zeros as necessary to get to $SIZE samples. @values = $audio->amplitude([$N[,$count]]) Return values of amplitude for sample $N..$N+$count inclusive. if $N is not specified it defaults to zero. If $count is not specified it defaults to 1 for scalar context and rest-of-data in array context. @values = $audio->dB([$N[,$count]]) Return amplitude - in deci-Bells. (0dB is 1/2**15 i.e. least detectable value to 16-bit device.) Defaults as for amplitude. @values = $audio->phase([$N [,$count]]) Return Phase - (if data are real returns 0). Defaults as for amplitude. $diff = $audio->difference Returns the first difference between successive elements of the data - so result is one sample shorter. This is a simple high-pass filter and is much used to remove DC offsets. $Avalues = $audio->lpc($NUM_POLES,[$auto [,$refl]]) Perform Linear Predictive Coding analysis of $audio and return coefficents of resulting All-Pole filter. 0th Element is not a filter coefficent (there is no A[0] in such a filter) - but is a measure of the "error" in the matching process. $auto is an output argument and returns computed autocorrelation. $refl is also output and are so-called reflection coefficents used in "lattice" realization of the filter. (Code for this lifted from "Festival" speech systems speech_tools.) $auto = $audio->autocorrelation($LENGTH) Returns an (unscaled) autocorrelation function - can be used to cause peaks when data is periodic - and is used as a precursor to LPC analysis..

Requirements: No special requirements
Platforms: Linux
Keyword: Audio Audio Data Audiodata Data Libraries List Of Object Programming Rate Return Size Specified
Users rating: 0/10

License: Freeware Size: 88.06 KB
USER REVIEWS
More Reviews or Write Review


AUDIO::DATA RELATED
Development Tools  -  Converting a list of equal length lists into XML 1.0
This module takes a list of equal length lists and converts it into XML. If the first sublist is a list of headings, these are used to form the element names of the rest of the data, or these can be defined in the function call. Root and "row"...
 
Miscellaneous  -  A List of Dictionaries 1.0
This  class emulates a list of dictionary objects without the memory and pickle storage overhead which occurs when storing every item in the list as a dictionary.
 
Miscellaneous  -  Transposing a List of Lists 1.0
This script allows you to transpose a list of lists of different lengths.
 
Screen Savers  -  To Do - Create Check List Of Things To D 1.0
"To Do - Create Check List Of Things To Do's lets you keep track of important tasks and meetings. Do you have trouble remembering the last time you missed you meeting? Checked your credit score? Cooked tonight? With a simple, clean, and elegant...
1.3 MB  
Networking  -  List of references 1.0
Generates a list of links used in a post. This can be used to create a list of references like those in scientific publications. Add [lor] at the end of your post (or wherever you want the list of references) and add a title attribute to all links...
10 KB  
Networking  -  Search for list of name server addresses 1.2
This script contains a function named RegistryResolve() that returns a list of ip numbers (dotted quads), by scouring the registry for addresses of name servers.Program doesn't check whether an interface is up or down.
 
Networking  -  List of Posts from each Category plugin for WordPress 2.0
List of Posts from each Category plugin for WordPressThis plugin displays a list of the posts from each category of your WordPress installation. It can be added to a post or page, or used directly in a template file. In the plugind¬DSdus...
10 KB  
Libraries  -  Software::Packager::Tar 0.09
Software::Packager::Tar is used to create tar files with the required structure as specified by the list of object added to the packager. SYNOPSIS use Software::Packager; my $packager = new Software::Packager(tar); FUNCTIONS new() This...
21.5 KB  
Programming  -  Java version of Lua programming language 0.01
This project is the port of Lua programming language to Java platform. It contains the bytecode compiler and interpreter, that use the same bytecode format as the original version, and partially support standard Lua library.
88.91 KB  
Audio Tools  -  MDF audio extracter 0.1
MDF audio extracter project is a tool to extract audio data from MDF/MDS audio cd images to wav or raw files. Tracks will be extracted to the current directory and named track_[num].wav or track_[num].raw. Output can also be redirected to stdout...
10.24 KB  
NEW DOWNLOADS IN PROGRAMMING, LIBRARIES
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  Math::GMPf 0.29
Math::GMPf - perl interface to the GMP library's floating point (mpf) functions.
30.72 KB  
Programming  -  Net::Wire10 1.08
Net::Wire10 is a Pure Perl connector that talks to Sphinx, MySQL and Drizzle servers. Net::Wire10 implements the low-level network protocol, alias the MySQL wire protocol version 10, necessary for talking to one of the aforementioned...
30.72 KB  
Programming  -  logilab-common 0.56.2
a bunch of modules providing low level functionnalities shared among some python projects devel Please note that some of the modules have some extra dependencies. For instance, logilab.common.db will require a db-api 2.0 compliant...
174.08 KB  
Programming  -  OpenSSL for linux 1.0.0a
The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a...
3.83 MB  
Libraries  -  wolfSSL 4.0.0
The wolfSSL embedded SSL/TLS library is a lightweight SSL library written in ANSI standard C and targeted for embedded and RTOS environments - primarily because of its small size, speed, and feature set. It is commonly used in standard operating...
3.88 MB  
Libraries  -  EuGTK 4.8.9
Makes it easy to develop good- looking, fast, cross-platform programs that run on Linux, OS X, and Windows. Euphoria is a very fast interpreted/compiled language with straight-forward syntax. EuGTK allows programming in a clean, object-oriented...
10.68 MB  
Libraries  -  Linux User Group Library Manager 1.0
The LUG Library Manager is a project to help Linux User Groups start their own library. A LUG library is helpful to the community at large because it increases access to information, and gives everyone the opportunity to become more knowledgeable.
5.35 KB  
Libraries  -  Module::MakefilePL::Parse 0.12
Module::MakefilePL::Parse is a Perl module to parse required modules from Makefile.PL. SYNOPSIS use Module::MakefilePL::Parse; open $fh, Makefile.PL; $parser = Module::MakefilePL::Parse->new( join("", ) ); $info = $parser->required;...
8.19 KB  
Libraries  -  sqlpp 0.06
sqlpp Perl package is a SQL preprocessor. sqlpp is a conventional cpp-alike preprocessor taught to understand SQL ( PgSQL, in particular) syntax specificities. In addition to the standard #define/#ifdef/#else/#endif cohort, provides also...
10.24 KB