Skip to contents

Calculate the sample rate for a note or a ProTracker period value.

Usage

noteToSampleRate(note = "C-3", finetune = 0, video = c("PAL", "NTSC"))

periodToSampleRate(period, video = c("PAL", "NTSC"))

Arguments

note

A character string representing a note for which the sample rate is to be calculated.

finetune

An integer value ranging from -8 up to 7. A value used to tune an audio sample.

video

The video mode used to calculate the sample rate. A character string that can have either the value 'PAL' or 'NTSC'. PAL is used by default.

period

A ProTracker integer value of a period value for which the sample rate is to be calculated.

Value

Returns the sample rate in samples per seconds.

Details

The timing on a Commodore Amiga depends on the video mode, which could be either 'PAL' or 'NTSC'. Therefore sample rates also depend on these modes. As the PAL is mostly used in Europe, and the Amiga was most popular in Europe, PAL is used by default.

See also

Other character.operations: as.character(), name, periodToChar(), rawToCharNull()

Other period.operations: noteToPeriod(), note(), octave(), periodToChar(), period_table

Other sample.rate.operations: playSample()

Other note.and.octave.operations: noteToPeriod(), noteUp(), note(), octave(), periodToChar()

Author

Pepijn de Vries

Examples

## calculate the sample rate for a ProTracker period value of 200
periodToSampleRate(200)
#> [1] 17734.47

## calculate the sample rate for a sample at note 'A-3'
noteToSampleRate("A-3")
#> [1] 27928.31

## note that the NTSC video system gives a slightly different rate:
noteToSampleRate("A-3", video = "NTSC")
#> [1] 28185.39

## fine tuning a sample will also give a slightly different rate:
noteToSampleRate("A-3", finetune = -1)
#> [1] 27710.12