COMPUTER-IMPLEMENTED METHOD AND SYSTEM FOR CONTEXT-BASED TABLATURE SCROLLING

The method addresses scrolling challenges in musical notation systems by using feature recognition and abstract syntax trees to adapt scrolling speed and position based on structural elements and tempo, enhancing precision and synchronization for musicians.

BR112025011889A2Pending Publication Date: 2026-07-07ULTIMATE GUITAR USA LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
BR112025011889
Authority / Receiving Office
BR · BR
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-12-12
Filing Date
2023-12-11
Publication Date
2026-07-07

AI Technical Summary

Technical Problem

Existing musical notation systems, particularly on portable electronic devices, face challenges with scrolling due to screen size limitations, varying text sizes, and inconsistent scrolling speeds, leading to inconvenience and imprecision in musical performance.

Method used

A computer-implemented method for context-based scrolling of tablature using feature recognition algorithms to determine structural elements, construct an abstract syntax tree, and calculate scrolling time periods based on display environment parameters and musical tempo, ensuring precise and synchronized scrolling.

Benefits of technology

Enables efficient, intuitive, and precise scrolling of tablature, adapting to screen size and tempo variations, providing a smoother and more synchronized scrolling experience for musicians.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

In general terms the present disclosure proposes computer-implemented method for context-based scrolling of tablature. The computer- implemented method comprises receiving, at computer, tablature from device at which tablature is stored or is generated, wherein computer comprises at least one processor, determining structure of tablature using at least one feature recognition algorithm, using at least one processor, determining one or more parameters of display environment, using at least one processor, building abstract syntax tree of tablature comprising an array of structural elements of tablature, using at least one processor, determining scrolling time period in which portion of the tablature that is displayed on given region of a viewport of display environment is to be replaced by a next portion of tablature, using at least one processor, and scrolling tablature according to at least abstract syntax tree of tablature and scrolling time period, in display environment, using the at least one processor.
Need to check novelty before this filing date? Find Prior Art

Description

30 COMPUTER-IMPLEMENTED METHOD AND SYSTEM FOR CONTEXT-BASED TABLATURE SCROLLING TECHNICAL FIELD OF THE INVENTION

[001] This disclosure relates to the field of displaying musical works in electronic format. In particular, but not exclusively, this disclosure relates to a computer-implemented method for context-based scrolling of a tablature; a system for context-based scrolling of a tablature; and a computer program product for context-based scrolling of a tablature. CONTEXT AND BACKGROUND OF THE INVENTION

[002] With advances in technology, the music industry has evolved daily. In this context, the process of creating and learning music is changing, with the evolution of various musical instruments and devices. Traditionally, when preparing a song, a musical composer used to prepare musical notation, such as tablature, by hand. Notably, various notation applications (software) have also been used to make the process of creating musical notation much easier and faster than the traditional practice of handwriting.

[003] Musicians used to carry handwritten musical notation while playing their instruments. However, such handwritten musical notation includes several pages that need to be turned while playing the instrument. Furthermore, there are various electronic devices for displaying musical notation. However, it is difficult to scroll (advance the reading, revealing previously hidden content) through these musical notations during musical performance. In addition, Petition 870250070783, dated 11 / 08 / 2025, page 13 / 51 / 30: There are some electronic devices used for the automatic scrolling of the corresponding electronic musical notations associated with this context. However, such electronic musical notations are inconvenient to view on a small-screen portable electronic device (such as mobile terminals, like cell phones), and it is still necessary to manually scroll and advance pages to be able to see the entire content of the musical notation.

[004] Typically, most pieces of musical notation do not fit on the screen of portable electronic devices. Therefore, having to scroll musical notation is inconvenient for a musician. Moreover, the sizes of these screens and the text or tablature that make up part of a musical composition are different. In addition, each part of the musical notation has a specific tempo, and this makes it impossible to determine a single speed at which the text should scroll. Additionally, there are some notation applications for scrolling existing musical notation in electronic format. Such notation applications include a marker that allows the musician to understand which part of the tablature is being played or sung, places the active line of the tablature in the same specific position on the screen, and highlights a word or part thereof that should be sung at that moment. However, such notation applications are not easy to use and fail to guarantee the desired precision.

[005] The purpose of this disclosure is to solve at least one of the problems mentioned above, or other similar problems associated with the state of the art. DESCRIPTION OF THE INVENTION

[006] A first aspect of the disclosure provides a computer-implemented method for context-based scrolling of a tablature, this Petition 870250070783, dated 11 / 08 / 2025, page 14 / 51 / 30 method comprising: the reception, by a computer, of a tablature originating from a device in which the tablature is stored or generated, this computer having at least one processor; the determination of a tablature structure using at least one feature recognition algorithm, using at least one processor, in which the tablature structure is indicative of the structural elements of the tablature; determination of one or more parameters of a display environment in which the tablature will be scrolled, using at least one processor; use of at least one processor to construct an abstract syntax tree of the tablature including a variety of structural elements of the tablature, based on the tablature structure and one or more parameters;The use of at least one processor to determine the scrolling time period in which the portion of the tablature being displayed in a given region of a viewing window should be replaced by the next portion of the tablature; and the use of this at least one processor to perform tablature scrolling according to at least the abstract syntax tree of the tablature and the scrolling time period in the display environment.

[007] Properly, the method allows for scrolling through the tablature, based on context, in an easier and more intuitive way. The fact that the method allows for efficient and precise scrolling of the tablature will be valued. Furthermore, the method ensures that the user will have the necessary part of the tablature being played in front of them. Advantageously, the method is robust, easy to use, and efficient in terms of time spent.

[008] In the present context, the term “tablature” refers to a digital form of musical notation that indicates a user's finger position on a physical musical instrument to generate the corresponding musical note. Optionally, the user may be a musician, an instrumentalist, a music learner, and so on. Optionally, the tablature may be Petition 870250070783, dated 11 / 08 / 2025, page 15 / 51 / 30 used to display a musical composition. Optionally, the tablature may include several staff lines composed of text lines and tablature lines. For example, a guitar tablature includes six staff lines, corresponding to the six strings of the guitar. The method comprises receiving the tablature on a computer from the device on which the tablature is stored. Optionally, the computer comprises at least one processor. In the present context, "computer" refers to a digital electronic machine that is programmed to automatically execute sequences of arithmetic or logical operations (computation). Optionally, the computer may be implemented as a computational arrangement of a portable or non-portable electronic device. Optionally, the portable electronic device may be a laptop, a cell phone, a tablet, a palmtop, and so on.Optionally, the non-portable device can be a laptop, a desktop, and so on. Properly, the method employs at least one processor to receive the tablature. The term "at least one processor," as used herein, refers to an application, program, or device that responds to requests for information or services from another application, program, process, or device (such as the external device) through a network interface. Optionally, the at least one processor also includes software that makes it possible to provide information or services.It will be valued that, optionally, the processor includes, among other possibilities, a microprocessor, a microcontroller, a complex instruction set computing (CISC) microprocessor, a reduced instruction set computer (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, or any other type of processing circuit.

