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

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

Serving Software Downloads in 976 Categories, Downloaded 29.548.873 Times

Music::Scales 0.07

  Date Added: March 26, 2010  |  Visits: 825


Report Broken Link
Printer Friendly Version

Product Homepage
Download (84 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
More Reviews or Write Review

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
477.44 KB  
Reference Tools  -  Major Scales And Modes For Guitar
This software program shows you all the notes of the major scale and their modes for the guitar in every key including the sharps and flats. No musical theory involved. Just select which key and mode you want and you will see a diagram showing all...
35.54 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  
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  
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...
Productivity  -  PitchLab Guitar Tuner
Awesome guitar & chromatic tuner for free or upgrade for advanced functionality. Designed for novices and pros, fully featured, easy to use. Unique features help you work out the chords to new tunes, visualize the pitch and...
3 MB  
Programming  -  FLEX-db Digital Asset Manager 3.0.9
FLEX-db - an enterprise Digital Asset Manager (DAM). It ingests and links metadata with files, creates thumbnails, and processes files using business rules. FLEX-db has a JSP client, Java app server for file input and output and an EJB metadata...
21.57 MB  
Programming  -  Libicom 0.9.0
The libicom library is a character based dynamicly linked library for Linux. It is used to remotely control the Icom IC-R8500 wide band receiver via an RS232 link. All call and return parameters to the control functions are character string based....
20.48 KB  
Programming  -  dotdesktop 0.3
Dotdesktop library provides ability to parse desktop entry file and access the information in a convenient way. Desktop entry file format is defined by, it is used to describe information about an application such as the name and...
327.68 KB  
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  -  libyasl 0.2
Libyasl is a C++ class library to easily realize TCP/UDP/Multicast clientsand servers in IPv4 and IPv6 environments under GNU/Linux systems.
143.36 KB  
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  
Libraries  -  App::SimpleScan::Substitution::Line 2.02
App::SimpleScan::Substitution::Line is a line with optional fixed variable values. SYNOPSIS my $line = App::SimpleScan::Substitution::Line->new(" this "); # Use only this value when substituting " ". $line->fix(substituite =>...
54.27 KB