Is there a way to work out how many samples per beat at different BPMs?

Is there a way to work out how many samples per beat at different BPMs?

How do I work out the exact length in samples of different musical notes’ single-cycles? (standard western equal temperament).

Im looking for a musical note whose single-cycles, when multiplied by 4s or 8s, will fit perfectly into one beat at a certain BPM…This question is pertaining to writing bytebeat formulas which result in something in rhythmical time and in tune…below is the question from caustic forums (the 8bitsynth module there is a bytebeat formula synth)

"Just trying to work this out, this is what Im thinking so far:

The caustic 8bit synth bytebeat formulas can create waveforms of the standard length for waveforms which can be tuned perfectly, that is waveforms which are 256 samples in length.

To tune a waveform of 256 samples in length to exactly A4 = 440Hz I must transpose -5 semitones and finetune +30 cents, this results in a perfect A4-440Hz wave-cycle which is exactly 100 samples in length…(maybe this is 141Hz, but its the closest I can get… 99 samples is out of tune, so is 101 samples single wave cycle length)

So anyway, if I use bytebeat formulas which are based around cycles of 256 samples in length, I can definitely tune to A4 afterwards and be perfectly in tune.

However to be in time (with all the bubbling, sizzling, dial up modem-like rhythmical shit that bytebeat formulas can produce) I now have to work out which BPM value will give me a beat-length which is divisible by exactly 100samples…any ideas? Or another note may be better than A4? A note whose wave cycle repeated a certain number of times (probably if its multiples of 8 its best for most rhythms) fits exactly into a particular BPMs beat length

Is there a way to work out how many samples per beat at different BPMs?

How do I work out the exact length in samples of different notes’ single-cycles?"

The formula for the period of a wave is: 1/f, where f is the frequency.

Multiply this by the sample rate you want to use it at and you have the number of samples for one cycle of the wave.

A single cycle wave which lasts a quarter note at 120 bpm would be 2hz, obviously too low to hear. Its length in samples would be 22050. Divided by 8 to make 32nd notes it would be 2756 samples, 16hz, still very low.

The quick formula for the number of samples in one beat is: (60 / bpm) x sample-rate

you can then multiply or divide this as you need.

Not sure if this answers your question.

Thankyou, those formulas are great.

Below are some beat lengths in samples and single cycle wave lengths in samples for all the keys on the keyboard.

I think creating a wave cycle 256 samples in length is the best choice for these caustic 8bitsynth bytebeat formula generated waveforms because waves of 256 samples in length can be tuned to A440 with transpose -5, finetune +30…but even at that point the A440 will not be perfect because a close to perfect A440Hz would be 100.2272727272727 samples in length…surely the closest you can get is 100 samples in length for A440? It leads me to question just how accurately in tune most digital synths are (if they generate waves at a sample-rate of 44100Hz)…everything must have to be rounded up and down to closest number in ‘whole samples’…maybe I am wrong, anyway…the numbers below are as accurate as possible with the windows calculator. Maybe to get these note frequencies really, really perfectly in tune it would require almost infinite decimal places, or there will be many many decimal places. I dont know if some of them are infinite or not…

So to do a rhytmically in time bytebeat formula that is also an actual in tune note, I have to find a note frequency wavlength in samples which goes into a beat length in samples (at a particular BPM) 4 or 8 times…I will report back later with the findings

BEAT LENGTH IN SAMPLES (samplerate - 44100Hz, CD quality)

40BPM, 1BEAT = (60/40) x 44100 = 66150

50BPM, 1BEAT = (60/50) x 44100 = 52920

60BPM, 1BEAT = (60/60) x 44100 = 44100

70BPM, 1BEAT = (60/70) x 44100 = 37800

80BPM, 1BEAT = (60/80) x 44100 = 33075

90BPM, 1BEAT = (60/90) x 44100 = 29400

100BPM, 1BEAT = (60/100) x 44100 = 26460

110BPM, 1BEAT = (60/110) x 44100 = 24054.54545454545

120BPM, 1BEAT = (60/120) x 44100 = 22050

130BPM, 1BEAT = (60/130) x 44100 = 20353.84615384615

140BPM, 1BEAT = (60/140) x 44100 = 18900

150bpm, 1BEAT = (60/150) x 44100 = 17640

160BPM, 1BEAT = (60/160) x 44100 = 16537.5

170BPM, 1BEAT = (60/170) x 44100 = 15564.70588235294?

180BPM, 1BEAT = (60/180) x 44100 = 14700

190BPM, 1BEAT = (60/190) x 44100 = 13926.31578947368

200BPM, 1BEAT = (60/200) x 44100 = 13230


NOTE WAVELENGTH IN SAMPLES (samplerate - 44100Hz, CD quality)