[009] Optionally, the device may be operable to store tablature that was originally created by the user or another user. Optionally, the step of receiving the tablature on a computer will include downloading the tablature from the device. Furthermore, the tablature will be received, in Petition 870250070783, dated 11 / 08 / 2025, page 16 / 51 / 30 computer, from the device on which the tablature is generated. Optionally, the tablature can be generated and scrolled on the same device. Optionally, the device may be an external device such as a cloud server, a computer, a mobile phone, a data repository, an external storage device, and so on.

[010] The method comprises determining a tablature structure using at least one feature recognition algorithm, using at least one processor, in which the tablature structure is indicative of the tablature's structural elements. In the present context, the term "feature recognition algorithm" refers to a procedure used to compute tablature abstractions and make local decisions at each point in the tablature to determine whether a feature of a certain type exists at that point. In this context, the feature recognition algorithm determines the structural elements of a certain type at that point in the tablature structure. Optionally, the tablature structure includes structural elements such as tab blocks, individual staff lines, line breaks, chords, letters, and so on.In one example, the feature recognition algorithm is used to determine if the tablature structure includes chords. Optionally, the method employs the feature recognition algorithm to determine if the tablature structure includes lyrics. Optionally, the method employs the feature recognition algorithm to determine if the tablature structure includes a combination of lyrics and chords.

[011] The method involves determining one or more parameters of a display environment in which the tablature should be scrolled using at least one processor. In the present context, “display environment” refers to Petition 870250070783, dated 11 / 08 / 2025, page 17 / 51 / 30 a graphical user interface that can be viewed in full screen or can be reduced and repositioned on the screen of a display device. Optionally, the display environment may be a website, a dashboard, or other display space. Optionally, the display device may be a computing device, a desktop, a laptop computer, a portable electronic device, a television, a monitor, and the like. Optionally, the display device may support tablature generation. Appropriately, the method uses the display environment for viewing the scrolling of the tablature displayed therein. In this context, one or more parameters of the display environment are determined to identify a visual content area of ​​the tablature. Furthermore, the display environment comprises a viewing window.

[012] In some embodiments, one or more parameters of the display environment comprise one or more of the following elements: a viewing window size; a viewing window shape; a font size. In this context, the method allows the determination of the viewing window size in which the tablature will be scrolled. In this context, the viewing window size encompasses both a height and a width of the viewing window of the display environment. Optionally, the viewing window shape may be rectangular, square, elliptical, circular, and so on. Optionally, the viewing window size may be equal to the display environment size. Furthermore, the display environment includes an optimal font size to improve the readability of the tablature being scrolled within it. In this case, the method allows the determination of the font size of the display environment.Optionally, the display environment size may be larger than the viewport size, given that the display environment may have some regions where visual content is not being rendered. For example, when the display environment is a website, then the tablature may not fill the entire screen width. Optionally, the viewport size may change. Petition 870250070783, dated 11 / 08 / 2025, page 18 / 51 / 30 when the user resizes the display environment, such as a browser window. Optionally, when the display environment is a mobile application, then the tablature may take up the entire screen width. Optionally, the viewing height of the tablature may depend on the viewing window of the display environment. Optionally, the viewing height may also be reduced due to the control panel (at the bottom and top of the tablature).

[013] The method involves constructing an abstract syntax tree of the tablature including a variety of structural elements of the tablature, using at least one processor and based on the structure of the tablature and one or more parameters. In this context, the term "abstract syntax tree" refers to a data structure written in a formal language to represent the abstract syntactic structure of a text (such as source code). Advantageously, the method allows the construction of an abstract syntax tree that represents a restructuring of the tablature, which is optimized according to one or more parameters of the display environment. For example, two rows of staff lines in the tablature could be divided into four equal segments of staff lines for display on a display device such as a mobile phone. In this example, the length of the segments would be half the length of the rows of staff lines.In this context, the restructuring indicated in the abstract syntax tree can be effectively used for the correct visualization and precise scrolling of the tablature in the display environment. Optionally, the tablature can be presented in a format such as described below: Petition 870250070783, dated 11 / 08 / 2025, page 19 / 51 / 30 { tab: [ text: ['chord' | | 'string'], text: ['chord' | | 'string'] ],}

[014] As shown above, the tablature is divided into a set of structural tablature elements, so that the structural elements can be precisely adjusted in width in the display environment. It will be valued that the set of structural elements allows the precise identification of the structural elements of the tablature for the construction of the abstract syntax tree.

[015] The method comprises determining a time period in which a portion of the tablature being displayed in a given region of the display environment's viewing window should be replaced by the next portion of the tablature, using at least one processor. In the present context, each portion of the tablature includes different structural elements. For example, each portion of the tablature may include different sets of tablature lines. In the present context, the term "viewing window" refers to a visual area of ​​the display environment as it is displayed on the display device. Optionally, the viewing window may be designed in a responsive and user-friendly manner to ensure improved and efficient display of the portion of the tablature. In the present context, the term "given region" refers to a section of the viewing window in which the portion of the tablature is being displayed.In the present context, the term "rolling time period" refers to the time during which a given structural element... Petition 870250070783, dated 11 / 08 / 2025, page 20 / 51 / 30 specific, or part of the tablature, is fixed in the center of the display environment's viewing window. In this context, the scrolling time period indicates the duration of time in which the tablature part should be replaced by the next tablature part. In this context, at least one processor is used to identify the structural elements of the tablature and then, based on the identified structural elements, the scrolling time period is determined.

[016] The method comprises scrolling the tablature according to at least the abstract syntax tree of the tablature and the scrolling time period, in the display environment, using at least one processor. In this context, scrolling the tablature includes moving the tablature in the display environment. Optionally, the tablature may be scrolled up or down, so that the part of the tablature in the specified region of the display environment's viewing window can be viewed. Optionally, the scrolling may be a vertical scrolling of the tablature. For example, during vertical scrolling, the top part of the tablature is displayed before the bottom part of the tablature.

