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 49.484.267 Times

Music::Scales 0.07

  Date Added: March 26, 2010  |  Visits: 1.213

Music::Scales

Report Broken Link
Printer Friendly Version


Product Homepage
Download (105 downloads)



Music::Scales can supply necessary notes / offsets for musical scales. SYNOPSIS use Music::Scales; my @maj = get_scale_notes(Eb); # defaults to major print join(" ",@maj); # "Eb F G Ab Bb C D" my @blues = get_scale_nums(bl); # bl,blu,blue,blues print join(" ",@blues); # "0 3 5 6 7 10" my %min = get_scale_offsets (G,mm,1); # descending melodic minor print map {"$_=$min{$_} "} sort keys %min; # "A=0 B=-1 C=0 D=0 E=-1 F=0 G=0" Given a keynote A-G(#/b) and a scale-name, will return the scale, either as an array of notenames or as a hash of semitone-offsets for each note. METHODS get_scale_nums($scale[,$descending]) returns an array of semitone offsets for the requested scale, ascending/descending the given scale for one octave. The descending flag determines the direction of the scale, and also affects those scales (such as melodic minor) where the notes vary depending upon the direction. Scaletypes and valid values for $scale are listed below. get_scale_notes($notename[,$scale,$descending,$keypref]) returns an array of notenames, starting from the given keynote. Enharmonic equivalencies (whether to use F# or Gb, for instance) are calculated based on the keynote and the scale. Basically, it attempts to do the Right Thing if the scale is an 8-note one, (the 7th in G harmonic minor being F# rather than Gb, although G minor is a flat key), but for any other scales, (Chromatic, blues etc.) it picks equivalencies based upon the keynote. This can be overidden with $keypref, setting to be either # or b for sharps and flats respectively. Cruftiness abounds here. get_scale_offsets($notename[,$scale,$descending,$keypref]) as get_scale_notes(), except it returns a hash of notenames with the values being a semitone offset (-1, 0 or 1) as shown in the synopsis. get_scale_MIDI($notename,$octave[,$scale,$descending]) as get_scale_notes(), but returns an array of MIDI note-numbers, given an octave number (-1..9). get_scale_PDL($notename,$octave[,$scale,$descending]) as get_scale_MIDI(), but returns an array of PDL-format notes. is_scale($scalename) returns true if $scalename is a valid scale name used in this module..

Requirements: No special requirements
Platforms: Linux
Keyword: Descending Libraries Midi Musicscales Notes Offsets Programming Returns Scale
Users rating: 0/10

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


MUSIC::SCALES RELATED
Utilities  -  Dylan Code Collection 1.7
A collection of useful libraries written in the Dylan programming language. The intent of this project is to provide easily accessible libraries for people developing applications using Functional Developer and/or Gwydion Dylan.
673.63 KB  
Programming  -  kin 0.0.2
kin is a set of libraries and tools supporting meta-programming for engineering and technical computing applications. This JVM version of kin has been superseded by the stand-alone version being developed at http://purl.org/net/kin.
477.44 KB  
Audio Tools  -  Speedy MIDI 1.0
Speedy MIDI is an editor designed for choirs and singers to quickly generate MIDI files for rehearsal. If the quality of the sheet music is too low for scanning, Speedy MIDI is an interesting alternative to other MIDI or notation editors. Use the...
4.7 MB  
Libraries  -  ExtUtils::F77 1.15
ExtUtils::F77 is a simple Perl interface to F77 libs. This module tries to figure out how to link C programs with Fortran subroutines on your system. Basically one must add a list of Fortran runtime libraries. The problem is their location and...
10.24 KB  
Development Editors  -  Intel Mobile Platform SDK 1.3
Intel Mobile Platform SDK 1.3 covered by BSD license, enables developers to build mobile-aware applications. It provides a set of libraries and runtime components, and programming interface, common across Windows and Linux platforms.
10.51 MB  
Development Tools  -  Minimum Perfect Matching Tool 1.0
Function to solve the Minimum Perfect Matching on non-biparite graphs problem using Integer linear programming.Returns vector of matched indices and cost of the match. Requires symmetric adjacent matrix of even rank. function [ indices, cost ] =...
10 KB  
Audio Tools  -  Guitar Mode Maker for Linux 3.0
Welcome to Home Page for the Guitar Mode Maker, guitar scales, chords and modes for guitar players and bass guitar players! Two Brothers Software is proud to continue to support Guitar Mode Maker 3.0! This great software allows the...
30.72 KB  
Audio Tools  -  Simon Sez Musician's RiffMaster 1.50
Simon Sez Musician's Riff Master is a collection of ear training exercises, some done with your instrument, some without. You can set the pitch range (to correspond to your instrument) of piano notes the PC generates, as well as a variety of other...
 
Libraries  -  MIDI::Simple 0.81
MIDI::Simple is a procedural/OOP interface for MIDI composition. SYNOPSIS use MIDI::Simple; new_score; text_event http://www.ely.anglican.org/parishes/camgsm/bells/chimes.html; text_event Lord through this hour/ be Thou our guide;...
62.46 KB  
Libraries  -  MIDI 0.81
MIDI is a Perl module that can read, compose, modify, and write MIDI files. SYNOPSIS use MIDI; use strict; use warnings; my @events = ( [text_event,0, MORE COWBELL], [set_tempo, 0, 450_000], # 1qn = .45 seconds ); for (1 .. 20) { push...
62.46 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