MIDI NOTE NO. 0 C-1, FREQHz - 8.175798915643707 Hz, WL(samples) - 5393.968278209282
MIDI NOTE NO. 1 C#-1, FREQHz - 8.661957218027252 Hz, WL(samples) - 5091.228101221644
MIDI NOTE NO. 2 D-1, FREQHz - 9.177023997418988 Hz, WL(samples) - 4805.479424746301
MIDI NOTE NO. 3 D#-1, FREQHz - 9.722718241315029 Hz, WL(samples) - 4535.768589138436
MIDI NOTE NO. 4 E-1, FREQHz - 10.300861153527183 Hz, WL(samples) - 4281.195459556258
MIDI NOTE NO. 5 F-1, FREQHz - 10.913382232281373 Hz, WL(samples) - 4040.910421844648
MIDI NOTE NO. 6 F#-1, FREQHz - 11.562325709738575 Hz, WL(samples) - 3814.111547026911‬
MIDI NOTE NO. 7 G-1, FREQHz - 12.249857374429663 Hz, WL(samples) - 3600.041914941336
MIDI NOTE NO. 8 G#-1, FREQHz - 12.978271799373287 Hz, WL(samples) - 3397.987088090541‬
MIDI NOTE NO. 9 A-1, FREQHz - 13.75 Hz, WL(samples) - 3207.272727272727
MIDI NOTE NO. 10 A#-1, FREQHz - 14.567617547440307 Hz, WL(samples) - 3027.262341037288‬
MIDI NOTE NO. 11 B-1, FREQHz - 15.433853164253883 Hz, WL(samples) - 2857.355161453743
MIDI NOTE NO. 12 C0, FREQHz - 16.351597831287414 Hz, WL(samples) - 2696.984139104642
MIDI NOTE NO. 13 C#0, FREQHz - 17.323914436054505 Hz, WL(samples) - 2545.614050610823‬
MIDI NOTE NO. 14 D0, FREQHz - 18.354047994837977 Hz, WL(samples) - 2402.739712373151‬
MIDI NOTE NO. 15 D#0, FREQHz - 19.445436482630058 Hz, WL(samples) - 2267.884294569219
MIDI NOTE NO. 16 E0, FREQHz - 20.601722307054366 Hz, WL(samples) - 2140.597729778129‬
MIDI NOTE NO. 17 F0, FREQHz - 21.826764464562746 Hz, WL(samples) - 2020.455210922324‬
MIDI NOTE NO. 18 F#0, FREQHz - 23.12465141947715 Hz, WL(samples) - 1907.055773513459‬
MIDI NOTE NO. 19 G0, FREQHz - 24.499714748859326 Hz, WL(samples) - 1800.020957470668‬
MIDI NOTE NO. 20 G#0, FREQHz - 25.956543598746574 Hz, WL(samples) - 1698.99354404527‬
MIDI NOTE NO. 21 A0, FREQHz - 27.5 Hz, WL(samples) - 1603.636363636364‬
MIDI NOTE NO. 22 A#0, FREQHz - 29.13523509488062 Hz, WL(samples) - 1513.631170518644‬
MIDI NOTE NO. 23 B0, FREQHz - 30.86770632850775 Hz, WL(samples) - 1428.677580726874‬
MIDI NOTE NO. 24 C1, FREQHz - 32.70319566257483 Hz, WL(samples) - 1348.492069552322
MIDI NOTE NO. 25 C#1, FREQHz - 34.64782887210901 Hz, WL(samples) - 1272.807025305411‬
MIDI NOTE NO. 26 D1, FREQHz - 36.70809598967594 Hz, WL(samples) - 1201.369856186577‬
MIDI NOTE NO. 27 D#1, FREQHz - 38.890872965260115 Hz, WL(samples) - 1133.942147284609‬
MIDI NOTE NO. 28 E1, FREQHz - 41.20344461410875 Hz, WL(samples) - 1070.298864889065‬
MIDI NOTE NO. 29 F1, FREQHz - 43.653528929125486 Hz, WL(samples) - 1010.227605461162‬
MIDI NOTE NO. 30 F#1, FREQHz - 46.2493028389543 Hz, WL(samples) - 953.5278867567334‬
MIDI NOTE NO. 31 G1, FREQHz - 48.999429497718666 Hz, WL(samples) - 900.0104787353336
MIDI NOTE NO. 32 G#1, FREQHz - 51.91308719749314 Hz, WL(samples) - 849.4967720226356‬
MIDI NOTE NO. 33 A1, FREQHz - 55 Hz, WL(samples) - 801.8181818181818
MIDI NOTE NO. 34 A#1, FREQHz - 58.27047018976124 Hz, WL(samples) - 756.815585259322‬
MIDI NOTE NO. 35 B1, FREQHz - 61.7354126570155 Hz, WL(samples) - 714.3387903634416‬
MIDI NOTE NO. 36 C2, FREQHz - 65.40639132514966 Hz, WL(samples) - 674.2460347761608
MIDI NOTE NO. 37 C#2, FREQHz - 69.29565774421802 Hz, WL(samples) - 636.4035126527056‬
MIDI NOTE NO. 38 D2, FREQHz - 73.41619197935188 Hz, WL(samples) - 600.6849280932885‬
MIDI NOTE NO. 39 D#2, FREQHz - 77.78174593052023 Hz, WL(samples) - 566.9710736423047‬
MIDI NOTE NO. 40 E2, FREQHz - 82.4068892282175 Hz, WL(samples) - 535.1494324445351‬
MIDI NOTE NO. 41 F2, FREQHz - 87.30705785825097 Hz, WL(samples) - 505.1138027305814
MIDI NOTE NO. 42 F#2, FREQHz - 92.4986056779086 Hz, WL(samples) - 476.7639433783667‬
MIDI NOTE NO. 43 G2, FREQHz - 97.99885899543733 Hz, WL(samples) - 450.0052393676669
MIDI NOTE NO. 44 G#2, FREQHz - 103.82617439498628 Hz, WL(samples) - 424.7483860113178
MIDI NOTE NO. 45 A2, FREQHz - 110 Hz, WL(samples) - 400.9090909090909‬
MIDI NOTE NO. 46 A#2, FREQHz - 116.54094037952248 H, WL(samples) - 378.407792629661
MIDI NOTE NO. 47 B2, FREQHz - 123.47082531403103 Hz, WL(samples) - 357.1693951817179‬
MIDI NOTE NO. 48 C3, FREQHz - 130.8127826502993 Hz, WL(samples) - 337.1230173880809
MIDI NOTE NO. 49 C#3, FREQHz - 138.59131548843604 Hz, WL(samples) - 318.2017563263528‬
MIDI NOTE NO. 50 D3, FREQHz - 146.8323839587038 Hz, WL(samples) - 300.3424640466455
MIDI NOTE NO. 51 D#3, FREQHz - 155.56349186104046 Hz, WL(samples) - 283.4855368211523
MIDI NOTE NO. 52 E3, FREQHz - 164.81377845643496 Hz, WL(samples) - 267.5747162222661‬
MIDI NOTE NO. 53 F3, FREQUENCY Hz - 174.61411571650194 Hz, WL(samples) - 252.5569013652905‬
MIDI NOTE NO. 54 F#3, FREQHz - 184.9972113558172 Hz, WL(samples) - 238.3819716891821‬
MIDI NOTE NO. 55 G3, FREQHz - 195.99771799087463 Hz, WL(samples) - 225.0026196838335‬
MIDI NOTE NO. 56 G#3, FREQHz - 207.65234878997256 Hz, WL(samples) - 212.3741930056588
MIDI NOTE NO. 57 A3, FREQHz - 220 Hz, WL(samples) - 200.4545454545455
MIDI NOTE NO. 58 A#3, FREQHz - 233.08188075904496 H, WL(samples) - 189.2038963148304
MIDI NOTE NO. 59 B3, FREQHz - 246.94165062806206 Hz, WL(samples) - 178.584697590859
MIDI NOTE NO. 60 C4, FREQHz - 261.6255653005986 Hz, WL(samples) - 168.5615086940405
MIDI NOTE NO. 61 C#4, FREQHz - 277.1826309768721 Hz, WL(samples) - 159.1008781631764‬
MIDI NOTE NO. 62 D4, FREQHz - 293.6647679174076 Hz, WL(samples) - 150.1712320233222
MIDI NOTE NO. 63 D#4, FREQHz - 311.12698372208087 Hz, WL(samples) - 141.7427684105762‬
MIDI NOTE NO. 64 E4, FREQHz - 329.6275569128699 Hz, WL(samples) - 133.7873581111334‬
MIDI NOTE NO. 65 F4, FREQHz - 349.2282314330039 Hz, WL(samples) - 126.2784506826456
MIDI NOTE NO. 66 F#4, FREQHz - 369.9944227116344 Hz, WL(samples) - 119.190985844591
MIDI NOTE NO. 67 G4, FREQHz - 391.99543598174927 Hz, WL(samples) - 112.5013098419167
MIDI NOTE NO. 68 G#4, FREQHz - 415.3046975799451 Hz, WL(samples) - 106.1870965028294
MIDI NOTE NO. 69 A4, FREQHz - 440 Hz, WL(samples) - 100.2272727272727
MIDI NOTE NO. 70 A#4, FREQHz - 466.1637615180899 Hz, WL(samples) - 94.60194815741538
MIDI NOTE NO. 71 B4, FREQHz - 493.8833012561241 Hz, WL(samples) - 89.29234879542948
MIDI NOTE NO. 72 C5, FREQHz - 523.2511306011972 Hz, WL(samples) - 84.28075434702007‬
MIDI NOTE NO. 73 C#5, FREQHz - 554.3652619537442 Hz, WL(samples) - 79.55043908158821‬
MIDI NOTE NO. 74 D5, FREQHz - 587.3295358348151 Hz, WL(samples) - 75.08561601166099
MIDI NOTE NO. 75 D#5, FREQHz - 622.2539674441618 Hz, WL(samples) - 70.87138420528815‬
MIDI NOTE NO. 76 E5, FREQHz - 659.2551138257398 Hz, WL(samples) - 66.89367905556658
MIDI NOTE NO. 77 F5, FREQHz - 698.4564628660078 Hz, WL(samples) - 63.13922534132269‬
MIDI NOTE NO. 78 F#5, FREQHz - 739.9888454232688 Hz, WL(samples) - 59.59549292229552‬
MIDI NOTE NO. 79 G5, FREQHz - 783.9908719634985 Hz, WL(samples) - 56.25065492095839 ‬
MIDI NOTE NO. 80 G#5, FREQHz - 830.6093951598903 Hz, WL(samples) - 53.0935482514147‬
MIDI NOTE NO. 81 A5, FREQHz - 880 Hz, WL(samples) - 50.11363636363636
MIDI NOTE NO. 82 A#5, FREQHz - 932.3275230361799 Hz, WL(samples) - 47.30097407870764
MIDI NOTE NO. 83 B5, FREQHz - 987.7666025122483 Hz, WL(samples) - 44.64617439771474
MIDI NOTE NO. 84 C6, FREQHz - 1046.5022612023945 Hz, WL(samples) - 42.14037717351003
MIDI NOTE NO. 85 C#6, FREQHz - 1108.7305239074883 Hz, WL(samples) - 39.7752195407941‬
MIDI NOTE NO. 86 D6, FREQHz - 1174.6590716696303 Hz, WL(samples) - 37.54280800583049
MIDI NOTE NO. 87 D#6, FREQHz - 1244.5079348883237 Hz, WL(samples) - 35.43569210264405‬
MIDI NOTE NO. 88 E6, FREQHz - 1318.5102276514797 Hz, WL(samples) - 33.44683952778327
MIDI NOTE NO. 89 F6, FREQHz - 1396.9129257320155 Hz, WL(samples) - 31.56961267066132‬
MIDI NOTE NO. 90 F#6, FREQHz - 1479.9776908465376 Hz, WL(samples) - 29.79774646114774‬
MIDI NOTE NO. 91 G6, FREQHz - 1567.981743926997 Hz, WL(samples) - 28.1253274604793
MIDI NOTE NO. 92 G#6, FREQHz - 1661.2187903197805 Hz, WL(samples) - 26.54677412570735‬
MIDI NOTE NO. 93 A6, FREQHz - 1760 Hz, WL(samples) - 25.05681818181818
MIDI NOTE NO. 94 A#6, FREQHz - 1864.6550460723597 Hz, WL(samples) - 23.65048703935381‬
MIDI NOTE NO. 95 B6, FREQHz - 1975.533205024496 Hz, WL(samples) - 22.32308719885744‬
MIDI NOTE NO. 96 C7, FREQHz - 2093.004522404789 Hz, WL(samples) - 21.0701885867551‬
MIDI NOTE NO. 97 C#7, FREQHz - 2217.4610478149766 Hz, WL(samples) - 19.88760977039705
MIDI NOTE NO. 98 D7, FREQHz - 2349.31814333926 Hz, WL(samples) - 18.77140400291573‬
MIDI NOTE NO. 99 D#7, FREQHz - 2489.0158697766474 Hz, WL(samples) - 17.71784605132202
MIDI NOTE NO. 100 E7, FREQHz - 2637.02045530296 Hz, WL(samples) - 16.723419763892‬
MIDI NOTE NO. 101 F7, FREQHz - 2793.825851464031 Hz, WL(samples) - 15.78480633533066
MIDI NOTE NO. 102 F#7, FREQHz - 2959.955381693075 Hz, WL(samples) - 14.89887323057389
MIDI NOTE NO. 103 G7, FREQHz - 3135.9634878539946 Hz, WL(samples) - 14.06266373023959
MIDI NOTE NO. 104 G#7, FREQHz - 3322.437580639561 Hz, WL(samples) - 13.27338706285368
MIDI NOTE NO. 105 A7, FREQHz - 3520 Hz, WL(samples) - 12.52840909090909
MIDI NOTE NO. 106 A#7, FREQHz - 3729.3100921447194 Hz, WL(samples) - 11.8252435196769
MIDI NOTE NO. 107 B7, FREQHz - 3951.066410048992 Hz, WL(samples) - 11.16154359942869
MIDI NOTE NO. 108 C8, FREQHz - 4186.009044809578 Hz, WL(samples) - 10.53509429337752
MIDI NOTE NO. 109 C#8, FREQHz - 4434.922095629953 Hz, WL(samples) - 9.94380488519853
MIDI NOTE NO. 110 D8, FREQHz - 4698.63628667852 Hz, WL(samples) - 9.385702001457663
MIDI NOTE NO. 111 D#8, FREQHz - 4978.031739553295 Hz, WL(samples) - 8.858923025661015‬
MIDI NOTE NO. 112 E8, FREQHz - 5274.04091060592 Hz, WL(samples) - 8.361709881945842
MIDI NOTE NO. 113 F8, FREQHz - 5587.651702928062 Hz, WL(samples) - 7.892403167665331
MIDI NOTE NO. 114 F#8, FREQHz - 5919.91076338615 Hz, WL(samples) - 7.449436615286995
MIDI NOTE NO. 115 G8, FREQHz - 6271.926975707989 Hz, WL(samples) - 7.031331865119804
MIDI NOTE NO. 116 G#8, FREQHz - 6644.875161279122 Hz, WL(samples) - 6.636693531426838
MIDI NOTE NO. 117 A8, FREQHz - 7040 Hz, WL(samples) - 6.264204545454545
MIDI NOTE NO. 118 A#8, FREQHz - 7458.620184289437 Hz, WL(samples) - 5.912621759838456
MIDI NOTE NO. 119 B8, FREQHz - 7902.132820097988 Hz, WL(samples) - 5.580771799714345
MIDI NOTE NO. 120 C9, FREQHz - 8372.018089619156 Hz, WL(samples) - 5.267547146688756‬
MIDI NOTE NO. 121 C#9, FREQHz - 8869.844191259906 Hz, WL(samples) - 4.971902442599265
MIDI NOTE NO. 122 D9, FREQHz - 9397.272573357044 Hz, WL(samples) - 4.692851000728812
MIDI NOTE NO. 123 D#9, FREQHz - 9956.06347910659 Hz, WL(samples) - 4.429461512830543
MIDI NOTE NO. 124 E9, FREQHz - 10548.081821211836 Hz, WL(samples) - 4.180854940972909
MIDI NOTE NO. 125 F9, FREQHz - 11175.303405856126 Hz, WL(samples) - 3.946201583832665
MIDI NOTE NO. 126 F#9, FREQHz - 11839.8215267723 Hz, WL(samples) - 3.72471830764356
MIDI NOTE NO. 127 G9, FREQHz - 12543.853951415975 Hz, WL(samples) - 3.515665932559899

2 Likes

I think 245 BPM and all the C’s work together nicely at 44.1Khz samplerate…it might be possible to get even closer with a different samplerate ( a note frequency whose wave period fits into a beat at a certain BPM 2, 4, 8, 16, 32, 64, 128 times ).

If anyone has lists of beat lengths and note frequenies wavelengths in samples at all the different samplerates please put a link to them here or share them here

245 BPM and the C’s come pretty close to being exact fits…C5 is probably the best choice (or 122.5 BPM, or 61.25 BPM)

245BPM

10800 / 16 = 675 ( C2 is 674.2460347761608 )

10800 / 32 = 337.5 ( C3 is 337.1230173880809 )

10800 / 64 = 168.75 ( C4 is 168.5615086940405 )

10800 / 128 = 84.375 ( C5 is 84.2807543470200 )

BEAT LENGTH IN SAMPLES (samplerate 44100Hz)

32BPM, 1BEAT, (60/32) x 44100 = 82687.5
33BPM, 1BEAT, (60/33) x 44100 = 80181.81818181818
34BPM, 1BEAT, (60/34) x 44100 = 77823.52941176471
35BPM, 1BEAT, (60/35) x 44100 = 75600
36BPM, 1BEAT, (60/36) x 44100 = 73500

37BPM, 1BEAT, (60/37) x 44100 = 71513.51351351351‬
38BPM, 1BEAT, (60/38) x 44100 = 69631.57894736842‬
39BPM, 1BEAT, (60/39) x 44100 = 67846.15384615385
40BPM, 1BEAT, (60/40) x 44100 = 66150
41BPM, 1BEAT, (60/41) x 44100 = 64536.58536585366
42BPM, 1BEAT, (60/42) x 44100 = 63000‬
43BPM, 1BEAT, (60/43) x 44100 = 61534.88372093023‬
44BPM, 1BEAT, (60/44) x 44100 = 60136.36363636364
45BPM, 1BEAT, (60/45) x 44100 = 58800
46BPM, 1BEAT, (60/46) x 44100 = 57521.73913043478
47BPM, 1BEAT, (60/47) x 44100 = 56297.87234042553
48BPM, 1BEAT, (60/48) x 44100 = 55125
49BPM, 1BEAT, (60/49) x 44100 = 54000
50BPM, 1BEAT, (60/50) x 44100 = 52920