[017] In some embodiments, tablature represents chords and frets of a musical instrument, and in which the structure of the tablature is indicative of at least staff lines and line breaks in the staff lines in the tablature, and in which the abstract syntax tree indicates: two or more segments of staff lines; a starting position, and; an ending position for each segment of staff lines. Optionally, the musical instrument may be a fretted string instrument, such as a guitar, a lute, a viola (vihuela), a bass, a ukulele, a violin, and so on. Optionally, the musical instrument may be a fretless instrument, such as a drum, a harmonica, and so on. In addition, the musical instrument contains one or more strings. Optionally, "string" refers to a vibrating element. Petition 870250070783, dated 11 / 08 / 2025, p. 21 / 51 / 30, which is used to produce a sound in musical instruments. Optionally, the strings are manufactured using a flexible material to support them under tension, thus allowing controllable vibration. Optionally, the flexible material can be an alloy (such as steel), a synthetic polymer (such as nylon), and so on. In addition, the musical instrument comprises one or more frets. Optionally, "frets" refers to thin strips of material, usually metal wires, inserted laterally at specific positions along a neck or scale of the musical instrument. Optionally, the frets can be used to obtain a desired musical note.

[018] In this context, tablature for plucked string instruments is based on a diagrammatic representation of the chords and frets of the musical instrument. In this context, the structure of the tablature includes a [tab] [ / tab] block which includes staff lines and line breaks in the middle of this block. The staff lines are represented as horizontal lines in the tablature. Optionally, each horizontal staff line represents the chord of the musical instrument. For example, the tablature for the four-chord bass has four staff lines. Optionally, the topmost staff line in the tablature represents a higher-pitched chord on the musical instrument. Optionally, the bottommost staff line in the tablature represents a lower-pitched chord on the musical instrument. Optionally, the staff lines may alternatively be numbered from 1 to 6, representing standard chord numbering, where “1” is the highest chord E; “2” is the note B, and so on.Furthermore, the tablature structure represents the frets. In this context, the frets are represented by numbers written on the staff lines. For example, a number 3 written on the staff indicates that the musician should press the third fret on the high E (first chord). In another example, a number 0 denotes the "nut," or "barre," that is, an open chord. Additionally, the tablature structure includes line breaks on the staff lines. Optionally, line breaks are indicated by notations on the staff lines. Optionally, the line break can represent the end. Petition 870250070783, dated 11 / 08 / 2025, page 22 / 51 / 30 of the staff line. Optionally, the line break may represent the end of the entire tablature. Optionally, the position of the line breaks may follow a logical pattern to preserve the marking while scrolling the tablature. Optionally, the construction of the line break (represented as -|-) should be moved with the line break (represented as -|) on one staff line and the line break (represented as |-) on the other staff line. Optionally, a line break position may depend on the number of characters on a staff line, to ensure that the tablature content will be within the content area. Optionally, this parameter will be calculated based on the display environment size and the font size of the text in the tablature.

[019] In some embodiments, the step of determining the scrolling time period comprises: selecting a first execution speed coefficient; determining a first scrolling coefficient for the two or more line segments in the abstract syntax tree; and calculating the scrolling time period as the product of the first execution speed coefficient and the first scrolling coefficient.

[020] In the present context, the term “execution speed coefficient” refers to the speed at which the tablature, meaning at least staff lines and line breaks, is scrolled in the display environment. In this context, the method allows the selection of the first execution speed coefficient based on the structure of the tablature. In some embodiments, the first execution speed coefficient is in a range of 0.1 to 1.5. Optionally, the execution speed coefficient is in a range of 0.1 to 0.5; or 0.1 to 1.0; or 0.1 to 1.5; or 0.5 to 1.0; or 0.5 to 1.5; as well as 1.0 to 1.5. Emphasis will be placed on the fact that the aforementioned range allows for efficient scrolling and display of the tablature in the display environment. Petition 870250070783, dated 11 / 08 / 2025, page 23 / 51 / 30

[021] In the present context, the term “first scroll coefficient” refers to the total time required to scroll the tablature at a corresponding first execution speed coefficient. Optionally, the method identifies the structural elements of the tablature to determine the first scroll coefficient. The method identifies that the tablature is indicative of two or more staff line segments in the abstract syntax tree. In some embodiments, the first scroll coefficient depends on a number of beats per minute of the tablature portion being displayed in the specified region of the display environment's viewing window, a number of measures in the tablature, and a measure multiplier. In this context, the number of beats per minute of the displayed portion (which should be scrolled) is taken into account when determining the scroll coefficient and the scroll time period for that portion.In this case, different parts of the tablature may have different numbers of beats per minute. Therefore, for each part of the tablature, the first roll coefficient will be different, and therefore the roll time period is different. Furthermore, different parts of the tablature may have the same number of beats per minute. In this case, the first roll coefficient and the roll time period would be the same for the different parts of the tablature.

[022] Optionally, the number of beats per minute in the tablature will be different for different parts of the tablature. Optionally, in this context, a value for the first roll coefficient would be different for different segments of staff lines. In other words, the value of the first roll coefficient is not a constant. Optionally, a value for the first roll coefficient for a given segment of staff lines may depend on the number of beats per minute of the tablature part that corresponds to that given segment of staff lines. Alternatively and optionally, the number of beats per minute in the tablature may be constant. Optionally, the first roll coefficient may be a pre-specified value in the tablature. Optionally, the first roll coefficient may be a value Petition 870250070783, dated 11 / 08 / 2025, page 24 / 51 / 30 standard, an average value of different beats per minute of different parts of the tablature, or similar. In the present context, the term "measure multiplier" refers to a specific section of the tablature that needs to be rolled several times. Optionally, each part of the tablature may include a certain number of beats. Optionally, the number of beats will be 128 BPM (beats per minute). In this context, the method allows the calculation of the rolling time period of two or more segments of staff lines. Furthermore, the rolling time period is a product of the first speed of execution coefficient and the first rolling coefficient.

