Method to synchronize audio and graphics in a multimedia presentation

In a multimedia presentation, having speech and graphic contributions, a list of graphic objects is provided. Each graphic is associated to a graphic file capable of being executed by a computer to display a corresponding graphic contribution on a screen. A speech file comprising a sequence of phrases is also created, each phrase comprising a speech contribution explaining at least one graphic contribution associated to a respective graphic object. Then, an arrangement string is created obtained as a sequence of a first graphic object and a respective first phrase, and then a second graphic object and a respective second phrase, and so on up to completion of all graphic objects and phrases of said list and of said speech file respectively. A processing speed for displaying the graphic objects is chosen.

FIELD OF THE INVENTION

The present invention generally relates to the field of education and specifically it relates to a method for arranging a multimedia presentation having both audio and video/graphic contributions.

DESCRIPTION OF THE PRIOR ART

In the following description, the definition graphic contribution may comprise computer generated graphics, or images or a video pieces.

In traditional lessons, using a blackboard and chalk, a teacher normally speaks and draws on the blackboard at the same time. Speaking and drawing are also synchronized if a student asks the teacher to repeat it slowly, or if the teacher decides to explain quickly an easy point.

In presentations with slides or “Power Point®” presentations, the teacher speaks and decides to change a slide normally starting the speech as the new slide appears.

A lesson can be also edited as a film, and the editor synchronizes audio and video through an editing apparatus. The same lesson can be played on a computer as a film. However, once edited, a teacher cannot change the playing speed.

With the aid of a computer, a teacher can play an electronically generated sequence of images, and can associate to it portions of speech, which respectively begin as a new image appears. In the editing steps the teacher can synchronize speech and graphics, with the same problem that occurs when editing a film: the playing speed cannot be changed.

Other problems are that:

computer playable audio files, and in particular voice files, cannot be played at different speed but the natural one; any small change of the speed would unavoidably cause a distortion of the voice/music/sounds and they would seem completely unnatural to a listener; especially the voice remarkably changes at any increase or decrease of the speed, turning into a shriller or deeper voice respectively.

if fixed intervals are set for completing a speech and for displaying an image, these intervals may not fit when the displaying time of the images changes according to their size; this in particular occurs when graphics are computed by a processor, which remarkably changes the displaying speed according to the size of an image or the amount of mathematical calculations to generate the graphics.

The above drawbacks are clearer with the following example of a teacher's speech, as illustrated inFIG. 1. It is an exemplary part of a lesson. The teacher has to say: “This is a triangle. This is a rectangle. And this is a rhombus.” and, at the same time, he/she has also to draw on a blackboard a triangle, then a rectangle, and last a rhombus.

More in detail:

Firstly, the teacher says the words “This is a triangle”, at the same time drawing a triangle.

Secondly, the teacher says the words “This is a rectangle at the same time drawing a rectangle.

Thirdly, the teacher says the words “And this is a rhombus”, at the same time drawing a rhombus.

Clearly, at the teacher's choice, the speech and the drawings are synchronized.

If in a first instance the teacher talked for 15 seconds and then the explanation is required to be repeated more slowly, this can be easily done, for example taking 30 seconds. In this second case the sequence has a longer duration, and the speech and drawings will still be synchronized.

When instructing a computer to talk and draw in a way that it looks as similar as possible to a real teacher some technical difficulties arise:

First technical difficulty—the computer has to present a voice saying the same phrases as the teacher would say. To solve this difficulty many software products are available on the market that record the actual teacher's voice and then play it. Software products also exist that create an audio file reading electronically a text.

Second technical difficulty—the computer has to draw the same drawings of the teacher in a determined time. Many graphic software programs are available as well. For the triangle, for instance, it is sufficient to store the coordinates of its three vertices. These coordinates can then be easily given to the graphic program as instructions to draw the triangle on the computer screen. To imitate the teacher's speed when drawing on the screen the available software may draw gradually a graphic contribution by appropriate timing utilities.

