sampleplayer

package
v0.0.0-...-94d39a7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 21, 2015 License: MIT Imports: 10 Imported by: 0

Documentation

Overview

Package sampleplayer provides an instrument based on different samples for different frequencies and dynamics

Index

Constants

This section is empty.

Variables

View Source
var (
	CrescendoDecrescendo = dynamic{"cresc-decresc", dyn.CrescendoDecrescendo.Value()}
	Crescendo            = dynamic{"crescendo", dyn.Crescendo.Value()}
	MoltoPianissimo      = dynamic{"molto-pianissimo", dyn.PianissimoPiano.Value()}
	Pianissimo           = dynamic{"pianissimo", dyn.Pianissimo.Value()}
	Piano                = dynamic{"piano", dyn.Piano.Value()}
	MezzoPiano           = dynamic{"mezzo-piano", dyn.Mezzopiano.Value()}
	MezzoForte           = dynamic{"mezzo-forte", dyn.Mezzoforte.Value()}
	Forte                = dynamic{"forte", dyn.Forte.Value()}
	Fortissimo           = dynamic{"fortissimo", dyn.Fortissimo.Value()}
	Decrescendo          = dynamic{"decrescendo", dyn.Decrescendo.Value()}
)
View Source
var (
	Normal = variant{"normal", i}

	Nonlegato  = newVariant("nonlegato")
	Legato     = newVariant("legato")
	ArcoLegato = newVariant("arco-legato")

	NonVibrato   = newVariant("non-vibrato")
	Vibrato      = newVariant("vibrato")
	MoltoVibrato = newVariant("molto-vibrato")

	ArcoTenuto = newVariant("arco-tenuto")
	Tenuto     = newVariant("tenuto")

	Tremolo     = newVariant("tremolo")
	ArcoTremolo = newVariant("arco-tremolo")
	PizzTremolo = newVariant("pizz-tremolo")

	Staccato      = newVariant("staccato")
	ArcoStaccato  = newVariant("arco-staccato")
	Staccatissimo = newVariant("staccatissimo")

	MajorTrill     = newVariant("major-trill")
	MinorTrill     = newVariant("minor-trill")
	ArcoMajorTrill = newVariant("arco-major-trill")
	ArcoMinorTrill = newVariant("arco-minor-trill")

	Harmonics          = newVariant("harmonics")
	Harmonic           = newVariant("harmonic")
	ArcoHarmonic       = newVariant("arco-harmonic")
	ArtificialHarmonic = newVariant("artificial-harmonic")
	NaturalHarmonic    = newVariant("natural-harmonic")

	Glissando         = newVariant("glissando")
	ArcoGlissando     = newVariant("arco-glissando")
	PizzGlissando     = newVariant("pizz-glissando")
	HarmonicGlissando = newVariant("harmonic-glissando")

	ArcoNormal          = newVariant("arco-normal")
	ArcoDetache         = newVariant("arco-detache")
	ArcoSpiccato        = newVariant("arco-spiccato")
	ArcoColLegnoBattuto = newVariant("arco-col-legno-battuto")
	ArcoColLegnoTratto  = newVariant("arco-col-legno-tratto")
	ArcoAuTalon         = newVariant("arco-au-talon")
	ArcoMartele         = newVariant("arco-martele")
	ArcoSulPonticello   = newVariant("arco-sul-ponticello")
	ArcoPuntaDarco      = newVariant("arco-punta-d'arco")
	ArcoSulTasto        = newVariant("arco-sul-tasto")
	ArcoPortato         = newVariant("arco-portato")

	PizzNormal      = newVariant("pizz-normal")
	SnapPizz        = newVariant("snap-pizz")
	PizzQuasiGuitar = newVariant("pizz-quasi-guitar")

	TonguedSlur     = newVariant("tongued-slur")
	TripleTonguing  = newVariant("triple-tonguing")
	DoubleTonguing  = newVariant("double-tonguing")
	FlutterTonguing = newVariant("fluttertonguing")

	ConSord = newVariant("con-sord")
	Mute    = newVariant("mute")
	Subtone = newVariant("subtone")
	String  = newVariant("string")
)
View Source
var Long = supergollider.Dur(1000)
View Source
var Phrase = supergollider.Dur(10000)
View Source
var VeryLong = supergollider.Dur(5000)

Functions

func CalculatePhilharmonicAmp

func CalculatePhilharmonicAmp(s string) float64

func CalculatePhilharmonicDur

func CalculatePhilharmonicDur(s string) float64

func CalculatePhilharmonicFreq

func CalculatePhilharmonicFreq(s string) float64

func CalculatePhilharmonicVariant

func CalculatePhilharmonicVariant(s string) float64

Types

type Instrument

type Instrument struct {
	Dir         string
	Format      string // must be a string like `flute_{{freq}}_{{dur}}_{{amp}}_normal.wav`, e.g. flute_Gs4_15_pianissimo_normal.wav
	AllVariants map[string]map[float64]string
}

type Parameter

type Parameter interface {
	Name() string // name of the placeholder
	// Value calculates the parameter value from a name
	Value(name string) float64
}

type PhilharmonicScanner

type PhilharmonicScanner struct {
	// contains filtered or unexported fields
}

func NewPhilharmonicScanner

func NewPhilharmonicScanner(baseDir string) *PhilharmonicScanner

func (*PhilharmonicScanner) AddToRegistry

func (p *PhilharmonicScanner) AddToRegistry(instrument string, variant, dur, dyn, freq float64, ext string)

func (*PhilharmonicScanner) Channels

func (p *PhilharmonicScanner) Channels() []int

func (*PhilharmonicScanner) FallbackDur

func (p *PhilharmonicScanner) FallbackDur(dur float64, variantM map[float64]map[float64]map[float64]string) (string, map[float64]map[float64]string)

TODO lookup the nearest dur that exists in variantM

func (*PhilharmonicScanner) FallbackDyn

func (p *PhilharmonicScanner) FallbackDyn(dyn float64, durM map[float64]map[float64]string) (string, map[float64]string)

TODO lookup the nearest dyn that exists in durM

func (*PhilharmonicScanner) FallbackFreq

func (p *PhilharmonicScanner) FallbackFreq(freq float64, dynM map[float64]string) (freqStr string, realFreq float64, ext string)

TODO lookup the nearest freq that exists in dynM

func (*PhilharmonicScanner) FallbackVariant

func (p *PhilharmonicScanner) FallbackVariant(variant float64, instrM map[float64]map[float64]map[float64]map[float64]string) (string, map[float64]map[float64]map[float64]string)

TODO lookup the nearest variant that exists in instrM

func (*PhilharmonicScanner) SampleForParams2

func (p *PhilharmonicScanner) SampleForParams2(instrument string, params map[string]float64) string

SampleForParams returns the filename for the given params and changes the params if necessary

func (*PhilharmonicScanner) SamplePath

func (p *PhilharmonicScanner) SamplePath(instrument string, params map[string]float64) string

func (*PhilharmonicScanner) Scan

func (p *PhilharmonicScanner) Scan(filename string)

instrument => variant => dur => dyn => frequency

func (*PhilharmonicScanner) Scan2

func (p *PhilharmonicScanner) Scan2(filename string) map[string]map[float64]string

func (*PhilharmonicScanner) ScanDir

func (p *PhilharmonicScanner) ScanDir(dir string) error

type Sampler

type Sampler interface {
	SampleAndStrech(dyn float64, freq float64) (path string, strech float64)
}

type Scanner

type Scanner interface {
	// maps parameter name to a map of parameter values to names
	Scan(string) map[string]map[float64]string
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL