IP Library Granted Patent US 12677096
Granted Patent B2
US 12677096 · App. 18/593,043 · Granted Jul 7, 2026

Context-aware voice guidance

Inventors: Jonathan A. Bennett (San Francisco, CA); Stephen O. Lemay (San Francisco, CA); Marcel Van Os (San Francisco, CA); Scott Forstall (Mountain View, CA); Bradford A. Moore (San Francisco, CA); Emanuele Vulcano (San Francisco, CA); Seejo K. Pylappan (Cupertino, CA)
Assignee: Apple Inc.
H04R5/04G01C21/3629G01C21/3667G06F3/167G10L21/00H04R5/00G01C21/34G01C21/3608G01C21/3617G01C21/3632G01C21/3638G01C21/3664G01C21/367G01C21/3676G06F3/04815G06F3/04845G06F3/04883G06F16/433G06F16/444G06F16/68G06F2203/04803G06F2203/04806G06F2203/04808G10L15/08G10L15/22G10L2015/223G10L17/22H04R2430/01H04R2499/13Y02D30/70
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12677096
App. No.
18/593,043
Granted
Jul 7, 2026
Kind
B2
Abstract

A context-aware voice guidance method is provided that interacts with other voice services of a user device. The voice guidance does not provide audible guidance while the user is making a verbal request to any of the voice-activated services. Instead, the voice guidance transcribes its output on the screen while the verbal requests from the user are received. In some embodiments, the voice guidance only provides a short warning sound to get the user's attention while the user is speaking on a phone call or another voice-activated service is providing audible response to the user's inquires. The voice guidance in some embodiments distinguishes between music that can be ducked and spoken words, for example from an audiobook, that the user wants to pause instead of being skipped. The voice guidance ducks music but pauses spoken words of an audio book in order to provide voice guidance to the user.

Claims (68)

1 . A method comprising:

displaying, by a navigation application, a first juncture on a displayed route on a map;

determining, by the navigation application, a maneuver to be performed at the first juncture to turn onto a first road on the map;

determining a second road on the map that the displayed route will lead to subsequent to performing the maneuver to turn onto the first road on the map;

determining a first text string corresponding to the first road and a second text string corresponding to the second road;

synthesizing the first text string and the second text string to generate a navigation instruction for the maneuver at the first juncture; and

presenting, by the navigation application, the navigation instruction.

2 . The method of claim 1 , further comprising:

determining, by the navigation application, a relationship between (a) a second juncture and (b) a third juncture that is prior to or subsequent to the second juncture along the route;

generating a second navigation instruction that comprises a plurality of instruction elements that are based on the relationship between the second juncture and the third juncture; and

presenting, by the navigation application, the second navigation instruction;

wherein determining, by the navigation application, the relationship between (a) the second juncture and (b) the third juncture that is prior to or subsequent to the second juncture along the route comprises at least one of determining a distance between the second and third junctures, determining a turn degree, determining a second maneuver to be performed at the second juncture, identifying a road at a branch of the second juncture, or identifying roads on a map that the route travels towards after the second maneuver is performed at the second juncture.

3 . The method of claim 2 , wherein generating the second navigation instruction that comprises a plurality of instruction elements that are based on the relationship between the first second juncture and the third juncture comprises:

defining a plurality of element categories, each respective element category defining a corresponding aspect of the second juncture;

generating, for each respective element category of the plurality of element categories, a corresponding set of text strings describing the corresponding aspect of the second juncture; and

generating a plurality of instruction sets by generating combinations of text strings selected from selected sets of text strings.

4 . The method of claim 3 , wherein generating a plurality of instruction sets by generating combinations of text strings selected from selected sets of text strings comprises:

defining a set of element categories comprising one or more of the element categories of the plurality of element categories;

for each element category in the set of element categories, selecting a text string from the corresponding set of text strings; and

combining the selected text strings to generate an instruction set.

5 . The method of claim 3 wherein the plurality of element categories include at least one of: a first element category defining locations where maneuvers occur, a second element category defining types of maneuvers, a third element category defining paths onto which maneuvers exit, a fourth element category defining paths to which maneuvers lead, or a fifth element category defining a distance between the second juncture and the third juncture.

6 . The method of claim 2 , wherein the plurality of instruction elements comprise a first maneuver instruction corresponding to the second juncture and a second maneuver instruction corresponding to the third juncture.

7 . The method of claim 6 , wherein the second navigation instruction indicates that one of the first maneuver instruction and the second maneuver instruction is to be completed after another of the first maneuver instruction and the second maneuver instruction.

8 . A non-transitory machine readable medium storing a program for providing context aware audio prompts associated with a navigation presentation on an electronic device, the program for execution by at least one processing unit, the program comprising sets of instructions for:

displaying, by a navigation application, a first juncture on a displayed route on a map;

determining, by the navigation application, a maneuver to be performed at the first juncture to turn onto a first road on the map;

determining a second road on the map that the displayed route will lead to subsequent to performing the maneuver to turn onto the first road on the map;

determining a first text string corresponding to the first road and a second text string corresponding to the second road;

synthesizing the first text string and the second text string to generate a navigation instruction for the maneuver at the first juncture; and

