Public
Edited
Mar 22, 2023
Insert cell
# (WIP) Bridget
Generates an audio-visual representation of a stringed instrument.
Roadmap: Add string start and endpoint compensation (https://leftyfretz.com/guitar-scale-length-explained/)

Example scale lengths (from https://guitargearfinder.com/guides/ultimate-guide-to-guitar-scale-length/)
- 610mm: Fender Jaguar, Fender Mustang
- 622mm: Paul Reed Smith Santana Signature series
- 628mm: most Gibson and Epiphone models
- 635mm: most PRS, Carvin, and Danelectric models
- 648mm: most Fender, Ibanez, Jackson, Kramer, Schecter, Squier, and Steinberger models
- 673.2mm: most 7 string models by Ibanez, Jackson & Schecter
- 686 – 762mm: guitars in this range are called ‘baritone’ guitars. Also used by most 8 & 9 string guitars
- 863.6mm: standard bass guitars

Insert cell
viewof input = Inputs.form({
n_strings: Inputs.range([1,30], {label: "Number of strings", step: 1, value: 6}),
n_courses: Inputs.range([1, 30], {label: "Number of courses", step: 1, value: 6}),
scale_length: Inputs.range([1, 1000], {label: "Scale length (mm)", value: 635}),
playable_length: Inputs.range([1, 1000], {label: "Playable length of string (mm)"}),
n_frets: Inputs.range([0,30], {label: "Number of frets", value: 0})
})
Insert cell
// import fretboard and generate
Insert cell
// force fretboard ratios to supersede note ratios
Insert cell
// import courser and generate
Insert cell
// Bridget
// iterates Courser object into Stringer
Insert cell
// Viz
// roadmap: (1) render (2) highlight notes (3) add way to rotate
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more