Third technical difficulty—the audio and the graphic presented by the computer must be synchronized, the user should have the possibility to change the speed of the graphic presentation, previously or while the computer is drawing, and the synchronization between audio and graphics must be maintained in spite of the speed changes done by the user.

Unlike the two previous technical difficulties, the last one cannot be worked out with the software available on the market.

SUMMARY OF THE INVENTION

It is therefore an object of the present invention to provide a method to synchronize audio and graphics in a multimedia presentation that works independently from the type of graphic contribution presented by the computer, keeping a synchronization between audio and all sorts of graphic contributions, like drawing shapes, drawing handwriting, drawing images, changing transparencies, drifting images, animations, and so on.

This object is accomplished by the method to synchronize audio and graphics in a multimedia presentation, wherein the multimedia presentation has speech and graphic contributions, comprising the steps of:providing a list of graphic objects, wherein each graphic object is associated to a graphic file capable of being executed by a computer to display a corresponding graphic contribution on a screen;creating a speech file comprising a sequence of phrases, each phrase comprising a speech contribution explaining at least one graphic contribution associated to a respective graphic object;creating an arrangement string obtained as a sequence of a first graphic object and a respective first phrase, and then a second graphic object and a respective second phrase, and so on up to completion of all graphic objects and phrases of the list and of the speech file respectively;Choosing a processing speed of the graphic objects;Executing the arrangement string by an executing application, wherein the executing application:plays a first phrase through a sound card residing in a computer, and contemporaneouslyprocesses a first graphic object at the processing speed through a graphic interface residing in the computer;repeats the above playing and processing steps for a respective second phrase and a second graphic object, and so on for respective phrases and graphic objects up to the completion of the arrangement file,starts a next playing step and processing step only if the processing step of a corresponding graphic object has come to an end, postponing instead a next playing step and processing step if the actual processing step of a corresponding graphic object has not come to an end.

Preferably, a user can change the processing speed of the graphic objects in any moment of the execution of the arrangement file, in particular dragging a cursor appearing on the screen when executing the arrangement file.

According to a first embodiment, in the arrangement file a separating symbol is put between the graphic objects and the adjacent phrases, and wherein the executing application when meeting the separating symbol starts a next playing step and processing step only if the processing step of a corresponding graphic object has come to an end, postponing instead a next playing step and processing step if the actual processing step of a corresponding graphic object has not come to an end.

In this case, the separating symbol of the arrangement string can be ASCII standard or extended code.

Also in this case, the phrases are played through a sound card and an associated file to speech converter residing in the computer, wherein the executing application runs the file to speech converter on each respective phrase obtaining in turn an output that is played directly through the sound card.

Alternatively, the further steps are comprised of:creating a starting times file associating one starting instant to the beginning of each phrase;creating a voice file based on the speech file and storing the voice file in the computer, the voice file being playable through a sound card residing in the computer,and the executing applicationplays the voice file through the sound card for a first period comprised between a first and a second starting instant of the starting times file thus playing a respective phrase, and contemporaneouslyprocesses a first graphic object at the processing speed through the computer,repeats for a second period comprised between the second starting time and a third starting time the above playing and processing steps for a respective second phrase and a second graphic object, and so on for successive periods for respective phrases and graphic objects up to the completion of the arrangement file,stops the playing step of the voice file and starts a next playing step beginning from a next starting time only if the processing step of a corresponding graphic object has come to an end, postponing instead a next playing step if the actual processing step of a corresponding graphic object has not come to an end.

In this case, the starting times are selected from the group of a manually determined starting times, and electronically determined starting times.

Preferably each voice file is selected from the group of a recorded voice file, or an electronically synthesized voice file, and the voice file is selected from the group of a succession of voice sub-files or a single voice file obtained as a succession of voice segments.

Depending on the teacher's choice, the speech contributions in the playing steps are associated or alternated to music contributions and/or sound contributions.

DESCRIPTION OF A PREFERRED EMBODIMENT