51BPM, 1BEAT, (60/51) x 44100 = 51882.35294117647
52BPM, 1BEAT, (60/52) x 44100 = 50884.61538461538
53BPM, 1BEAT, (60/53) x 44100 = 49924.52830188679
54BPM, 1BEAT, (60/54) x 44100 = 49000‬
55BPM, 1BEAT, (60/55) x 44100 = 48109.09090909091‬
56BPM, 1BEAT, (60/56) x 44100 = 47250
57BPM, 1BEAT, (60/57) x 44100 = 46421.05263157895
58BPM, 1BEAT, (60/58) x 44100 = 45620.68965517241‬
59BPM, 1BEAT, (60/59) x 44100 = 44847.45762711864
60BPM, 1BEAT, (60/60) x 44100 = 44100
61BPM, 1BEAT, (60/61) x 44100 = 43377.04918032787
62BPM, 1BEAT, (60/62) x 44100 = 42677.41935483871
63BPM, 1BEAT, (60/63) x 44100 = 42000
64BPM, 1BEAT, (60/64) x 44100 = 41343.75‬
65BPM, 1BEAT, (60/65) x 44100 = 40707.69230769231‬
66BPM, 1BEAT, (60/66) x 44100 = 40090.90909090909
67BPM, 1BEAT, (60/67) x 44100 = 39492.53731343284‬
68BPM, 1BEAT, (60/68) x 44100 = 38911.76470588235
69BPM, 1BEAT, (60/69) x 44100 = 38347.82608695652
70BPM, 1BEAT, (60/70) x 44100 = 37800
71BPM, 1BEAT, (60/71) x 44100 = 37267.60563380282
72BPM, 1BEAT, (60/72) x 44100 = 36750
73BPM, 1BEAT, (60/73) x 44100 = 36246.57534246575
74BPM, 1BEAT, (60/74) x 44100 = 35756.75675675676
75BPM, 1BEAT, (60/75) x 44100 = 35280
76BPM, 1BEAT, (60/76) x 44100 = 34815.78947368421
77BPM, 1BEAT, (60/77) x 44100 = 34363.63636363636
78BPM, 1BEAT, (60/78) x 44100 = 33923.07692307692
79BPM, 1BEAT, (60/79) x 44100 = 33493.67088607595‬
80BPM, 1BEAT, (60/80) x 44100 = 33075
81BPM, 1BEAT, (60/81) x 44100 = 32666.66666666667
82BPM, 1BEAT, (60/82) x 44100 = 32268.29268292683
83BPM, 1BEAT, (60/83) x 44100 = 31879.51807228916
84BPM, 1BEAT, (60/84) x 44100 = 31500
85BPM, 1BEAT, (60/85) x 44100 = 31129.41176470588
86BPM, 1BEAT, (60/86) x 44100 = 30767.44186046512
87BPM, 1BEAT, (60/87) x 44100 = 30413.79310344828
88BPM, 1BEAT, (60/88) x 44100 = 30068.18181818182‬
89BPM, 1BEAT, (60/89) x 44100 = 29730.33707865169‬
90BPM, 1BEAT, (60/90) x 44100 = 29400
91BPM, 1BEAT, (60/91) x 44100 = 29076.92307692308‬
92BPM, 1BEAT, (60/92) x 44100 = 28760.86956521739
93BPM, 1BEAT, (60/93) x 44100 = 28451.61290322581
94BPM, 1BEAT, (60/94) x 44100 = 28148.93617021277
95BPM, 1BEAT, (60/95) x 44100 = 27852.63157894737
96BPM, 1BEAT, (60/96) x 44100 = 27562.5
97BPM, 1BEAT, (60/97) x 44100 = 27278.35051546392
98BPM, 1BEAT, (60/98) x 44100 = 27000
99BPM, 1BEAT, (60/99) x 44100 = 26727.27272727273‬
100BPM, 1BEAT, (60/100) x 44100 = 26460
101BPM, 1BEAT, (60/101) x 44100 = 26198.0198019802
102BPM, 1BEAT, (60/102) x 44100 = 25941.17647058824
103BPM, 1BEAT, (60/103) x 44100 = 25689.32038834951‬
104BPM, 1BEAT, (60/104) x 44100 = 25442.30769230769‬
105BPM, 1BEAT, (60/105) x 44100 = 25200
106BPM, 1BEAT, (60/106) x 44100 = 24962.2641509434
107BPM, 1BEAT, (60/107) x 44100 = 24728.97196261682
108BPM, 1BEAT, (60/108) x 44100 = 24500‬
109BPM, 1BEAT, (60/109) x 44100 = 24275.22935779817
110BPM, 1BEAT, (60/110) x 44100 = 24054.54545454545
111BPM, 1BEAT, (60/111) x 44100 = 23837.83783783784
112BPM, 1BEAT, (60/112) x 44100 = 23625
113BPM, 1BEAT, (60/113) x 44100 = 23415.92920353982‬
114BPM, 1BEAT, (60/114) x 44100 = 23210.52631578947‬
115BPM, 1BEAT, (60/115) x 44100 = 23008.69565217391
116BPM, 1BEAT, (60/116) x 44100 = 22810.34482758621
117BPM, 1BEAT, (60/117) x 44100 = 22615.38461538462
118BPM, 1BEAT, (60/118) x 44100 = 22423.72881355932
119BPM, 1BEAT, (60/119) x 44100 = 22235.29411764706‬
120BPM, 1BEAT, (60/120) x 44100 = 22050
121BPM, 1BEAT, (60/121) x 44100 = 21867.76859504132
122BPM, 1BEAT, (60/122) x 44100 = 21688.52459016393‬
123BPM, 1BEAT, (60/123) x 44100 = 21512.19512195122‬
124BPM, 1BEAT, (60/124) x 44100 = 21338.70967741935
125BPM, 1BEAT, (60/125) x 44100 = 21168
126BPM, 1BEAT, (60/126) x 44100 = 21000

