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-09-10 12:03:41 UTC
README
计算字符串长度、频率、区间、谐波等。
示例
<?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"; }
结果
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