In the following exemplary description of the method an example is used of a computer that is required to do the same operations the teacher would do as in the example given in the above introductory part. The computer may be any personal computer available on the market equipped with a sound card, a screen capable to display graphic objects, and a software means arranged to carry out the steps according to the invention, as it can be programmed easily by a person skilled in the art.

Accordingly, the computer should be instructed:to say firstly the phrase “This is a triangle”, at the same time drawing a triangle;then to say the phrase “This is a rectangle”, at the same time drawing a rectangle;and finally to say the phrase “And this is a rhombus”, at the same time drawing a rhombus.

Moreover, the audio and the graphics must be continuously synchronized even when the user changes the speed of the graphic presentation.

The example carried out with the method according to the invention can be split into the following five steps.

STEP 1. Creation of a “SpeechFile”10, in particular a text file (FIG. 2).

In this step of the example a text file is created with the phrases15, i.e. “This is a triangle. This is a rectangle. And this is a rhombus.” This file can be created with any word processor.

STEP 2. Creation of a “GraphicObjectsFile”20containing the description of each graphic object to be presented (FIG. 3). In this step a file is created with a list of the graphic objects to be presented, as well as their attributes i.e. type of object, location on the screen, size, colour, and so on.

In this step of the example a first graphic object (the triangle)21, is defined as a command “DrawLines”,3(number of lines to be drawn), x1, y1, x2, y2, x3, y3 (coordinates of the screen points to be joined by the lines), “red” (colour to be used), and so on. These attributes will be used later (step 5, step E) to draw a triangle, that is a red line from screen point (x1, y1) to screen point (x2, y2), another red line from screen point (x2, y2) to screen point (x3, y3) and another red line from screen point (x2, y2) to screen point (x1, y1). Similarly the attributes are defined of the second and third graphic objects, i.e. the rectangle22and the rhombus23, respectively. (FIG. 3).

STEP 3. Creation of “ArrangementFile”30to specify when the graphic objects21-23stored in “GraphicObjectsFile”20have to be presented (FIG. 4) in association with the phrases15of “SpeechFile”10.

To create this file the text of “SpeechFile”10is copied and pasted in a draft of “ArrangementFile”30. Then, pointers are added to the graphic objects stored in “GraphicObjectsFile”20, and inserted respectively just before the phrases they have to be synchronized with. In the example the pointers are “GO1”311, “GO2”312and “GO3”313pointing to first, second and third graphic objects21-23, respectively ofFIG. 3.

In particular, according to “ArrangementFile”30, the drawing step of first graphic object21shall be started when the enunciation starts of the words “This is a triangle”331. So, the pointer “GO1”311is inserted just before these words. The same is done for the second graphic object22to be started when the words “This is a rectangle”332begin to be enunciated. So, the pointer “GO2”312is inserted just before these words. Finally, the same is repeated for the third graphic object23to be started when the words “And this is a rhombus”333begin to be enunciated. So, the pointer “GO3”313is inserted just before these words. The draft of “ArrangementFile”30would be the following: “GO1This is a triangle. GO2This is a rectangle. GO3And this is a rhombus.”.

In order to allow “ArrangementFile”30to be executed automatically, the pointers “GO1”311, “GO2”312and “GO3”313are preferably marked by a starting symbol and an ending symbol. For instance the symbols “@@<”,301,302,303and “>@@”,321,322,323, can be used as starting and ending marks, respectively. So, “ArrangementFile”30would be eventually: “@@<GO1>@@This is a triangle. @@<GO2>@@This is a rectangle. @@<GO3>@@And this is a rhombus.” (FIG. 4).

Of course, “ArrangementFile”30can be executed even if written without starting and ending marks, or any marks at all. For example, if syntax recognition instructions are given to find the letters “G, O” followed by a number, the graphic objects can be easily retrieved.

STEP 4. Creation of a “VoiceFile”40and a “StartingTimesFile”50.

“VoiceFile”40will be sent (see hereinafter step 5D) to a sound card resident in the computer to be played as described below. “StartingTimesFile”50contains the starting time of each graphic object, i.e. an instant at which the graphic object has to be started to be presented.