127BPM, 1BEAT, (60/127) x 44100 = 20834.64566929134
128BPM, 1BEAT, (60/128) x 44100 = 20671.875
129BPM, 1BEAT, (60/129) x 44100 = 20511.62790697674
130BPM, 1BEAT, (60/130) x 44100 = 20353.84615384615
131BPM, 1BEAT, (60/131) x 44100 = 20198.47328244275
132BPM, 1BEAT, (60/132) x 44100 = 20045.45454545455
133BPM, 1BEAT, (60/133) x 44100 = 19894.73684210526
134BPM, 1BEAT, (60/134) x 44100 = 19746.26865671642
135BPM, 1BEAT, (60/135) x 44100 = 19600
136BPM, 1BEAT, (60/136) x 44100 = 19,455.88235294118
137BPM, 1BEAT, (60/137) x 44100 = 19313.86861313869
138BPM, 1BEAT, (60/138) x 44100 = 19,173.91304347826
139BPM, 1BEAT, (60/139) x 44100 = 19,035.97122302158
140BPM, 1BEAT, (60/140) x 44100 = 18900
141BPM, 1BEAT, (60/141) x 44100 = 18765.95744680851‬
142BPM, 1BEAT, (60/142) x 44100 = 18633.80281690141‬
143BPM, 1BEAT, (60/143) x 44100 = 18503.4965034965‬
144BPM, 1BEAT, (60/144) x 44100 = 18375
145BPM, 1BEAT, (60/145) x 44100 = 18248.27586206897‬
146BPM, 1BEAT, (60/146) x 44100 = 18123.28767123288‬
147BPM, 1BEAT, (60/147) x 44100 = 18,000
148BPM, 1BEAT, (60/148) x 44100 = 17878.37837837838
149BPM, 1BEAT, (60/149) x 44100 = 17758.38926174497
150BPM, 1BEAT, (60/150) x 44100 = 17640
151BPM, 1BEAT, (60/151) x 44100 = 17523.17880794702
152BPM, 1BEAT, (60/152) x 44100 = 17407.89473684211
153BPM, 1BEAT, (60/153) x 44100 = 17294.11764705882
154BPM, 1BEAT, (60/154) x 44100 = 17181.81818181818‬
155BPM, 1BEAT, (60/155) x 44100 = 17070.96774193548
156BPM, 1BEAT, (60/156) x 44100 = 16961.53846153846
157BPM, 1BEAT, (60/157) x 44100 = 16853.50318471338‬
158BPM, 1BEAT, (60/158) x 44100 = 16746.83544303797
159BPM, 1BEAT, (60/159) x 44100 = 16641.50943396226
160BPM, 1BEAT, (60/160) x 44100 = 16537.5
161BPM, 1BEAT, (60/161) x 44100 = 16434.78260869565‬
162BPM, 1BEAT, (60/162) x 44100 = 16333.33333333333‬
163BPM, 1BEAT, (60/163) x 44100 = 16233.12883435583
164BPM, 1BEAT, (60/164) x 44100 = 16134.14634146341‬
165BPM, 1BEAT, (60/165) x 44100 = 16036.36363636364
166BPM, 1BEAT, (60/166) x 44100 = 15939.75903614458
167BPM, 1BEAT, (60/167) x 44100 = 15844.31137724551
168BPM, 1BEAT, (60/168) x 44100 = 15750
169BPM, 1BEAT, (60/169) x 44100 = 15656.80473372781
170BPM, 1BEAT, (60/170) x 44100 = 15564.70588235294?
171BPM, 1BEAT, (60/171) x 44100 = 15473.68421052632‬
172BPM, 1BEAT, (60/172) x 44100 = 15383.72093023256
173BPM, 1BEAT, (60/173) x 44100 = 15294.79768786127
174BPM, 1BEAT, (60/174) x 44100 = 15206.89655172414
175BPM, 1BEAT, (60/175) x 44100 = 15120‬
176BPM, 1BEAT, (60/176) x 44100 = 15034.09090909091
177BPM, 1BEAT, (60/177) x 44100 = 14949.15254237288‬
178BPM, 1BEAT, (60/178) x 44100 = 14865.16853932584‬
179BPM, 1BEAT, (60/179) x 44100 = 14782.12290502793‬
180BPM, 1BEAT, (60/180) x 44100 = 14700
181BPM, 1BEAT, (60/181) x 44100 = 14618.78453038674
182BPM, 1BEAT, (60/182) x 44100 = 14538.46153846154‬
183BPM, 1BEAT, (60/183) x 44100 = 14459.01639344262
184BPM, 1BEAT, (60/184) x 44100 = 14380.4347826087
185BPM, 1BEAT, (60/185) x 44100 = 14302.7027027027‬
186BPM, 1BEAT, (60/186) x 44100 = 14225.8064516129‬
187BPM, 1BEAT, (60/187) x 44100 = 14149.73262032086
188BPM, 1BEAT, (60/188) x 44100 = 14074.46808510638
189BPM, 1BEAT, (60/189) x 44100 = 14000
190BPM, 1BEAT, (60/190) x 44100 = 13926.31578947368
191BPM, 1BEAT, (60/191) x 44100 = 13853.40314136126
192BPM, 1BEAT, (60/192) x 44100 = 13781.25‬
193BPM, 1BEAT, (60/193) x 44100 = 13709.84455958549‬
194BPM, 1BEAT, (60/194) x 44100 = 13639.17525773196
195BPM, 1BEAT, (60/195) x 44100 = 13569.23076923077
196BPM, 1BEAT, (60/196) x 44100 = 13500
197BPM, 1BEAT, (60/197) x 44100 = 13431.47208121827
198BPM, 1BEAT, (60/198) x 44100 = 13363.63636363636
199BPM, 1BEAT, (60/199) x 44100 = 13296.4824120603
200BPM, 1BEAT, (60/200) x 44100 = 13230
201BPM, 1BEAT, (60/201) x 44100 = 13164.17910447761‬
202BPM, 1BEAT, (60/202) x 44100 = 13099.0099009901
203BPM, 1BEAT, (60/203) x 44100 = 13034.48275862069‬
204BPM, 1BEAT, (60/204) x 44100 = 12970.58823529412
205BPM, 1BEAT, (60/205) x 44100 = 12907.31707317073‬
206BPM, 1BEAT, (60/206) x 44100 = 12844.66019417476‬
207BPM, 1BEAT, (60/207) x 44100 = 12782.60869565217
208BPM, 1BEAT, (60/208) x 44100 = 12721.15384615385
209BPM, 1BEAT, (60/209) x 44100 = 12660.28708133971‬
210BPM, 1BEAT, (60/210) x 44100 = 12600
211BPM, 1BEAT, (60/211) x 44100 = 12540.28436018957
212BPM, 1BEAT, (60/212) x 44100 = 12481.1320754717‬
213BPM, 1BEAT, (60/213) x 44100 = 12422.53521126761
214BPM, 1BEAT, (60/214) x 44100 = 12364.48598130841
215BPM, 1BEAT, (60/215) x 44100 = 12306.97674418605
216BPM, 1BEAT, (60/216) x 44100 = 12250
217BPM, 1BEAT, (60/217) x 44100 = 12193.54838709677‬
218BPM, 1BEAT, (60/218) x 44100 = 12137.61467889908
219BPM, 1BEAT, (60/219) x 44100 = 12082.19178082192
220BPM, 1BEAT, (60/220) x 44100 = 12027.27272727273
221BPM, 1BEAT, (60/221) x 44100 = 11972.85067873303
222BPM, 1BEAT, (60/222) x 44100 = 11918.91891891892
223BPM, 1BEAT, (60/223) x 44100 = 11865.47085201794
224BPM, 1BEAT, (60/224) x 44100 = 11812.5‬
225BPM, 1BEAT, (60/225) x 44100 = 11760
226BPM, 1BEAT, (60/226) x 44100 = 11707.96460176991
227BPM, 1BEAT, (60/227) x 44100 = 11656.38766519824‬
228BPM, 1BEAT, (60/228) x 44100 = 11605.26315789474‬
229BPM, 1BEAT, (60/229) x 44100 = 11554.58515283843
230BPM, 1BEAT, (60/230) x 44100 = 11504.34782608696
231BPM, 1BEAT, (60/231) x 44100 = 11454.54545454545
232BPM, 1BEAT, (60/232) x 44100 = 11405.1724137931
233BPM, 1BEAT, (60/233) x 44100 = 11356.22317596567
234BPM, 1BEAT, (60/234) x 44100 = 11307.69230769231
235BPM, 1BEAT, (60/235) x 44100 = 11259.57446808511
236BPM, 1BEAT, (60/236) x 44100 = 11211.86440677966
237BPM, 1BEAT, (60/237) x 44100 = 11164.55696202532
238BPM, 1BEAT, (60/238) x 44100 = 11117.64705882353
239BPM, 1BEAT, (60/239) x 44100 = 11071.12970711297
240BPM, 1BEAT, (60/240) x 44100 = 11025
241BPM, 1BEAT, (60/241) x 44100 = 10979.2531120332
242BPM, 1BEAT, (60/242) x 44100 = 10933.88429752066
243BPM, 1BEAT, (60/243) x 44100 = 10888.88888888889‬
244BPM, 1BEAT, (60/244) x 44100 = 10844.26229508197‬
245BPM, 1BEAT, (60/245) x 44100 = 10800
246BPM, 1BEAT, (60/246) x 44100 = 10756.09756097561‬
247BPM, 1BEAT, (60/247) x 44100 = 10712.55060728745
248BPM, 1BEAT, (60/248) x 44100 = 10669.35483870968
249BPM, 1BEAT, (60/249) x 44100 = 10626.50602409639‬
250BPM, 1BEAT, (60/250) x 44100 = 10584

