pub struct TuningTable {
pub frequencies: Vec<f32>,
pub name: String,
pub description: String,
}Expand description
Maps MIDI note numbers (0–127) to frequencies in Hz.
Stored as Vec
Fields§
§frequencies: Vec<f32>Frequency in Hz for each MIDI note 0–127.
name: StringHuman-readable name.
description: StringDescription of the tuning system.
Implementations§
Source§impl TuningTable
impl TuningTable
Sourcepub fn equal_temperament(concert_a: f32) -> Self
pub fn equal_temperament(concert_a: f32) -> Self
Standard 12-tone equal temperament. A4 (MIDI note 69) = concert_a Hz (typically 440.0).
Sourcepub fn from_cents_offsets(concert_a: f32, offsets: &[f32; 12]) -> Self
pub fn from_cents_offsets(concert_a: f32, offsets: &[f32; 12]) -> Self
Build a tuning table from cents offsets per semitone within an octave.
offsets is a 12-element array of cent offsets from 12-TET for each
pitch class (C, C#, D, D#, E, F, F#, G, G#, A, A#, B).
Sourcepub fn from_frequencies(
freqs: Vec<f32>,
name: &str,
description: &str,
) -> Option<Self>
pub fn from_frequencies( freqs: Vec<f32>, name: &str, description: &str, ) -> Option<Self>
Build from explicit frequency list. Length must be 128.
Sourcepub fn freq_to_note_cents(&self, freq: f32) -> (u8, f32)
pub fn freq_to_note_cents(&self, freq: f32) -> (u8, f32)
Convert frequency to the nearest MIDI note + cents deviation.
Sourcepub fn ethiopian_tizita(concert_a: f32) -> Self
pub fn ethiopian_tizita(concert_a: f32) -> Self
Ethiopian Kiñit (pentatonic) approximation. Uses the Tizita major scale pattern.
Sourcepub fn just_intonation(concert_a: f32) -> Self
pub fn just_intonation(concert_a: f32) -> Self
Just intonation (pure intervals based on harmonic series).
Trait Implementations§
Source§impl Clone for TuningTable
impl Clone for TuningTable
Source§fn clone(&self) -> TuningTable
fn clone(&self) -> TuningTable
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for TuningTable
impl Debug for TuningTable
Source§impl Default for TuningTable
impl Default for TuningTable
Source§impl<'de> Deserialize<'de> for TuningTable
impl<'de> Deserialize<'de> for TuningTable
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for TuningTable
impl RefUnwindSafe for TuningTable
impl Send for TuningTable
impl Sync for TuningTable
impl Unpin for TuningTable
impl UnsafeUnpin for TuningTable
impl UnwindSafe for TuningTable
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more