We are currently working on new rules for what content should and shouldn't be allowed on this website, and are looking for feedback! See Esolang:2026 topicality proposal to view and give feedback on the current draft.

Guitar

From Esolang
Jump to navigation Jump to search

Guitar is a tape-based esoteric programming language created by User:Pineapple. It uses a memory grid modeled after a guitar neck with 20 frets and 6 strings.

Overview

Memory consists of 20 frets, each containing 6 strings (memory cells), totaling 120 cells. Programs begin execution at string 1 on fret 1. Cells do not wrap around if you try to move past the boundaries of the frets or strings.

By default, strumming adds a value of 1 to the current cell, but this step value can be modified using the tuning command.

All code must be enclosed between the starting and ending program markers.

Commands

Command Description
Start writing the song Required at the very beginning of the program.
Play the song Required at the end of the program to execute the code.
Next string Move to the next string (1 through 6).
Last string Move to the previous string.
Next frett Move down to the next fret (1 through 20).
Last frett Move up to the previous fret.
Strum string Add the current tuning value (default 1) to the active string cell.
Mute string Subtract 1 from the active string cell.
Tune Prompt user input and set that value as the new addition amount for Strum string.
Write music sheet Prints the ASCII character values of every string in order (strings 1 to 6 for each fret, moving from fret 1 to fret 20).

Memory layout

The grid is organized as 20 frets down and 6 strings across:

Fret 1

String 1 | String 2 | String 3 | String 4 | String 5 | String 6

...

Fret 20

String 1 | String 2 | String 3 | String 4 | String 5 | String 6

I/O

  • Input: Tune prompts the user for a numeric input to change the strum increment.
  • Output: Write music sheet outputs the ASCII values of all 120 cells sequentially.

Example programs

Simple increment and output

This example sets the first string to a value, tunes the strum step, and prints the music sheet:

Start writing the song
Strum string
Tune
Strum string
Write music sheet
Play the song

Computational class

To be determined.

External resources

  • No external resources yet.