Notice that most BPM settings are slightly innacurate in any software using 44.1Khz…same with the note frequencies

What do you mean exactly?

Tempo inaccuracy shouldn’t be any more than a few thousandths of a beat as all DAWs use block buffering and compute each sample within that block, especially for audio. It may be possible that there is some jitter in tempo clock output, but that shouldn’t have anything to do with the sample rate per se.

Also, remember that hz is a totally arbitrary measurement based on our calculation of time. Every frequency is rational in some world, perhaps just not our industrial work-time based one.

Im just speculating that the BPM settings and the note frequencies, which are taken to be fully accurate, may not be as accurate as people have come to believe after all if the samplerate is 44.1KHz. Perhaps the BPM which do not strictly speaking have an exact number of samples per beat have their error of less than one sample rounded up or down. Over time this error may accumulate and there may be some kind of rounding correction going on further on in the process of playing a pattern or series of patterns at a certain BPM. I have no clue how it works.

It looks like to me like the BPMs in bold in the list above are the only ones that are truly accurate.

As for the note frequencies, obviously it is still more accurate than tuning a guitar or violin or piano, but how accurate is it really? Some of those numbers may have infinite decimal places or at least extreme numbers of decimal places. I wonder when computers will be able to output 100% exact note frequencies.

As the samplerate doubles, or increases, the accuracy of both BPM and note frequencies should also increase but its impossible for me to say exactly how long those note frequency numbers really are and what samplerate would be necessary to playback a note with 100% exactly the correct frequency. I wonder to how many decimal places the note frequencies and BPMs are correct to in most software.