presenting, by the navigation application, the navigation instruction.

9 . The non-transitory machine readable medium of claim 8 , further comprising:

determining, by the navigation application, a relationship between (a) a second juncture and (b) a third juncture that is prior to or subsequent to the second juncture along the route;

generating a second navigation instruction that comprises a plurality of instruction elements that are based on the relationship between the second juncture and the third juncture;

wherein determining, by the navigation application, the relationship between (a) the second juncture and (b) the third juncture that is prior to or subsequent to the second juncture along the route comprises at least one of determining a distance between the second and second third junctures, determining a turn degree, determining a second maneuver to be performed at the second juncture, identifying a road at a branch of the second juncture, or identifying roads on a map that the route travels towards after the second maneuver is performed at the second juncture.

10 . The non-transitory machine readable medium of claim 9 , wherein generating the second navigation instruction that comprises a plurality of instruction elements that are based on the relationship between the second juncture and the third juncture comprises:

defining a plurality of element categories, each respective element category defining a corresponding aspect of the second juncture;

generating, for each respective element category of the plurality of element categories, a corresponding set of text strings describing the corresponding aspect of the second juncture; and

generating a plurality of instruction sets by generating combinations of text strings selected from selected sets of text strings.

11 . The non-transitory machine readable medium of claim 10 , wherein generating a plurality of instruction sets by generating combinations of text strings selected from selected sets of text strings comprises:

defining a set of element categories comprising one or more of the element categories of the plurality of element categories;

for each element category in the set of element categories, selecting a text string from the corresponding set of text strings; and

combining the selected text strings to generate an instruction set.

12 . The non-transitory machine readable medium of claim 10 , wherein the plurality of element categories include at least one of: a first element category defining locations where maneuvers occur, a second element category defining types of maneuvers, a third element category defining paths onto which maneuvers exit, a fourth element category defining paths to which maneuvers lead, or a fifth element category defining a distance between the second juncture and a third juncture.

13 . The non-transitory machine readable medium of claim 9 , wherein the plurality of instruction elements comprise a first maneuver instruction corresponding to the second juncture and a second maneuver instruction corresponding to the third juncture.

14 . The non-transitory machine readable medium of claim 13 , wherein the second navigation instruction indicates that one of the first maneuver instruction and the second maneuver instruction is to be completed after another of the first maneuver instruction and the second maneuver instruction.

15 . A mobile device comprising:

a set of processing units for processing sets of instructions;

a non-transitory machine readable medium storing a program, which when executed by at least one processing unit of the mobile device, provides context aware audio prompts associated with a navigation presentation on an electronic device, the program comprising sets of instructions for:

displaying, by a navigation application, a first juncture on a displayed route on a map;

determining, by the navigation application, a maneuver to be performed at the first juncture to turn onto a first road on the map;

determining a second road on the map that the displayed route will lead to subsequent to performing the maneuver to turn onto the first road on the map;

determining a first text string corresponding to the first road and a second text string corresponding to the second road;

synthesizing the first text string and the second text string to generate a navigation instruction for the maneuver at the first juncture; and

presenting, by the navigation application, the navigation instruction.

16 . The mobile device of claim 15 , further comprising:

determining, by the navigation application, a relationship between (a) a second juncture and (b) a third juncture that is prior to or subsequent to the second juncture along the route;

generating a second navigation instruction that comprises a plurality of instruction elements that are based on the relationship between the second juncture and the third juncture;

wherein determining, by the navigation application, the relationship between (a) the second juncture and (b) the third juncture that is prior to or subsequent to the second juncture along the route comprises at least one of determining a distance between the second and third junctures, determining a turn degree, determining a second maneuver to be performed at the second juncture, identifying a road at a branch of the second juncture, or identifying roads on a map that the route travels towards after the second maneuver is performed at the second juncture.

17 . The mobile device of claim 16 , wherein generating the second navigation instruction that comprises a plurality of instruction elements that are based on the relationship between the second juncture and the third juncture comprises:

defining a plurality of element categories, each respective element category defining a corresponding aspect of the second juncture;

generating, for each respective element category of the plurality of element categories, a corresponding set of text strings describing the corresponding aspect of the second juncture; and

generating a plurality of instruction sets by generating combinations of text strings selected from selected sets of text strings.

18 . The mobile device of claim 17 , wherein generating a plurality of instruction sets by generating combinations of text strings selected from selected sets of text strings comprises:

defining a set of element categories comprising one or more of the element categories of the plurality of element categories;

for each element category in the set of element categories, selecting a text string from the corresponding set of text strings; and

combining the selected text strings to generate an instruction set.

19 . The mobile device of claim 17 , wherein the plurality of element categories include at least one of: a first element category defining locations where maneuvers occur, a second element category defining types of maneuvers, a third element category defining paths onto which maneuvers exit, a fourth element category defining paths to which maneuvers lead, or a fifth element category defining a distance between the second juncture and the third second juncture.

20 . The mobile device of claim 16 , wherein the plurality of instruction elements comprise a first maneuver instruction corresponding to the second juncture and a second maneuver instruction corresponding to the third juncture.