[023] In some embodiments, tablature represents text sequences (text-strings), in which the tablature structure is indicative of text (song lyrics) and / or chords, and in which the abstract syntax tree indicates at least one of the following elements: two or more lines of text (song lyrics); two or more lines of chords; and a start position and an end position for each line of text (song lyrics) and / or each line of chords. In this context, the method uses at least one feature recognition algorithm to determine that the tablature structure is indicative of text sequences. Optionally, the tablature structure is indicative of song lyrics, so that the tablature can be easily followed. In the present context, the term “chords” refers to a harmonic set of pitches or frequencies consisting of several notes that are heard as if they were sounding simultaneously.Optionally, the tablature includes various types of chord names, such as C, E, G, A minor (Am), and so on, to represent the chords. Optionally, the tablature includes symbols or ciphers in different contexts to represent the chords. Optionally, the ciphers may be indicated as a do or a + for diminished or augmented chords, respectively. Optionally, when the tablature includes text sequences, then the tablature structure will be indicative of song lyrics and chords. Optionally, when the tablature... Petition 870250070783, dated 11 / 08 / 2025, page 25 / 51 / 30, includes text sequences, so the tablature structure will be indicative of the song's chords. Optionally, the method allows the construction of an abstract syntax tree that indicates two or more lines of lyrics along the corresponding chords. Optionally, the method allows the construction of an abstract syntax tree that indicates two or more lines of chords. Optionally, the method allows the construction of an abstract syntax tree that indicates a start position and an end position for each line of lyrics and / or each line of chords.

[024] In some embodiments, the step of determining the scrolling time period comprises: selecting a second execution speed coefficient; determining a second scrolling coefficient for at least one of the following elements; the two or more lines of text (song lyrics); the two or more lines of chords in the abstract syntax tree; and calculating the scrolling time period as the product of the second execution speed coefficient and the second scrolling coefficient.

[025] In the present context, the term “second speed coefficient” refers to the speed at which the tablature, which indicates sequences of text, is scrolled in the display environment. In this context, the method allows the selection of the first speed coefficient based on the lines of lyrics and chord lines. In some embodiments, the second speed coefficient is in a range of 0.1 to 1.5. Optionally, the second speed coefficient is in a range between 0.1 to 0.5; or 0.1 to 1.0; or 0.1 to 1.5; or 0.5 to 1.0; or 0.5 to 1.5, as well as 1.0 to 1.5. In the present context, the term "second scrolling coefficient" refers to the total time required to scroll through two or more lines of lyrics and two or more lines of chords at a corresponding second scrolling speed coefficient of the tablature. Petition 870250070783, dated 11 / 08 / 2025, p. 26 / 51 / 30

[026] In some embodiments, when the tablature structure is indicative of lyrics and chords, the second scrolling coefficient will depend on a line length of the two or more lines of lyrics and a number of beats per minute of the tablature portion displayed in the specified region of the display environment's viewing window. In this context, the line length (text sequence) of the two or more lines of lyrics may be calculated by determining a language in which the two or more lines of lyrics are written. Optionally, the text sequence length will be calculated in characters without spaces. Optionally, the number of beats per minute may be calculated using the tablature's fingering pattern.It will be valued that when the tablature structure indicates both lyrics and chords, the second scroll coefficient will be dynamically adjusted based on a combination of the length of the lyrics lines and the number of beats per minute of the part (such as a musical piece) being displayed. This ensures that the scrolling adapts to the tablature content, providing a synchronized and contextually relevant display.

[027] In some embodiments, when the tablature structure is indicative of chords, the second scroll coefficient will depend on a time duration associated with each chord and a number of beats per minute of the tablature. In this context, the number of beats per minute may also be calculated from the fingering pattern of the tablature. Furthermore, the step of determining the scroll time period involves multiplying the second execution speed coefficient and the second scroll coefficient to obtain a product of these. Optionally, the scroll time period indicates the time duration in which at least one of the following elements: a line of text (song lyrics) or a line of chords, both displayed in the specified region of the device's display window. Petition 870250070783, dated 11 / 08 / 2025, page 27 / 51 / 30 of display, must be replaced by at least one of the following elements: a subsequent line of text (song lyrics) or a subsequent line of chords, respectively. Optionally, the scrolling time of the tablature representing the song lyrics and chords will be different from the scrolling time of the tablature representing the staff lines and line breaks.

[028] In some embodiments, tablature represents textual information, and in which scrolling through the tablature involves fixing the position of the textual information in a specific region of the viewing window. In the present context, the term “textual information” refers to lines / sequences containing text that do not represent any musical notation. Optionally, the textual information may be the name of a song. Optionally, the textual information may be the name of an artist, a musical composer, and so on. It will be valued that this textual information is useful when the song has been recorded by several artists. Optionally, the textual information may be the name of a musical instrument. Optionally, the textual information may be the title of the tablature. Optionally, the textual information may be information about a style or genre of music.It will be valued that this textual information will be used to understand how the song should be played. In this context, the position of the textual information is fixed in a specific region of the viewing window, and therefore, the scrolling time for the tablature representing the textual information is zero.

[029] In some embodiments, the tablature scrolling step is implemented from one of the following elements: tablature visualization in the viewing window; start of execution of a video tutorial corresponding to the tablature, receiving an input from the display environment. Petition 870250070783, dated 11 / 08 / 2025, page 28 / 51 / 30

[030] In this context, the method allows tablature scrolling when the tablature is requested to be displayed in the display environment's viewing window. For example, the method allows tablature scrolling when the user requests a precise view of the tablature in the display environment's viewing window. Optionally, the method allows tablature scrolling when the corresponding video tutorial is requested to start playing. Optionally, the method allows tablature scrolling when the display environment receives input through a user interface element of the display environment. Optionally, the input can be a start button or a play button in the display environment. Optionally, only one of the above-mentioned cases may be feasible in certain situations.

[031] In some embodiments, the method also comprises receiving, on the computer, a recording of live music being performed according to the tablature; analyzing the live recording to determine a tempo scheme of the live recording; generating a tempo model based on a comparison between the results of the analysis of the live recording and the musical content in the tablature; and performing a tempo estimate of the tablature portion displayed in a given region of the viewing window, based on the tempo model and an estimated tempo of a preceding tablature portion that has already been displayed in that region; wherein the determination of the scrolling time period is based on the tempo estimate of the tablature portion being displayed in a given region of the viewing window.

