extended-strings / strings
dev-master
2017-08-02 11:26 UTC
Requires
- php: >=7.1
Requires (Dev)
- phpunit/phpunit: ^6.1
This package is auto-updated.
Last update: 2024-12-10 12:32:21 UTC
README
Calculates string lengths, frequencies, intervals, harmonics, etc.
Example
<?php require_once 'vendor/autoload.php'; use ExtendedStrings\Strings\HarmonicCalculator; use ExtendedStrings\Strings\Instrument; use ExtendedStrings\Strings\Note; // Find all the possible harmonics on a violin for the sounding pitch D5. $harmonics = (new HarmonicCalculator()) ->findHarmonics(Note::fromName('D5'), Instrument::fromPreset('violin')); foreach ($harmonics as $harmonic) { $string = $harmonic->getString(); $stringNote = Note::fromFrequency($string->getFrequency()); $baseNote = Note::fromFrequency($harmonic->getBaseStop()->getFrequency($string)); $harmonicNote = Note::fromFrequency($harmonic->getHalfStop()->getFrequency($string)); $soundingNote = Note::fromFrequency($harmonic->getSoundingFrequency()); echo "String: $stringNote\n"; if ($harmonic->isNatural()) { echo " Harmonic pressure on: $harmonicNote\n"; } else { echo " Artificial harmonic: $baseNote : $harmonicNote\n"; } echo " Sounding pitch: $soundingNote\n"; echo "\n"; }
Result:
String: D4
Harmonic pressure on: D5
Sounding pitch: D5
String: G3
Harmonic pressure on: D5 +2c
Sounding pitch: D5 +2c
String: G3
Harmonic pressure on: D4 +2c
Sounding pitch: D5 +2c
String: G3
Artificial harmonic: D4 : D5
Sounding pitch: D5