“VoiceFile”40and a “StartingTimesFile”50can be created in a manual way (step 4A) or in an automatic way (step 4B).

STEP 4A. Manual creation of “VoiceFile”40(FIG. 5): the sounds are recorded of a voice enunciating the phrases15of “SpeechFile”10. This can be done by a microphone64receiving a voice saying the phrases15“This is a triangle. This is a rectangle. And this is a rhombus.”. “VoiceFile”40is then stored for being played when necessary. For example, the playing time without pauses of phrases15is 9.0 seconds (FIG. 5).

Manual creation of “StartingTimesFile”50(FIG. 6): the starting times are chosen looking at “VoiceFile”40as played by a normal player. After completion of the playing step of the phrase following the first pair301,321of starting and ending marks, the playing step is stopped when desired, and the counted time is stored in “StartingTimesFile”50. The same procedure is repeated for the phrases comprised between the second,302,322and third303,323pairs of starting and ending marks. Eventually, “StartingTimesFile”50contains the starting time of each graphic object to be presented, that is the numbers 0.051, 2.052and 5.053(FIG. 6).

To automatically create “VoiceFile”40the computer finds the text contained between each ending symbol and the next starting symbol and a text-to-speech converter70turns it into an audio file. Each audio file is copied at the end of “VoiceFile”40, end the duration of each file is stored at the end of a buffer “Durations” (not shown).

As shown inFIG. 7, initially the computer finds first ending symbol321and second starting symbol302in “ArrangementFile”30. The text contained between these marks is “This is a triangle”331and is is sent to a text-to-speech converter70, and the output audio contribution is stored in “VoiceFile”40. If its duration is 2.0 seconds, the number 2.0 is stored in the buffer “Durations”. Then the computer finds second ending symbol322and third starting symbol303in “ArrangementFile”30. The text contained between these marks is “This is a rectangle”332. This text is sent to text-to-speech converter70to be converted in an audio contribution. Let us suppose the duration of this audio file is 3.0 seconds. This file will be copied at the end of “VoiceFile”40. So, now the duration of “VoiceFile”40is 5.0 seconds and the number 5.0 is copied at the end of the buffer “Durations”. Finally, the computer finds ending symbol323in “ArrangementFile”30. The text contained after this symbol is “And this is a rhombus”333. This text is sent to text-to-speech converter70to be converted in an audio file. The duration of this audio file is 4.0 seconds and its content is copied at the end of “VoiceFile”40. So, now the duration of “VoiceFile”40is 9.0 seconds. This number, however, will not be stored in the buffer “Durations” (FIG. 7).

Now the computer creates “StartingTimesFile”50copying the buffer “Durations” adding the number 0.0 in top of it. “StartingTimesFile”50contains the starting time51-53of each graphic object, i.e. 0.0, 2.0 and 5.0 (FIG. 7).

It will be appreciated that STEP 4 could also be omitted. In fact, a person skilled in the art would see that “VoiceFile”40and “StartingTimesFile”50can also be not necessary if a text to speech converter is used that creates and plays in real time speech contributions corresponding to “SpeechFile”10. This can be done at the choice of the skilled person who decides how to arrange the flow of the stored data.

STEP 5. Playing the audio file and presenting graphics synchronously (FIGS. 8,9,10and11).

The synchronization is obtained by playing the audio file not as a single audio contribution or piece from beginning to end, but as a sequence of many pieces. The computer, in other words, starts presenting the first piece41of the audio file and the corresponding graphic object21(FIGS. 8 and 9). Then the computer waits until both these presentations have been completed. At this point the computer presents the second piece42of the audio file and the corresponding graphic objects22. Then it waits again until both these presentations have been completed. And so on up to the end. Let us see all this in details with our example.

First, the computer has to present the first piece41of audio file40and the corresponding graphic objects21, that is the computer has to say the phrases “This is a triangle”, at the same time drawing the triangle. This will be done in six steps, from step A to step F.

Step A. The computer finds the first piece41of audio file to be played (FIG. 8).

