Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

p5.sound's midiToFreq() allows microtonality (decimal MIDI notes)

Aperta
#92 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
1/5
Tempo stimato
Meno di un'ora
Idoneità per principianti
38/100
Tipo di issue
Documentazione
Chiarezza
Specificata chiaramente
Stato di attività
Ferma
Stack tecnologico
javascript
Ambito
documentation

Direzione di ricerca

Inizia dalla pagina di riferimento di p5.sound midiToFreq() collegata nell’issue e verifica come la descrizione di General MIDI presenta i valori accettati. Il lavoro è completato quando viene aggiunta una nota che indica che i valori MIDI decimali producono frequenze microtonali senza arrotondamento; nell’issue non sono indicati file sorgente o test specifici.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

bug
Most appropriate sub-area of p5.js?
  • Accessibility
  • Color
  • Core/Environment/Rendering
  • Data
  • DOM
  • Events
  • Image
  • IO
  • Math
  • Typography
  • Utilities
  • WebGL
  • Build process
  • Unit testing
  • Internationalization
  • Friendly errors
  • Other (specify if possible)
p5.js version

1.11.1

Web browser and version

Firefox 133.0.3

Operating system

Windows 11

Steps to reproduce this
Steps:
  1. Decimal numbers in midiToFreq() return microtonal values, because they're not rounded first.
  2. This is actually a pretty cool feature, and allows some creative possibilites (microtonal music!), but it might be unexpected for some because the reference implies the value should be an integer MIDI note number:

General MIDI treats notes as integers where middle C is 60, C# is 61, D is 62 etc. Useful for generating musical frequencies with oscillators.

Rather than 'fix' this, adding a note to the reference description along the lines of 'Decimal values return microtonal frequencies.' Might clarify that those values won't be rounded to equal temperament tuning, but keep a pretty cool, if unexpected, feature?

Snippet:

  console.log(midiToFreq(60)); // returns 261.6255653005986 (Hz) = C4
  console.log(midiToFreq(60.5)); // returns 269.2917795270241 = C4 quarter-sharp!
  console.log(midiToFreq(61)); // returns 277.1826309768721 = C#4

I'd be happy to add this note to the reference if it's accepted.

Lingua principale
JavaScript
Stelle
60
Fork
26
Merge medio
2g 3h
PR unite (30g)
7

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di processing/p5.sound.js

Tutte le issue di processing/p5.sound.js

Issue simili

Altre issue su JavaScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.