You might wanna check out
Prima (
http://prima.eu.org/), in particular, the sound function in Prima::Utils.
Here is pitch.pl from the samples
#
# Copyright (c) 1997-2002 The Protein Laboratory, University of Copen
+hagen
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyrigh
+t
# notice, this list of conditions and the following disclaimer in
+the
# documentation and/or other materials provided with the distribut
+ion.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS''
+AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, T
+HE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LI
+ABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQ
+UENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE G
+OODS
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTIO
+N)
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN A
+NY WAY
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
+ OF
# SUCH DAMAGE.
#
# $Id: pitch.pl,v 1.3 2002/05/14 13:22:26 dk Exp $
use Prima;
use Prima::Utils;
=pod
=item NAME
A sound example
=item FEATURES
Tests the implementation of apc_beep_tone() function.
=cut
my %octave = (
'C' => 523,
'B' => 493,
'A#' => 466,
'A' => 440,
'G#' => 415,
'G' => 391,
'F#' => 369,
'F' => 349,
'E' => 329,
'D#' => 311,
'D' => 293,
'C#' => 277,
);
$_ = 'E2D#EF2E2 G#2A4';
#$_ = 'AEAEAG#2 2EG#EG#A2 2EAEAG#2 2EG#EG#A2 AB2 BC2 C2BAG#A2 AB2 BC2
+C2BAG#A3';
for ( m/\G([A-G\s][\#\d]*)/g) {
my $d = (s/(\d+)$//) ? $1 : 1;
$octave{$_} ?
Prima::Utils::sound( $octave{$_}, 100 * $d) :
select(undef,undef,undef,0.1 * $d);
}
MJD says you
can't just make shit up and expect the computer to know what you mean, retardo!
** The Third rule of perl club is a statement of fact: pod is sexy.
|
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.