To do this the computer reads the first and second numbers,51and52, stored in “StartingTimesFile”50. They are 0.0 and 2.0, respectively. The first piece41of audio file to be played is then from 0.0 to 2.0. When this piece will be sent later (see hereinafter step D) to the sound card to be played the words “This is a triangle” are enunciated (FIG. 8).

Step B. The computer finds the corresponding graphic objects to be presented (FIG. 9).

The computer finds in “ArrangementFile”30the first starting and ending marks301,321. The pointer between them, in this case one symbol311, is GO1, and so first graphic object21stored in “GraphicObjectsFile”20is the first to be presented (FIG. 9).

Step C. The computer calculates what exactly has to be drawn and stores it in some buffers (FIG. 9).

The computer reads, from “GraphicObjectsFile”20, the attributes of graphic object “DrawLines”21pointed by pointer311, GO1. So, the computer calculates the coordinates of all pixels forming the lines to be drawn and stores them in a PixelsCoordinates buffer82. The total number of pixels will be stored in the buffer TotalNumberOfPixelToBeDrawn80. Let us suppose this number is 524 (FIG. 9).

Step D. The computer starts the presentation of the first piece41of audio file (FIG. 8).

To do this the computer sends to the sound card the order to start playing “VoiceFile”40from position51to position52, i.e. starting times 0.0 and 2.0 found at step A. The sound card starts enunciating the phrase “This is a triangle”, thus freeing the computer, which can go to the next step without awaiting the completion of the playing step.

Step E. The computer presents first graphic object21as represented by the three lines62ofFIG. 9.

Below a description is given to show how certain parameters, and in particular the processing speed, can be changed during the presentation of a graphic object (FIGS. 10 and 11) and how this change can affect the duration of the presentation.

The step E will now be detailed for the case of drawing a triangle. Of course, the same applies when drawing other types of graphic contributions, such as simulating handwriting, simulating filling with colours, and so on.

The presentation of all the 524 pixels, contained in the buffer PixelsCoordinates82, is done gradually, as shown inFIGS. 10 and 11, where the processing and the drawing of a first and a second portion of the triangle are shown, respectively.

STEP 5 is also summarized in the flow charts shown inFIGS. 12 and 13.FIG. 12shows the synchronization between audio and graphics presentations, andFIG. 13shows the drawing graduality.

Sub-step E1. The computer reads the system time and stores it in a buffer84, called Time1. In the example the system time is 1547.1 seconds. Moreover, the value 1 is stored in the buffer FirstPixelToDraw87.

Sub-step E2. Then, the control of the process is given to the operating system that executes any pending events routines. A pending event can be, for instance, choosing a graphic speed by the user, for example pressing a mouse button, pressing a key, dragging the mouse, dragging a cursor on the screen, and so on. Other parameters can also be changed by the user during the execution of the presentation.

Sub-step E3. The computer reads the system time and stores it in a buffer Time285, for example 1547.2 seconds.

Sub-step E4. The computer calculates the number of pixels forming the first portion95of the drawing. This number depends upon the time elapsed and upon the speed of the graphic presentation chosen by the user. So, the computer measures the elapsed time by calculating the difference between the buffers Time285and Time184, which is 0.1 seconds. Then the computer reads the speed of graphic presentation86chosen by the user. For example it is 350 pixels per second. By multiplying 0.1 by 350 we get 35. This means the first portion of drawing95is composed of 35 pixels. This value is stored in the buffer TotalPixelsToDraw88.

Sub-step E5. The computer checks if the value (FirstPixelToDraw87+TotalPixelsToDraw88−1) exceeds the value of the buffer TotalNumberOfPixelToBeDrawn80. If yes, then the value (TotalNumberOfPixelToBeDrawn80−FirstPixelToDraw87+1) will be stored in the buffer TotalPixelsToDraw88. This check has to be done to prevent from reading beyond the end of the PixelsCoordinates82buffer.

Sub-step E6. The computer draws (FIG. 10) on the screen 35 pixels (this is the value stored in the buffer TotalPixelsToDraw88) as stored in the buffer PixelsCoordinates82, starting from the 1st (this is the value stored in the buffer FirstPixelToDraw87).

