]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/user/expressive.itely
Move translated docs into Pitches and Rhythms
[lilypond.git] / Documentation / user / expressive.itely
1 @c -*- coding: utf-8; mode: texinfo; -*-
2 @ignore
3     Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
4
5     When revising a translation, copy the HEAD committish of the
6     version that you are working on.  See TRANSLATION for details.
7 @end ignore
8
9 @node Expressive marks
10 @section Expressive marks
11
12 @menu
13 * Attached to notes::           
14 * Curves::                      
15 * Lines::                       
16 @end menu
17
18
19 @node Attached to notes
20 @subsection Attached to notes
21
22
23 @menu
24 * Articulations::               
25 * Dynamics::                    
26 @end menu
27
28 @node Articulations
29 @unnumberedsubsubsec Articulations
30
31 @cindex Articulations
32 @cindex scripts
33 @cindex ornaments
34
35 A variety of symbols can appear above and below notes to indicate
36 different characteristics of the performance.  They are added to a note
37 by adding a dash and the character signifying the
38 articulation.  They are demonstrated here
39
40 @lilypondfile[quote,ragged-right]{script-abbreviations.ly}
41
42 The meanings of these shorthands can be changed.  See
43 @file{ly/@/script@/-init@/.ly} for examples.
44
45 The script is automatically placed, but the direction can be forced as
46 well.  Like other pieces of LilyPond code, @code{_} will place them
47 below the staff, and @code{^} will place them above.
48
49 @lilypond[quote,ragged-right,fragment,verbatim]
50 c''4^^ c''4_^
51 @end lilypond
52
53 Other symbols can be added using the syntax
54 @var{note}@code{\}@var{name}.  Again, they
55 can be forced up or down using @code{^} and @code{_},
56 e.g.,
57
58 @lilypond[quote,ragged-right,verbatim,fragment,relative=2]
59 c\fermata c^\fermata c_\fermata
60 @end lilypond
61
62 @cindex accent
63 @cindex marcato
64 @cindex staccatissimo
65 @cindex espressivo
66 @cindex fermata
67 @cindex stopped
68 @cindex staccato
69 @cindex portato
70 @cindex tenuto
71 @cindex upbow
72 @cindex downbow
73 @cindex foot marks
74 @cindex organ pedal marks
75 @cindex turn
76 @cindex open
77 @cindex stopped
78 @cindex flageolet
79 @cindex reverseturn
80 @cindex trill
81 @cindex prall
82 @cindex mordent
83 @cindex prallprall
84 @cindex prallmordent
85 @cindex prall, up
86 @cindex prall, down
87 @cindex thumb marking
88 @cindex segno
89 @cindex coda
90 @cindex varcoda
91
92 Here is a chart showing all scripts available,
93
94 @lilypondfile[ragged-right,quote]{script-chart.ly}
95
96
97 @commonprop
98
99 The vertical ordering of scripts is controlled with the
100 @code{script-priority} property.  The lower this number, the closer it
101 will be put to the note.  In this example, the
102 @internalsref{TextScript} (the sharp symbol) first has the lowest
103 priority, so it is put lowest in the first example.  In the second, the
104 prall trill (the @internalsref{Script}) has the lowest, so it is on the
105 inside.  When two objects have the same priority, the order in which
106 they are entered decides which one comes first.
107
108 @lilypond[verbatim,relative=3,ragged-right,fragment,quote]
109 \once \override TextScript #'script-priority = #-100
110 a4^\prall^\markup { \sharp }
111
112 \once \override Script #'script-priority = #-100
113 a4^\prall^\markup { \sharp }
114 @end lilypond
115
116
117 @seealso
118
119 Program reference: @internalsref{Script}.
120
121
122 @refbugs
123
124 These signs appear in the printed output but have no effect on the
125 MIDI rendering of the music.
126
127
128 @node Dynamics
129 @unnumberedsubsubsec Dynamics
130
131 @cindex Dynamics
132 @funindex \pppp
133 @funindex \ppp
134 @funindex \pp
135 @funindex \p
136 @funindex \mp
137 @funindex \mf
138 @funindex \f
139 @funindex \ff
140 @funindex \fff
141 @funindex \ffff
142 @funindex \fp
143 @funindex \sf
144 @funindex \sff
145 @funindex \sp
146 @funindex \spp
147 @funindex \sfz
148 @funindex \rfz
149
150 Absolute dynamic marks are specified using a command after a note
151 @code{c4\ff}.  The available dynamic marks are @code{\ppppp},
152 @code{\pppp}, @code{\ppp},
153 @code{\pp}, @code{\p}, @code{\mp}, @code{\mf}, @code{\f}, @code{\ff},
154 @code{\fff}, @code{\ffff}, @code{\fp}, @code{\sf}, @code{\sff},
155 @code{\sp}, @code{\spp}, @code{\sfz}, and @code{\rfz}.
156
157 @lilypond[quote,verbatim,ragged-right,fragment,relative=2]
158 c\ppp c\pp c \p c\mp c\mf c\f c\ff c\fff
159 c2\fp c\sf c\sff c\sp c\spp c\sfz c\rfz
160 @end lilypond
161
162 @funindex \<
163 @funindex \>
164 @funindex \!
165
166 A crescendo mark is started with @code{\<} and terminated with
167 @code{\!} or an absolute dynamic.  A decrescendo is started with
168 @code{\>} and is also terminated with @code{\!} or an absolute
169 dynamic.  @code{\cr} and @code{\decr} may be used instead of
170 @code{\<} and @code{\>}.  Because these marks are bound to notes, you must
171 use spacer notes if multiple marks are needed during one note
172
173 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
174 c\< c\! d\> e\!
175 << f1 { s4 s4\< s4\! \> s4\! } >>
176 @end lilypond
177
178 @noindent
179 A hairpin normally starts at the left edge of the beginning note
180 and ends on the right edge of the ending note.  If the ending
181 note falls on the downbeat, the hairpin ends on the immediately
182 preceding barline. This may be modified by setting the
183 @code{hairpinToBarline} property,
184
185 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
186 \set hairpinToBarline = ##f
187 c4\< c2. c4\!
188 @end lilypond
189
190 In some situations the @code{\espressivo} articulation mark may
191 be suitable to indicate a crescendo and decrescendo on the one note,
192
193 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
194 c2 b4 a g1\espressivo
195 @end lilypond
196
197 This may give rise to very short hairpins.  Use @code{minimum-length}
198 in @internalsref{Voice}.@internalsref{Hairpin} to lengthen them, for
199 example
200
201 @example
202 \override Voice.Hairpin #'minimum-length = #5
203 @end example
204
205 @cindex al niente
206 @cindex niente, al
207
208 Hairpins may be printed with a circled tip (al niente notation) by
209 setting the @code{circled-tip} property,
210
211 @lilypond[quote,ragged-right,fragment,relative=2,verbatim]
212 \override Hairpin #'circled-tip = ##t
213 c2\< c\!
214 c4\> c\< c2\!
215 @end lilypond
216
217
218 @cindex crescendo
219 @cindex decrescendo
220 @cindex diminuendo
221
222 You can also use text saying @emph{cresc.} instead of hairpins
223
224 @lilypond[quote,ragged-right,fragment,relative=2,verbatim]
225 \setTextCresc
226 c\< d e f\!
227 \setHairpinCresc
228 e\> d c b\!
229 \setTextDecresc
230 c\> d e f\!
231 \setTextDim
232 e\> d c b\!
233 @end lilypond
234
235 You can also supply your own texts
236 @lilypond[quote,ragged-right,fragment,relative=1,verbatim]
237 \set crescendoText = \markup { \italic "cresc. poco" }
238 \set crescendoSpanner = #'dashed-line
239 a'2\< a a a\!\mf
240 @end lilypond
241
242 To create new dynamic marks or text that should be aligned
243 with dynamics, see @ref{New dynamic marks}.
244
245 Vertical positioning of dynamics is handled by
246 @internalsref{DynamicLineSpanner}.
247
248
249 @commonprop
250
251 Dynamics that occur at, begin on, or end on, the same note
252 will be vertically aligned.  If you want to ensure that dynamics
253 are aligned when they do not occur on the same note, you can
254 increase the @code{staff-padding} property.
255
256 @example
257 \override DynamicLineSpanner #'staff-padding = #4
258 @end example
259
260 You may also use this property if the dynamics are colliding
261 with other notation.
262
263 Crescendi and decrescendi that end on the first note of a
264 new line are not printed.  To change this behavior, use
265
266 @example
267 \override Score.Hairpin #'after-line-breaking = ##t
268 @end example
269
270 Text style dynamic changes (such as @emph{cresc.} and @emph{dim.})
271 are printed with a
272 dashed line showing their extent.  To surpress printing this line, use
273
274 @example
275 \override DynamicTextSpanner #'dash-period = #-1.0
276 @end example
277
278
279 @refcommands
280
281 @funindex \dynamicUp
282 @code{\dynamicUp},
283 @funindex \dynamicDown
284 @code{\dynamicDown},
285 @funindex \dynamicNeutral
286 @code{\dynamicNeutral}.
287
288
289 @seealso
290
291 Program reference: @internalsref{DynamicText}, @internalsref{Hairpin}.
292 Vertical positioning of these symbols is handled by
293 @internalsref{DynamicLineSpanner}.
294
295
296 @node Curves
297 @subsection Curves
298
299 @menu
300 * Ties::                        
301 * Slurs::                       
302 * Phrasing slurs::              
303 * Laissez vibrer ties::         
304 * Breath marks::                
305 * Falls and doits::             
306 @end menu
307
308 @node Ties
309 @unnumberedsubsubsec Ties
310
311 @cindex tie
312 @funindex ~
313
314 A tie connects two adjacent note heads of the same pitch.  The tie in
315 effect extends the length of a note.  Ties should not be confused with
316 slurs, which indicate articulation, or phrasing slurs, which indicate
317 musical phrasing.  A tie is entered using the tilde symbol @samp{~}
318
319 @lilypond[quote,ragged-right,fragment,verbatim]
320 e' ~ e' <c' e' g'> ~ <c' e' g'>
321 @end lilypond
322
323 When a tie is applied to a chord, all note heads whose pitches match
324 are connected.  When no note heads match, no ties will be created.  Chords
325 may be partially tied by placing the tie inside the chord,
326
327 @lilypond[quote,ragged-right,fragment,verbatim,relative=1]
328 <c~ e g~ b> <c e g b>
329 @end lilypond
330
331 A tie is just a way of extending a note duration, similar to the
332 augmentation dot.  The following example shows two ways of notating
333 exactly the same concept
334
335 @lilypond[quote,fragment,ragged-right]
336 \time 3/4 c'2. c'2 ~ c'4
337 @end lilypond
338
339 @noindent
340 Ties are used either when the note crosses a bar line, or when dots
341 cannot be used to denote the rhythm.  When using ties, larger note
342 values should be aligned to subdivisions of the measure, such as
343
344 @lilypond[fragment,quote,ragged-right]
345 \relative {
346   r8 c8 ~ c2 r4 | r8^"not" c2 ~ c8 r4
347 }
348 @end lilypond
349
350 If you need to tie a lot of notes over bars, it may be easier to use
351 automatic note splitting (see @ref{Automatic note splitting}).  This
352 mechanism automatically splits long notes, and ties them across bar
353 lines.
354
355 @funindex \repeatTie
356
357 When a second alternative of a repeat starts with a tied note, you
358 have to repeat the tie. This can be achieved with @code{\repeatTie},
359
360 @lilypond[fragment,quote,ragged-right,relative=2]
361 r <c e g>\repeatTie
362 @end lilypond
363
364 @cindex repeating ties
365 @cindex volta brackets and ties
366
367 @commonprop
368
369 Ties are sometimes used to write out arpeggios.  In this case, two tied
370 notes need not be consecutive.  This can be achieved by setting the
371 @code{tieWaitForNote} property to true. The same feature is also useful,
372 for example, to tie a tremolo to a chord. For example,
373
374 @lilypond[fragment,verbatim,relative=1,ragged-right,quote]
375 \set tieWaitForNote = ##t
376 \grace { c16[~ e~ g]~ } <c, e g>2
377 \repeat tremolo 8 { c32~ c'~ } <c c,>1
378 e8~ c~ a~ f~ <e' c a f>2
379 @end lilypond
380
381 Ties may be engraved manually by changing the @code{tie-configuration}
382 property.  The first number indicates the distance from the center
383 of the staff in staff-spaces, and the second number indicates the
384 direction (1=up, -1=down).
385
386 @lilypond[fragment,verbatim,relative=1,ragged-right,quote]
387 <c e g>2~ <c e g> |
388 \override TieColumn #'tie-configuration =
389   #'((0.0 . 1) (-2.0 . 1) (-4.0 . 1))
390 <c e g>~ <c e g> |
391 @end lilypond
392
393
394 @refcommands
395
396
397 @funindex \tieUp
398 @code{\tieUp},
399 @funindex \tieDown
400 @code{\tieDown},
401 @funindex \tieNeutral
402 @code{\tieNeutral},
403 @funindex \tieDotted
404 @code{\tieDotted},
405 @funindex \tieDashed
406 @code{\tieDashed},
407 @funindex \tieSolid
408 @code{\tieSolid}.
409
410
411 @seealso
412
413 In this manual: @ref{Automatic note splitting}.
414
415 Program reference: @internalsref{Tie}.
416
417
418 @refbugs
419
420 Switching staves when a tie is active will not produce a slanted tie.
421
422 Changing clefs or octavations during a tie is not really
423 well-defined.  In these cases, a slur may be preferable.
424
425
426 @node Slurs
427 @unnumberedsubsubsec Slurs
428
429 @cindex Slurs
430
431 A slur indicates that notes are to be played bound or
432 @emph{legato}.  They are entered using parentheses
433
434 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
435 f( g a) a8 b( a4 g2 f4)
436 <c e>2( <b d>2)
437 @end lilypond
438
439 The direction of a slur can be specified with
440 @code{\slur@emph{DIR}}, where @code{@emph{DIR}} is
441 either @code{Up}, @code{Down}, or @code{Neutral} (automatically
442 selected).
443
444 However, there is a convenient shorthand for forcing slur
445 directions.  By adding @code{_} or @code{^} before the opening
446 parentheses, the direction is also set.  For example,
447
448 @lilypond[relative=2,ragged-right,quote,verbatim,fragment]
449 c4_( c) c^( c)
450 @end lilypond
451
452 Only one slur can be printed at once.  If you need to print a long
453 slur over a few small slurs, please see @ref{Phrasing slurs}.
454
455
456 @commonprop
457
458 Some composers write two slurs when they want legato chords.  This can
459 be achieved in LilyPond by setting @code{doubleSlurs},
460
461 @lilypond[verbatim,ragged-right,relative,fragment,quote]
462 \set doubleSlurs = ##t
463 <c e>4 ( <d f> <c e> <d f> )
464 @end lilypond
465
466
467 @refcommands
468
469 @funindex \slurUp
470 @code{\slurUp},
471 @funindex \slurDown
472 @code{\slurDown},
473 @funindex \slurNeutral
474 @code{\slurNeutral},
475 @funindex \slurDashed
476 @code{\slurDashed},
477 @funindex \slurDotted
478 @code{\slurDotted},
479 @funindex \slurSolid
480 @code{\slurSolid}.
481
482 @seealso
483
484 Program reference: @internalsref{Slur}.
485
486
487 @node Phrasing slurs
488 @unnumberedsubsubsec Phrasing slurs
489
490 @cindex phrasing slurs
491 @cindex phrasing marks
492
493 A phrasing slur (or phrasing mark) connects notes and is used to
494 indicate a musical sentence.  It is written using @code{\(} and @code{\)}
495 respectively
496
497 @lilypond[quote,ragged-right,fragment,verbatim,relative=1]
498 \time 6/4 c'\( d( e) f( e) d\)
499 @end lilypond
500
501 Typographically, the phrasing slur behaves almost exactly like a
502 normal slur.  However, they are treated as different objects.  A
503 @code{\slurUp} will have no effect on a phrasing slur; instead, use
504 @code{\phrasingSlurUp}, @code{\phrasingSlurDown}, and
505 @code{\phrasingSlurNeutral}.
506
507 You cannot have simultaneous phrasing slurs.
508
509
510 @refcommands
511
512 @funindex \phrasingSlurUp
513 @code{\phrasingSlurUp},
514 @funindex \phrasingSlurDown
515 @code{\phrasingSlurDown},
516 @funindex \phrasingSlurNeutral
517 @code{\phrasingSlurNeutral}.
518
519
520 @seealso
521
522 Program reference: @internalsref{PhrasingSlur}.
523
524
525 @node Laissez vibrer ties
526 @unnumberedsubsubsec Laissez vibrer ties
527 @cindex Laissez vibrer
528 @cindex Ties, laissez vibrer
529
530 L.v. ties (laissez vibrer) indicate that notes must not be damped at the
531 end. It is used in notation for piano, harp and other string and
532 percussion instruments. They can be entered using @code{\laissezVibrer},
533
534 @lilypond[fragment,ragged-right,verbatim,relative=1]
535 <c f g>\laissezVibrer
536 @end lilypond
537
538 @seealso
539
540 Program reference:
541 @internalsref{LaissezVibrerTie}
542 @internalsref{LaissezVibrerTieColumn}
543
544 Example files:
545 @lsr{connecting,laissez-vibrer-ties.ly}
546
547
548 @node Breath marks
549 @unnumberedsubsubsec Breath marks
550
551 Breath marks are entered using @code{\breathe}
552
553 @lilypond[quote,ragged-right,fragment,relative=1,verbatim]
554 c'4 \breathe d4
555 @end lilypond
556
557
558 @commonprop
559
560 The glyph of the breath mark can be tuned by overriding the
561 @code{text} property of the @code{BreathingSign} layout object with
562 any markup text.  For example,
563 @lilypond[quote,ragged-right,fragment,verbatim,relative=1]
564 c'4
565 \override BreathingSign #'text
566   = #(make-musicglyph-markup "scripts.rvarcomma")
567 \breathe
568 d4
569 @end lilypond
570
571 @seealso
572
573 Program reference: @internalsref{BreathingSign}.
574
575 Examples: @lsr{expressive,breathing-sign.ly}
576
577
578 @node Falls and doits
579 @unnumberedsubsubsec Falls and doits
580
581 Falls and doits can be added to notes using the @code{\bendAfter}
582 command,
583
584 @lilypond[fragment,ragged-right,relative=2]
585 \override Score.SpacingSpanner #'shortest-duration-space = #3.0
586 c4-\bendAfter #+5
587 c4-\bendAfter #-3
588 @end lilypond
589
590
591 @node Lines
592 @subsection Lines
593
594 @menu
595 * Glissando::                   
596 * Arpeggio::                    
597 * Trills::                      
598 * Analysis brackets::           
599 @end menu
600
601 @node Glissando
602 @unnumberedsubsubsec Glissando
603
604 @cindex Glissando
605 @funindex \glissando
606
607 A glissando is a smooth change in pitch.  It is denoted by a line or a
608 wavy line between two notes.  It is requested by attaching
609 @code{\glissando} to a note
610
611 @lilypond[quote,ragged-right,fragment,relative=2,verbatim]
612 c2\glissando c'
613 \override Glissando #'style = #'zigzag
614 c2\glissando c,
615 @end lilypond
616
617
618 @commonprop
619
620 @lilypond[quote,ragged-right,verbatim]
621 I = \once \override NoteColumn #'ignore-collision = ##t
622
623 \relative <<
624   { \oneVoice \stemDown f2 \glissando \stemNeutral a } \\
625   { \oneVoice \I c2 \glissando \I d, }
626 >>
627 @end lilypond
628
629
630
631 @seealso
632
633 Program reference: @internalsref{Glissando}.
634
635 Example files:
636 @lsr{expressive,glissando.ly}, @lsr{expressive,line-styles.ly}
637
638
639 @refbugs
640
641 Printing text over the line (such as @emph{gliss.}) is not supported.
642
643
644 @node Arpeggio
645 @unnumberedsubsubsec Arpeggio
646
647 @cindex Arpeggio
648 @cindex broken chord
649 @funindex \arpeggio
650
651 You can specify an arpeggio sign (also known as broken chord) on a
652 chord by attaching an @code{\arpeggio} to a chord
653
654 @lilypond[quote,ragged-right,fragment,relative=1,verbatim]
655 <c e g c>\arpeggio
656 @end lilypond
657
658 A square bracket on the left indicates that the player should not
659 arpeggiate the chord
660
661 @lilypond[quote,ragged-right,fragment,relative=1,verbatim]
662 \arpeggioBracket
663 <c' e g c>\arpeggio
664 @end lilypond
665
666 The direction of the arpeggio is sometimes denoted by adding an
667 arrowhead to the wiggly line
668
669 @lilypond[quote,ragged-right,fragment,relative=1,verbatim]
670 \new Voice {
671   \arpeggioUp
672   <c e g c>\arpeggio
673   \arpeggioDown
674   <c e g c>\arpeggio
675 }
676 @end lilypond
677
678
679 @commonprop
680
681 When an arpeggio crosses staves, you may attach an arpeggio to the chords
682 in both staves and set
683 @internalsref{PianoStaff}.@code{connectArpeggios}
684
685 @lilypond[quote,ragged-right,fragment,relative=1,verbatim]
686 \new PianoStaff <<
687   \set PianoStaff.connectArpeggios = ##t
688   \new Staff { <c' e g c>\arpeggio }
689   \new Staff { \clef bass <c,, e g>\arpeggio }
690 >>
691 @end lilypond
692
693 @c TODO: cross-voice arpeggio example?
694 @c such an example is already in LSR -J.Mandereau
695
696 @refcommands
697
698 @code{\arpeggio},
699 @funindex \arpeggioUp
700 @code{\arpeggioUp},
701 @funindex \arpeggioDown
702 @code{\arpeggioDown},
703 @funindex \arpeggioNeutral
704 @code{\arpeggioNeutral},
705 @funindex \arpeggioBracket
706 @code{\arpeggioBracket}.
707
708
709 @seealso
710
711 Notation manual: @ref{Ties}, for writing out arpeggios.
712
713 Program reference: @internalsref{Arpeggio}.
714
715
716 @refbugs
717
718 It is not possible to mix connected arpeggios and unconnected
719 arpeggios in one @internalsref{PianoStaff} at the same point in time.
720
721
722 @node Trills
723 @unnumberedsubsubsec Trills
724
725 Short trills are printed like normal articulation; see @ref{Articulations}.
726
727 Long running trills are made with @code{\startTrillSpan} and
728 @code{\stopTrillSpan},
729
730 @lilypond[verbatim,ragged-right,relative=2,quote,fragment]
731 \new Voice {
732   << { c1 \startTrillSpan }
733      { s2. \grace { d16[\stopTrillSpan e] } } >>
734   c4 }
735 @end lilypond
736
737 @cindex Pitched trills
738
739 Trills that should be executed on an explicitly specified pitch can be
740 typeset with the command @code{pitchedTrill},
741
742 @lilypond[ragged-right,verbatim,fragment,relative=1,quote]
743 \pitchedTrill c4\startTrillSpan fis
744 f\stopTrillSpan
745 @end lilypond
746
747 @noindent
748 The first argument is the main note.  The pitch of the second
749 is printed as a stemless note head in parentheses.
750
751
752 @refcommands
753
754 @code{\startTrillSpan},
755 @funindex \startTrillSpan
756 @code{\stopTrillSpan}.
757 @funindex \stopTrillSpan
758
759
760 @seealso
761
762 Program reference: @internalsref{TrillSpanner}.
763
764
765 @node Analysis brackets
766 @unnumberedsubsubsec Analysis brackets
767 @cindex brackets
768 @cindex phrasing brackets
769 @cindex musicological analysis
770 @cindex note grouping bracket
771
772 Brackets are used in musical analysis to indicate structure in musical
773 pieces.  LilyPond supports a simple form of nested horizontal
774 brackets.  To use this, add the @internalsref{Horizontal_bracket_engraver}
775 to @internalsref{Staff} context.  A bracket is started with
776 @code{\startGroup} and closed with @code{\stopGroup}
777
778 @lilypond[quote,ragged-right,verbatim]
779 \score {
780   \relative c'' {
781     c4\startGroup\startGroup
782     c4\stopGroup
783     c4\startGroup
784     c4\stopGroup\stopGroup
785   }
786   \layout {
787     \context {
788       \Staff \consists "Horizontal_bracket_engraver"
789 }}}
790 @end lilypond
791
792 @seealso
793
794 Program reference: @internalsref{HorizontalBracket}.
795
796
797