[032] In this context, the method also includes receiving a recording of music being played live based on tablature, via computer. Optionally, the live recording may reflect the actual performance of the music, with its tempo variations. For example, a musician tends to slow down or Petition 870250070783, dated 11 / 08 / 2025, page 29 / 51 / 30, increase the speed of execution to create suspense or other sensations during the performance, thus causing a variation in tempo. In the present context, the term "tempo scheme" refers to a pattern of tempo variation during the course of the live recording. Optionally, the method also includes the analysis or determination of how the actual number of beats per minute varies throughout the live recording. Optionally, the tempo model is generated by comparing the results of analysis of the live recording with the musical content in the tablature. The tempo model serves as a reference for the expected tempo variations. Optionally, the time markings in the tablature would serve as a baseline or as an intended tempo for the different parts of the tablature.It will be appreciated that comparison is used to identify any deviations (in the tempo scheme) from the intended tempo markings. Optionally, to estimate the tempo, the music being played (e.g., chords, individual notes) is compared with a tablature-derived representation. In this context, the analysis results refer to the recorded music and the tablature-derived characteristics or the musical content within the tablature.

[033] Optionally, the method also includes estimating the tempo of the tablature section displayed in a given region of the viewing window. The estimate is based on the generated tempo model and the estimated tempo of the preceding tablature section that was previously displayed in that region. For example: when it is observed in the tempo model that, for tablature sections that should be played with a gradual decrease in speed (as indicated in the tempo markings), the music will actually be played with an abrupt decrease in speed. In another example, an estimated tempo for a displayed section that corresponds to a gradual decrease in tempo (and should be scrolled) may be slightly higher than a typical tempo corresponding to a decrease. Petition 870250070783, dated 11 / 08 / 2025, page 30 / 51 / 30 gradual progress. Optionally, the step for determining the scrolling time period will be based on the estimated progress of the tablature portion being displayed in the specified region of the viewing window. This is because the estimated progress impacts a given scrolling coefficient that is being used to determine the scrolling time period.

[034] In the present context, the method provides a technical effect of a more dynamic and precise adaptation of the scrolling speed in response to the musician's live performance. In this context, through analysis of the live recording and generation of the tempo model, the method gathers information on how the musician deviates from the intended time markings. This information is then used to estimate the tempo for the displayed part, influencing the scrolling time period. Beneficially, the method is more responsive and context-sensitive, providing a smoother and more synchronized scrolling experience for the user.

[035] A second aspect of the disclosure provides a system for context-based scrolling of a tablature, this system comprising: at least one processor configured to: receive the tablature from a device on which tablature is stored or generated; determine a structure of the tablature using at least one feature recognition algorithm, in which the structure of the tablature is indicative of the structural elements of the tablature; determine one or more parameters of the display environment in which the tablature will be scrolled; construct an abstract syntax tree of the tablature including a variety of structural elements of the tablature, based on the structure of the tablature and one or more parameters; determine the scrolling time period in which the portion of the tablature being displayed in a given region of a viewing window should be replaced by the next portion of the tablature; and scroll the Petition 870250070783, dated 11 / 08 / 2025, page 31 / 51 / 30 tablature in accordance with at least the abstract syntax tree of the tablature and the scrolling time period, in the display environment.

[036] Properly speaking, the system comprises at least one processor. The term “at least one processor,” as used herein, refers to an application, program, or device that responds to requests for information or services from another application, program, process, or device (such as the external device) through a network interface. Optionally, the at least one processor may be on the user device. Optionally, the at least one processor may be external to the user device. Optionally, the at least one processor may also include software that makes it possible to provide information or services. Optionally, it may be evident that the communication medium of the external device may be compatible with a communication medium of the at least one processor, to facilitate communication between them.It will be valued that, optionally, the processor includes, among other possibilities, a microprocessor, a microcontroller, a complex instruction set computing (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, or any other type of processing circuit. Optionally, the term "processor" may refer to one or more individual processors, individual processing devices, and various individual elements associated with the system. Optionally, the one or more individual processors, individual processing devices, and individual elements may be arranged in various architectures to respond to and process the instructions that drive the system.

[037] In some embodiments, tablature represents the strings and frets of a musical instrument, and in which the structure of the tablature is indicative of at least staff lines and line breaks in the staff lines in the tablature, and in Petition 870250070783, dated 11 / 08 / 2025, page 32 / 51 / 30 which the abstract syntax tree indicates: two or more segments of staff lines, and a start position and an end position for each segment of the staff lines.

[038] In some embodiments, when determining the scrolling time period, at least one processor will be configured to: select a first execution speed coefficient; determine a first scrolling coefficient for the two or more line segments in the abstract syntax tree; and calculate the scrolling time period as the product of the first execution speed coefficient and the first scrolling coefficient.

[039] In some embodiments, tablature represents text sequences (text-strings), in which the tablature structure is indicative of text (song lyrics) and / or chords, and in which the abstract syntax tree indicates at least one of the following elements: two or more lines of text (song lyrics); two or more lines of chords; and a start position and an end position for each line of text (song lyrics) and / or each line of chords.

[040] In some embodiments, when determining the scrolling time period, at least one processor will be configured to: select a second execution speed coefficient; determine a second coefficient for at least one of the following elements: the two or more lines of text (song lyrics) or the two or more lines of chords in the abstract syntax tree; and calculate the scrolling time period as the product of the second execution speed coefficient and the second scrolling coefficient. Petition 870250070783, dated 11 / 08 / 2025, page 33 / 51 / 30

[041] In some embodiments, at least one processor will also be configured to: receive a live music recording being performed according to the tablature; analyze the live recording to determine a tempo scheme of the live recording; generate a tempo model based on a comparison between the results of the analysis of the live recording and the musical content in the tablature; and perform a tempo estimate of the tablature portion displayed in a given region of the viewing window, based on the tempo model and an estimated tempo of a preceding tablature portion that has been previously displayed in that region; in which the determination of the scrolling time period is based on the tempo estimate of the tablature portion being displayed in a given region of the viewing window.

[042] A third aspect of disclosure provides a computer program product comprising a non-transient, machine-readable data storage medium embedded with program instructions that, when executed by a processor, cause the processor to: receive a tablature from a device on which the tablature is stored or generated; determine a structure of the tablature using at least one feature recognition algorithm, in which the structure of the tablature is indicative of the structural elements of the tablature; determine one or more parameters of a display environment in which the tablature will be scrolled; construct an abstract syntax tree of the tablature including a variety of structural elements of the tablature, based on the structure of the tablature and one or more parameters;Determine the scrolling time period in which the portion of the tablature being displayed in a given region of a display window should be replaced by the next portion of the tablature; and scroll the tablature according to at least the abstract syntax tree of the tablature and the scrolling time period in the display environment. Petition 870250070783, dated 11 / 08 / 2025, page 34 / 51 / 30

[043] Optionally, the computer program product may be implemented as an algorithm, embedded in software stored on non-transient, machine-readable data storage media. Non-transient, machine-readable data storage media include, among other possibilities, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. Examples of machine-readable media implementations include, among other possibilities, Electrically Erasable Programmable Read-Only Memory (EEPROM), Random Access Memory (RA).M), Read Only Memory (ROM), Hard Disk Drive (HDD), Flash memory, a Secure Digital (SD) card, a Solid-State Drive (SSD), a computer-readable storage medium, and / or a CPU cache memory.