Sub-step E7. The computer adds the value of the buffer TotalPixelsToDraw88(that is 35) to the buffer FirstPixelToDraw87. The value in this buffer is now 36.

Sub-step E8. The computer checks if first graphic object21has been drawn entirely. This is done by comparing the value of FirstPixelToDraw87buffer (that is 36) to that of the TotalNumberOfPixelToBeDrawn80buffer (that is 524). 36 is less than 524. Thus the drawing has not been completed, and the computer will continue drawing.

Sub-step E9. The computer stores the value of buffer Time285in the buffer Time184. So Time184now contains the number 1547.2.

Sub-step E11. The computer reads the system time and stores it in the buffer Time285. For example the value stored is 1547.5 seconds.

Sub-step E12. The computer calculates the number of pixels forming the second portion96of the triangle. The elapsed time is 0.3 seconds (given by the difference between the values of buffers Time285and Time184). Now, for example, the speed of the graphic presentation86is 160 pixels per seconds, as changed in the meantime by the user. So, multiplying 0.3 by 160 we get 48. This means that the second portion96of the triangle has 48 pixels. This value is stored in the buffer TotalPixelsToDraw88.

Sub-step E14. The computer draws (FIG. 11) on the screen 48 (this is the value stored in the buffer TotalPixelsToDraw88) of the pixels stored in the buffer PixelsCoordinates82, starting from the 36th pixel, i.e. value stored in the FirstPixelToDraw87buffer.

Sub-step E15. The computer adds the value of the TotalPixelsToDraw88buffer (that is 48) to the buffer FirstPixelToDraw87. The value in this buffer is now 84.

Sub-step E16. The computer checks if first graphic object21has been drawn entirely, by comparing the value of FirstPixelToDraw87buffer (that is 84) to that of the buffer TotalNumberOfPixelToBeDrawn80(that is 524). 84 is less than 524. Thus the drawing has not been completed, and the computer will continue drawing.

The drawing of first graphic object21will be completed when the value of FirstPixelToDraw87buffer is the same as that TotalNumberOfPixelToBeDrawn80buffer. At this point the computer goes to step F.

Step F. The computer checks if the presentation of the first piece41of audio file has been played completely. If not, the computer postpones starting the next step.

In fact, at the end of step E the computer should have enunciated “This is a triangle” and drawn the triangle. Even if the two operations started almost simultaneously; almost always they would end at different times. In addition, the user chooses the speed of the graphic presentation and can change this speed at any moment, even during step E. According to the invention the computer will not start the presentation of the next piece of audio file and the next drawing before the previous ones have been completed.

Step G. Now the computer has to present the second piece42of audio file and the corresponding graphic objects22, that is the computer has to say the phrases “This is a rectangle”, at the same time drawing a rectangle. This will be done in six steps as well similar to the A-F steps, and the same is repeated for the third piece43of audio file and the corresponding graphic objects23, that is the computer has to say the phrases “This is a rhombus”, at the same time drawing a rhombus.

At this point both the audio and the graphic presentations have been completed.

In an alternative embodiment of the method, the presentation of the audio contributions can be done in a different way. In particular, whereas as above described a single audio file was created, called “VoiceFile”40, which could be played and stopped where desired, instead, many audio files can be created, each corresponding to a phrase, and either stored to be played in due course, or created and played each in real time.

In this embodiment, STEPS 1-3 are the same. In STEP 4, instead, a plurality of audio files is created, “VoiceFile1”, “VoiceFile2”, and so on, to be played completely by the sound card.

If these files are created manually (STEP 4A), in “ArrangementFile”30marks321and302ofFIG. 7are found, and the phrase between them is “This is a triangle”331. The user enunciates it by a microphone64and the computer stores a “VoiceFile1”. This operation can be assisted by the computer with a user-friendly interface, and the user simply follows the instructions of this interface. The same is repeated for the other phrases, creating respectively a “VoiceFile2” and a “VoiceFile3”.