I was hoping to learn how to write bytebeat formulas with the pulsing, bubbling rythms they can produce being worked out to be exactly in time at a particular BPM…on top of that there might be a particular note frequency sample length which fits perfectly into a certain BPMs beat length in samples 2, 4, 8, 16, 32 etc times. Then it may be possible to write bytebeat with complete accuracy not only in tune but also in time. However, the more you deviate from the original note the more out of tune you would be. If I made it jump only octaves really quickly it would be in tune. Maybe I could make it arpeggiate extremely fast and still have in-key frequencies within it…in short, bytebeat can create the most trippy, crazy sounds ive ever heard but I dont know how useful they are inside actual music. Im finding it almost impossible to understand how to control bytebeat…I think to do it I would have to take into account, bitrate and samplerate…caustic has a bytebeat formula synth. You can input a bytebeat formula, then play the results tuned all over the keyboard by speeding it up and slowing it down, but how to write in tune in time directly, I have no clue. Even if you start with something 256 samples long, once you have tuned to A4 you must have lost one sample of note frequency accuracy already…I look at it all from the perspective of someone who has never done any coding ever…so the tempo clock is not worked out by length per beat in samples? maybe I am getting confused with CPU cycles and samplerate… like you said the clock may be more accurate then the audio is slightly inaccurate…its a complicated headfuck for sure.

http://gabrielmiceli.x10host.com/csd.htm


Nyquist theorem states that any frequency up to half the sampling rate can be accurately captured and reconstructed. I tend to believe it is correct, as it has been around for nearly a century, and has been quite adequately proved in the lay world by billions of recordings that people listen to every minute of the day. None of the music originally recorded to tape and then transferred to digital has tuning problems, which means that a computer is 100% capable of reproducing those frequencies, no matter how inaccurate the original material’s tuning. The reconstruction algorithms in a DAC usually make use of an even older theory by Fourier. All of this was developed way before computers and works perfectly for our purposes. If you have an interest in learning more about this i’d highly recommend Miller Puckette’s MUS 171 lectures which go deep into it. Also his book Theory and Techniques of Electronic Music, which is really about computer music. It’s heavy on the mathematical side, lots of equations and math lingo, but useful.

Increasing the sample rate will not improve accuracy except for making the BPM deviations converge on the integer, and anyway irrational frequencies up to the Nyquist limit will all be fine. It would take 735 minutes of cumulative single sample inaccuracies (one missing or extra sample per second) to gain or lose an extra second of time at 44100. It’s doubtful that I, you or anyone else could spot that level of deviation from the required tempo.

I don’t know what byte beat is, but if it requires more accuracy than you have already i’d question whether it’s worth doing. I think you could make music like that with less theory quite easily, at least from the sound of it. It sounds like DJ Scotch Egg and he used a Gameboy with nanoloop 1 for all his tracks. And a Gameboy is definitely not capable of perfect tuning.