[044] Throughout this descriptive report and the claims of this specification, the words “comprises” and “contains” and their variations, for example “include” and “includes,” mean “include, among others,” and do not exclude other components, parts, or steps. Furthermore, the singular includes the plural, unless the context dictates otherwise; in particular, when the indefinite article is used, the specification should be understood as encompassing both the plural and the singular, unless the context dictates otherwise.

[045] Preferred features of each aspect of this disclosure may be described in connection with any of its other aspects. Within the scope of this application, it is expressly intended that the various aspects, embodiments / executions, examples and alternatives described in the preceding paragraphs, in the claims and / or in the following description and drawings, and, in Petition 870250070783, dated 11 / 08 / 2025, p. 35 / 51 / 30 in particular, their respective particular functionalities, may be taken independently or in any combination. That is, all embodiments / executions or functionalities of any embodiments / executions may be combined in any manner and / or combination, except if such functionalities are incompatible. BRIEF DESCRIPTION OF THE DRAWINGS

[046] One or more embodiments of the disclosure will now be described, by way of example only, with reference to the accompanying drawings, in which: FIGURE 1 is a flowchart depicting the steps of a computer-implemented method for context-based scrolling of a tablature, according to an embodiment of the present disclosure; FIGURES 2A, 2B and 2C illustrate views of a tablature structure, according to different embodiments of the present disclosure; FIGURES 3A and 3B illustrate views of scrolling a tablature on a display device, according to another embodiment of the present disclosure; FIGURE 4 illustrates a schematic illustration of a plurality of strings and frets of a musical instrument, according to an embodiment of the present disclosure;Figures 5A and 5B illustrate views of the construction of an abstract syntax tree of a tablature, based on the structure of the tablature and one or more parameters of a display device, according to another embodiment of the present disclosure; Figure 6 illustrates a flowchart of an abstract syntax tree of a tablature, according to an embodiment of the present disclosure; Figure 7 illustrates a block diagram of a context-based scrolling system for a tablature, according to an embodiment of the present disclosure; and Figure 8 is a flowchart depicting steps of how the scrolling time period is determined in the case of a variable tempo, according to an embodiment of the present disclosure. Petition 870250070783, dated 11 / 08 / 2025, page 36 / 51 / 30 DETAILED DESCRIPTION OF THE DRAWINGS

[047] With regard to FIGURE 1, a flowchart is illustrated depicting steps of a computer-implemented method for context-based scrolling of a tablature, according to an embodiment of the present disclosure. In step 102, the tablature is received into a computer from a device on which the tablature is stored or has been generated, in which the computer comprises at least one processor. In step 104, a tablature structure is determined using at least one feature recognition algorithm, using at least one processor, in which the tablature structure is indicative of the tablature's structural elements. In step 106, one or more parameters of a display environment in which the tablature is to be scrolled are determined using at least one processor.In step 108, an abstract syntax tree of the tablature comprising a variety and set of structural elements of the tablature is constructed, based on the structure of the tablature and one or more parameters. In step 110, a scrolling time period is determined using at least one processor, in which a portion of the tablature displayed in a given region of the viewing window of the viewing environment should be replaced by the next portion of the tablature. In step 112, the tablature is scrolled according to at least the abstract syntax tree of the tablature and the scrolling time period, in the display environment, using at least one processor.

[048] The steps mentioned above are merely illustrative and other alternatives may also be provided, in which one or more steps are added, one or more steps are removed, or one or more steps are indicated in a different sequence, all without departing from the scope of the claims in this document. Petition 870250070783, dated 11 / 08 / 2025, page 37 / 51 / 30

[049] With regard to FIGURES 2A, 2B and 2C, views of a tablature 200 structure are illustrated, according to different embodiments of the present disclosure. As shown in FIGURE 2A, the tablature 200 structure includes a first set of staff lines and a second set of staff lines. Furthermore, the tablature structure includes one or more tablature blocks (represented as notations [tab] and [ / tab]), such as 202A and 202B. As shown, each of the first sets of staff lines and a second set of staff lines comprises one or more staff lines, such as 204A, 204B, 204C, 204D, 204E and 204F, which represent one or more strings on a musical instrument (not shown). Furthermore, each of the first sets of staff lines and a second set of staff lines include one or more line breaks (represented by notation) in the staff lines such as 204A, 204B, 204C, 204D, 204E, and 204F.The structure of tablature 200 is also indicative of frets, as is the case with 208. As shown, staff line 204E with fret number 208 (represented as 3) indicates that a musician should place their third finger on a second string of the musical instrument. As shown in FIGURES 2B and 2C, the tablature structure includes one or more chord blocks (represented between the notations [ch] and [ / ch]). As shown, the structure of tablature 200 is indicative of song lyrics 210 and chords (represented as C, G, A minor, E minor, and F, within the scope of one or more chord blocks) 212 of a song.

[050] FIGURES 2A, 2B and 2C are merely examples, which should not unduly limit the scope of the claims in this document. A person skilled in the art will recognize various variations, alternatives and modifications of embodiments of the present disclosure.

[051] With regard to FIGURES 3A and 3B, views of a vertical scrolling of a tablature on a display device 300 are illustrated, according to another Petition 870250070783, dated 11 / 08 / 2025, page 38 / 51 / 30 implementation of this disclosure. As shown, the display device 300 includes a viewing window 302. In this context, the format of the viewing window 302 is rectangular. The viewing window 302 includes a first region 304, a second region 306, and a third region 308. The first region 304 is representing textual information 310. The second region 306 is representing a part 312 of the tablature. The third region 308 is representing a subsequent portion 314 of the tablature. As shown in FIGURE 3A, at time t1, the part 312 of the tablature being displayed in the second region 306 of the viewing window 302 should be replaced by the next part 314 of the tablature. As shown in FIGURE 3B, at time t2, the first region 304 remains intact in the viewing window 302, given that it is displaying the textual information 310.Viewing window 302 is also displaying the third region 308. FIGURES 3A and 3B are merely examples, which should not unduly limit the scope of the claims in this document. A person skilled in the art will recognize various variations, alternatives, and modifications of embodiments of the present disclosure.