Instead, if these files are created automatically (STEP 4B), as the computer finds first ending symbol321and second starting symbol302in “ArrangementFile”30ofFIG. 7, the text contained between them, i.e. “This is a triangle”331, is sent to a text-to-speech converter and turned into “VoiceFile1”. Depending upon how the executing program is arranged, this audio file can be either stored, to be played in a desired time, or it can be played in real time. The same is repeated for the other phrases, creating respectively a “VoiceFile2” and a “VoiceFile3”.

In both cases, a “StartingTimesFile” is not needed in step 5.

In particular, in case, the audio contributions are created and played in real time, the computer finds the first piece of text331, retrieving first ending symbol321and second starting symbol302in “ArrangementFile”30. The text contained between these marks is “This is a triangle”331, which is sent to the text-to-speech converter and turned into an audio file, for example called “PresentPieceOfVoiceFile”. Immediately, it starts the presentation of “PresentPieceOfVoiceFile”, sending it to the sound card that plays it completely. Since the sound card carries out the playing step autonomously, the computer can start presenting the triangle21.

At the same time, the computer can prepare the second piece of text to be converted into speech, creating an audio file “NextPieceOfVoiceFile”. In particular, both the actual graphic presentation and creation of the next audio file can be done gradually at the same speed.

For example, after the above sub-step E6, when the first portion95of triangle is drawn, a portion of “NextPieceOfVoiceFile” can be created. Similarly, at the end of sub-step E14, when the second portion96of triangle is drawn, another portion of “NextPieceOfVoiceFile” can be created. And so on.

Then, in Step F, if the computer finds that the presentation of the first piece41of audio file is complete, then it deletes “PresentPieceOfVoiceFile” and renames “NextPieceOfVoiceFile” as “PresentPieceOfVoiceFile” and then it goes to the next step.

According to the invention, to capture the interest of a student in a lesson presented by a computer, it is important that the speed of the lesson is customized by the student same. A standard speed cannot be suitable for all students, and when playing the lesson for a first time a same student may require a slower speed than when repeating the presentation.

According to the invention, the change of speed does not affect the quality and naturalness of the presentation, and both the speech and drawing contributions are presented in such a way that they look like as presented by a real teacher, keeping synchronization in spite of any change of the speed done by the student.

In particular, the computer enunciates all the phrases from the beginning to the end, and always synchronized with the respective graphic contributions, as shown inFIGS. 14 and 15, where it is supposed that the student has chosen a very slow or a very fast speed of the graphic presentation, respectively. In these figures it is also supposed that the speed is kept constant during the presentation.

When the speed of the graphic presentation is very slow (FIG. 14), to keep the synchronization pauses141142143are added after a respective piece of audio file. Instead, when the speed of the graphic presentation is very fast (FIG. 15), the drawing of the graphic objects is completed in advance, see191192193, before the corresponding pieces of audio file, and no pauses are added. Since the method is piloted through the audio playing steps, the method allows the computer to talk and draw almost exactly as a teacher does.

If a graphic contribution has to be presented in a very detailed way, the teacher can split into very small parts. For example, when explaining a triangle, the teacher can describe each side, for example in a square triangle he can describe each cathetus and the hypotenuse separately.

The teacher can choose and edit the arrangement file as he finds better for the comprehension of the lesson. For example, the phrase “This is a house. It has a door, four windows, a tree, and a dog.” is preferably split into five phrases, as well as the corresponding graphic contributions, unless it is displayed as a unique drawing, to explain a very simple concept from where to start more complex descriptions.

The foregoing description in the form of examples will so fully reveal the invention according to the conceptual point of view, so that others, by applying current knowledge, will be able to modify and/or adapt for various applications such examples without further research and without parting from the invention, and it is therefore to be understood that such adaptations and modifications will have to be considered as equivalents to the specific examples. The means and the materials to realise the different functions described herein could have a different nature without, for this reason, departing from the field of the invention. It is to be understood that the phraseology or terminology employed herein is for the purpose of description and not of limitation.