Paraphrasing what you say, no instruments are 100% permanently in tune to what we call the ‘accurate’ frequency. Really i think this is a situation in which theory frustrates reality, and it’s best to drop the idea of ‘accurate’. As i said before, One Second is arbitrary. It’s a theory. It doesn’t really exist in nature. Frequencies that do not divide perfectly into One Second or its multiples as integers are not in any way wrong or invalid. It comes close to the argument against equal temperament, that its tunings are not pure ratios. But then, we’ve done ok so far to live with that, and we like being able to modulate key without having to get out a tuner and change every string.

This explains what i’m talking about, if you can wade in to the heavy math stuff:

“When the sampled function has a bandlimit, B, less than the Nyquist frequency, [the signal] is a perfect reconstruction of the original function.”

I had heard about nyquist before, about how the human audible frequency range can be captured reasonably accurately with 44.1KHz, which is why it became the samplerate used for ‘CD Quality’ but not ‘pro audio gear’ which apparently used 48KHz.

Some argue that frequencies outside the human hearing range can interfere with lower frequencies though, so they say 44.1KHz is unacceptable samplerate for them.

Bytebeat does sound a bit like gameboy music, most of it is ‘8-Bit’ (although gameboy is 4bit apparently)…but check out the first video linked above, no way you can do that on a gameboy. The way these formulas can make fractal music and ever changing waveforms…its the future, i swear…when people get these sounding more and more musical and less and less like a dialup modem…maybe its a new type of synthesis? Look at how the waveforms change.

I saw dj scotch egg once (on youtube) flipping pancakes during a live set it was pretty cool, hes like the gameboy death metal or something, pretty crazy.

I was watching bytebeat tutorials like the last video linked above and maybe you are right, this can be an unnecessary headfuck in my life, but I am so sure it is possible to write this stuff at a certain BPM and at certain frequencies as long as you know the beat length in samples and note wavelengths in samples at a certain samplerate. You would need some equation that can produce western equal temperament chromatic scale…all the notes are detuned by the square root of 2 or something like that…

just goes to show how crazy difficult it must be to actually program a professional synthesizer or vsti…but if somewhere online can spoonfeed the bytebeat step by step, maybe I will understand it one day…lol…I will check out those books. thanks for the recommendations.

I swear this shit is the future. It will be crazy. Maybe it hurts to listen to right now but they will make more and more musical discoveries in time, in the end it may be the most beautiful sound ever heard. I can always sample a dialup modem to get something similar i guess…garbled madness and occasional mad bloops

I think they filter out all the frequencies outside of human hearing range…from there nyquist theorem and 44.1KHz is acceptable (some say imperceptible difference in quality from 44.1KHz to the higher sample rates)…Im only just starting to learn about bitrates and samplerates

Maybe it will require satellites in orbit to get my BPM exactly perfect for the next 735 minutes

What you mention there is the brick-wall limiting that is implemented well in good AD/DA converters.

It’s a ball ache but i’ve been learning about this stuff the last few years.

Basically 48k 24-bit is pretty ok for nearly anything, and once you hit 32 bit float with sample rates upwards of 48k you’re golden. The bit rate really has most effect on headroom, which basically means how small (quiet) of a signal will be audible above the noise floor of the sampling. 16 bit is actually shit in this respect. Only 65536 values for the amplitude of a signal (peak-to-peak) is definitely a bit limiting. People will argue about this forever i’m sure, but i do believe the talk about CD quality being sub-par. It was a compromise format, and really i’m glad it’s dying/dead. But i’ll still use it if needs be. The most important element is not the storage format so much as the hardware. Get a good signal going into a good converter.

The thing with theory is that it’s beautiful and perfect… until it hits the real world and meets human fallibility and errors in implementation.

Digital is the way things are now, and it’s good, just sometimes it’s done wrong, and then it’s bad.

I will have to read up on this stuff and study it more to get to grips with why certain things are good and others less desirable…with the 44.1KHz CD quality, human hearing range goes to 22KHz, they doubled it (nyquist) and added an extra 100Hz just to be sure…but I hear encoding takes away quality as well, especially compressed .mp3…although I dont understand it all fully yet .flac and .wav are lossless and .mp3 is lossy

Yeah, it’s a complicated field filled with a lot of decisions made by other people a long time ago that we have to live with for better or worse. The main point i’m trying to get across is that all these measurements are totally arbitrary. Of course, it’s fine to work with what tools there are, but even the 44100 standard is arbitrary and was only adopted as a convenience for industry rather than to meet a level of quality. We measure by the second, so some things don’t fit and they get chopped off, it’s totally Procrustean.

ah o.k procrustean - a rogue smith and bandit from Attica who attacked people by stretching them or cutting off their legs, so as to force them to fit the size of an iron bed.

yes, forcing things to fit.

I was thinking last night it must be the bitrate that controls the internal clock of renoise and the samplerate that must be used slightly adjusting with rounding (aliasing) to try to output the same time periods that the bitrate is giving it…bytebeat is a new type of synthesis in my opinion, they will work out how to use it rythmically in time and in tune eventually (i think they are currently changing samplerate to change pitch, which is crazy)…but it doesnt fit into the categories of additive, subtractive, granular or FM…so it must be a new type of synthesis…definitely this will be the future of sound design with those waveforms, ever changing, fractal, mathmatical…bytebeat is crazy, its still quite new im interested to see where it leads, but even just building a sine wave is pretty damn complicated

Changing sample rate is the classic method used to play back samples at different pitches. As far as i can tell even Renoise uses this method which is probably why there are a variety of interpolation algorithms available to alter the way the sound is affected when a sample is pitched up or down from its usual rate. If your sample is 44100 samples long and you only play 22050 of them in one second, you get half speed (at 44100 sample rate). Interpolation adds the missing values in between the samples, in this case one extra sample as we’re only playing from the file once every other sample. Miller Puckette’s book explains all of this a lot better than i can.

In fact pretty much all soft synths use this method as they are generally creating oscillators by reading back a wavetable. Only a very few use pure mathematical oscillators: Madrona’s Aalto does, and perhaps some of the U-he stuff. You can usually tell when a plug-in is using mathematical oscillators as they will hammer the hell out of your CPU. Reading a wavetable is one way to band-limit software synths so as to avoid aliasing, and it has the added benefit of being much easier on the processor.