[052] Referring to FIGURE 4, a schematic illustration of a musical instrument 400 being played by a user 402 is shown, according to an embodiment of the present disclosure. As shown, musical instrument 400 is a stringed instrument. Musical instrument 400 has six strings, such as 404A, 404B, 404C, 404D, 404E and 404F. Furthermore, musical instrument 400 has a plurality of frets (represented by the numerals 1, 2 and 3). As shown, the plurality of frets indicates a position of the user 402's fingers on the corresponding strings, such as 404A, 404B, 404C, 404D, 404E and 404F.

[053] FIGURE 4 is a mere example, which should not unduly limit the scope of the claims in this document. A person skilled in the art will Petition 870250070783, dated 11 / 08 / 2025, p. 39 / 51 / 30 acknowledge various variations, alternatives and modifications of the implementations of this disclosure.

[054] FIGURES 5A and 5B illustrate a restructuring of tablature 500 in a display environment 502 using an abstract syntax tree, according to an embodiment of the present disclosure. As shown in FIGURE 5A, tablature 500 is indicative of a first staff line 500A and a second staff line 500B. As shown in FIGURE 5B, tablature 500 is restructured using the abstract syntax tree so that it can be displayed in a display environment 502 of the display device 504. The display device 504 is a mobile phone. In this context, the first staff line 500A is divided into two equal staff line segments, such as 506A and 506B, for display in display environment 502 of display device 504. Similarly, the second staff line 500B is divided into two equal staff line segments, such as 508A and 508B, for display in display environment 502 of display device 504.Furthermore, the length of the segments is half the length of the 500A and 500B staff lines.

[055] FIGURES 5A and 5B are merely examples and should not unduly limit the scope of the claims in this document. A person skilled in the art will recognize various variations, alternatives and modifications of embodiments of the present disclosure.

[056] FIGURE 6 illustrates a diagram representing an abstract syntax tree 600 of a tablature, according to an embodiment of the present disclosure. As shown, the abstract syntax tree 600 is constructed by calculating a font size and a number of characters that can fit on a staff line of the tablature. Furthermore, in the syntax tree Petition 870250070783, dated 11 / 08 / 2025, page 40 / 51 / 30 abstract 600, each line with musical lyrics and chords is divided into several lines to fit the line length. It will be valued that this restructuring of the tablature ensures that the words of the musical lyrics will not be transferred partially, and also if there is a word over which there is a chord, then they will always be transferred together. Furthermore, in the abstract 600 syntactic tree of the tablature, each staff line and line breaks in the staff lines in the tablature are transferred taking into account the line breaks, as well as significant characters in the staff lines that indicate the chord and a corresponding measure to make the fixation.

[057] FIGURE 7 illustrates a block diagram of a 700 system for context-based scrolling of a tablature, according to an embodiment of the present disclosure. The 700 system comprises at least one 702 processor (implemented here as a 702 processor).Processor 702 is configured to receive the tablature from a device (not shown) where the tablature is stored or generated, determine a structure of the tablature using at least one feature recognition algorithm, determine one or more parameters of a display environment 704 in which the tablature should be scrolled, construct an abstract syntax tree comprising a variety of structural elements of the tablature, determine a scrolling time period in which a portion of the tablature displayed in a given region of a display window of the display environment 704 should be replaced by a subsequent portion of the tablature, and scroll the tablature according to at least the abstract syntax tree of the tablature and scrolling time period in the display environment.

[058] Referring to FIGURE 8, a flowchart is illustrated depicting the steps of how the scrolling time period is determined in the case of a variable tempo, according to an embodiment of the present disclosure. In step 802, a live recording of music being played according to the tablature is shown. Petition 870250070783, dated 11 / 08 / 2025, page 41 / 51 / 30, is received on the computer. In step 804, the live recording is analyzed to determine a tempo scheme for the live recording (this can be done, for example, using an algorithm with feature extraction algorithm functionality - to translate the live recording into a format that can be compared, in real time, to musical features derived from the tablature). In step 806, a tempo model is generated, based on a comparison between the features extracted from the live recording and features extracted from the tablature (which may have been determined according to step 104, for example).In step 808, the progress of the tablature portion being displayed in the specified region of the display window is estimated, based on the progress model and the estimated progress of the previous tablature portion that was previously displayed in the specified region, where the step for determining the scrolling time period is based on the estimated progress of the tablature portion displayed in the specified region of the display window.

[059] The steps mentioned above are merely illustrative and other alternatives may also be provided, in which one or more steps are added, one or more steps are removed, or one or more steps are indicated in a different sequence, all without departing from the scope of the claims in this document. Petition 870250070783, dated 11 / 08 / 2025, pages 42 / 51

Claims

1 / 6 CLAIMS 1. A computer-implemented method for context-based scrolling of a tablature, wherein this method is characterized by a computer receiving a tablature from a device in which the tablature is stored or generated, this computer having at least one processor; by determining the structure of the tablature using at least one feature recognition algorithm, this algorithm using at least one processor in which the structure of the tablature is indicative of the structural elements of the tablature; using at least one processor to determine one or more parameters of the display environment in which the tablature will be scrolled; using at least one processor to construct an abstract syntax tree of the tablature including a variety of structural elements of the tablature, based on the structure of the tablature and one or more parameters;The use of at least one processor to determine the scrolling time period in which the portion of the tablature being displayed in a given region of a viewing window should be replaced by the next portion of the tablature; and the use of this at least one processor to perform tablature scrolling according to at least the abstract syntax tree of the tablature and the scrolling time period in the display environment.

2. A computer-implemented method according to claim 1, characterized in that the tablature represents the strings and frets of a musical instrument, and in which the structure of the tablature is indicative of at least staff lines and line breaks in the staff lines in the tablature, and in which the abstract syntax tree indicates two or more staff line segments, and a start position and an end position for each staff line segment. Petition 870250048857, dated 11 / 06 / 2025, p. 8 / 29 2 / 6 3. A computer-implemented method according to claim 2, characterized in that the step for determining the scrolling time period comprises selecting a first execution speed coefficient; determining a first scrolling coefficient for two or more line segments in the abstract syntax tree; and calculating the scrolling time period as the product of the first execution speed coefficient and the first scrolling coefficient.

