66 lines · 2.1 KB · Text
RawDownload
///////////////////////////////////////////////////// Sigmund: sinusoidal analysis & pitch tracking ////                                               //// by Miller Puckette                            ////                                               ///////////////////////////////////////////////////// // Options:// npts (int): number of points used in analysis.//     Must be a power of 2, at least 128. The//     minimum frequency that can be tracked is//     about 2 * samplerate / npts//     default: 1024//// npeak (int): maximum number of sinusoidal peaks//     to look for. The computation time is//     quadratic in the number of peaks actually//     found (this number only sets an upper//     limit). Use it to balance CPU time with//     quality of results.//// maxfreq (float): maximum frequency of sinusoidal//     peaks to look for. This can be useful in//     situations where background nose creates//     high-frequency, spurious peaks...//// minpower (float): minimum dB level to//     report a pitch. Signals quieter than this//     will be assumed to be crosstalk and ignored.//     default: 50//// freq() (read-only): get reported frequency of//     input signal//// env() (read-only): get reported RMS value (in dB)//     of input signal//// peak (int): report freq of nth sinusoundal peak//     sorting depends on parameter "dotracks"//// amp (int): report amplitude of nth sinusoundal peak//     sorting depends on parameter "dotracks"//// tracks (0/1): toggle whether peak and amp are//     sorted in order of amplitude or organized into//     tracks//// clear(): clear buffers and reset//// param1, param2, param3 (float): mysterious settings... // must connect to blackhole to perform DSPTriOsc foo => Sigmund siggy => blackhole; 4096 => siggy.npts;20 => siggy.npeak;1000 => siggy.maxfreq;25 => siggy.minpower; while (true){	Math.random2f(5,300) => foo.freq;	Math.random2f(0,1) => foo.gain;	second => now;	<<< "Real frequency:",foo.freq(),"real gain:",foo.gain(),"Sigmund found this:",siggy.freq(), "power:", siggy.env() >>>;}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t