4. A computer-implemented method according to claim 3, characterized in that the first scroll coefficient lies in a range of 0.1 to 1.

5.

5. A computer-implemented method according to claim 3 or 4, characterized in that the first scrolling coefficient depends on a number of beats per minute of the tablature portion displayed in a given region of the display environment's viewing window; a number of measures in the tablature; and a measure multiplier.

6. A computer-implemented method according to claim 1, characterized in that the tablature represents text strings, and in which the tablature structure is indicative of text and / or chords, and in which the abstract syntax tree indicates at least one of the following elements: two or more lines of text; two or more lines of chords; and a start position and an end position for each line of text and / or each line of chords.

7. A computer-implemented method according to claim 6, characterized in that the step for determining the scrolling time period comprises selecting a second execution speed coefficient; determining a second coefficient for at least one of the following elements: two or more lines of text; two or more lines of chords in the abstract syntax tree; and the calculation of the scrolling time period being the product of the second execution speed coefficient and the second scrolling coefficient.

8. A computer-implemented method according to claim 7, characterized in that the tablature structure is indicative of the text and chords; the second scrolling coefficient depends on a chord duration of the two or more lines of text and a number of beats per minute of the tablature portion that is displayed in a given region of the display environment's viewing window.

9. A computer-implemented method according to claim 7, characterized in that the tablature structure is indicative of the chords; the second scrolling coefficient depends on a time duration associated with each chord and a number of beats per minute of the tablature.

10. A computer-implemented method according to any one of claims 7, 8 or 9, characterized in that the second execution speed coefficient lies in a range of 0.1 to 1.

5.

11. A computer-implemented method according to claim 1, characterized in that the tablature represents textual information; and in that the scrolling step of the tablature comprises fixing a position of the textual information in a given region of the viewing window.

12. A computer-implemented method, according to any of the preceding claims, characterized by receiving, in a computer, a recording of live music being performed according to tablature; analyzing the live recording to determine a tempo scheme of the live recording; generating a tempo model, based on a comparison between the results of the analysis of the live recording and the musical content in the tablature; and estimating the tempo of the tablature portion being displayed in a given region of the viewing window, based on the tempo model and the estimated tempo of a preceding tablature portion that has already been displayed in a given region; the step of determining the scrolling time period being based on the estimated tempo of the tablature portion displayed in a given region of the viewing window.

13. A computer-implemented method, according to any of the preceding claims, characterized in that the tablature scrolling step is implemented from one of the following elements: displaying the tablature in the viewing window; initiating the execution of a video tutorial corresponding to the tablature, receiving an input from the display environment.

14. A computer-implemented method, according to any of the preceding claims, characterized in that one or more parameters of the display environment comprise one or more of the following elements: the size of the viewing window; the format of the viewing window; a font size.

15. A system for context-based scrolling of a tablature, this method being characterized by at least one processor configured to receive the tablature from a device in which tablature is stored or generated; determining a tablature structure using at least one feature recognition algorithm, in which the tablature structure is indicative of the tablature's structural elements; determining one or more parameters of the display environment in which the tablature will be scrolled; constructing an abstract syntax tree of the tablature including a variety of tablature structural elements, based on the tablature structure and one or more parameters; determining the scrolling time period in which the portion of the tablature being displayed in a given region of a viewing window should be replaced by the next portion of the tablature;and scroll the tablature according to at least the abstract syntax tree of the tablature and the scrolling time period, in the display environment. Petition 870250048857, dated 11 / 06 / 2025, page 11 / 29 5 / 6; 16. A system according to claim 15, characterized in that the tablature represents the strings and frets of a musical instrument, and in which the structure of the tablature is indicative of at least staff lines and line breaks in the staff lines in the tablature, and in which the abstract syntax tree indicates two or more staff line segments, and a start position and an end position for each staff line segment.

17. A system according to claim 16, characterized in that, when determining the scrolling time period, at least one processor is configured to select a first execution speed coefficient; determine a first scrolling coefficient for the two or more line segments in the abstract syntax tree; and calculate the scrolling time period as the product of the first execution speed coefficient and the first scrolling coefficient.

18. A system according to claim 15, characterized in that the tablature represents strings of text characters, and in which the structure of the tablature is indicative of text and / or chords, and in which the abstract syntax tree indicates at least one of the following elements: two or more lines of text; two or more lines of chords; and a start position and an end position for each line of text and / or each line of chords.

19. A system according to claim 18, characterized in that at least one processor is configured to select the second execution speed coefficient; determine a second scrolling coefficient for at least one of the following elements: two or more lines of text; two or more lines of chords in the abstract syntax tree; and calculate the scrolling time period as the product of the second execution speed coefficient and the second scrolling coefficient. Petition 870250048857, dated 11 / 06 / 2025, p. 12 / 29 6 / 6 20. A system according to any of claims 15, 16, 17, 18 or 19, characterized in that at least one processor is also configured to receive a live music recording being performed according to tablature; analyze the live recording to determine a tempo scheme of the live recording; generate a tempo model based on a comparison between the results of the analysis of the live recording and the musical content in the tablature; and estimate a tempo of the tablature portion displayed in a given region of the viewing window, based on the tempo model and an estimated tempo of a preceding tablature portion that has already been displayed in that region; wherein the determination of the scrolling time period is based on the tempo estimate of the tablature portion being displayed in a given region of the viewing window.

21. A computer program product characterized by a non-transient, machine-readable data storage medium embedded with program instructions that, when executed by a processing device, causes the processor to receive tablature from a device in which tablature is stored or generated; determine a tablature structure using at least one feature recognition algorithm, in which the tablature structure is indicative of the tablature's structural elements; determine one or more parameters of a display environment in which the tablature will be scrolled; construct an abstract syntax tree of the tablature including a variety of tablature structural elements, based on the tablature structure and one or more parameters;To determine the scrolling time period in which the portion of the tablature being displayed in a given region of a viewing window should be replaced by the next portion of the tablature; and to scroll the tablature according to at least the abstract syntax tree of the tablature and the scrolling time period, in the display environment. Petition 870250048857, dated 11 / 06 / 2025, page 13 / 29;