IETF Opus Characterization: MUSHRA and Crowd Sourcing?

Total Page:16

File Type:pdf, Size:1020Kb

IETF Opus Characterization: MUSHRA and Crowd Sourcing? IETF Opus Characterization: MUSHRA and Crowd Sourcing? Dr. Christian Hoene, Symonics GmbH, Novi Sad, Serbia, March 2013 IETF RFC 6716: Opus Speech and Audio Codec . by JM. Valin, K. Vos, T. Terriberry . Features . Bit rates: From 6 kbit/s to 510 kbit/s . Frame sizes: 2.5 ms to 60 ms . Sampling rates: 8 kHz to 48 kHz . Dynamic changeable modes and support for concealment of time adjustment . Open source and royalty free . Mandatory for WebRTC 11.03.2013 2 What is WebRTC? . A Browser with HTML5 and JavaScript . Real-time Voice + Video Codecs . Access to microphone and camera . RTP, RTCP, UDP, and rate control . Secure Transmission (SRTP) . NAT traversal (ICE, STUN, TURN) . Global IP Sound‘s acoustic processing routines . APIs for web programming 11.03.2013 3 Simple Video Communication Service http://tools.ietf.org/agenda/81/slides/rtcweb-1.pdf 11.03.2013 4 WebRTC Status as today . Google and Mozilla are shipping WebRTC browser for PCs, Android, and iOS . Opus, Microsoft and Apple will follow soon . Codecs: G.711, Opus, and probability VP8 WebRTC will change the telecom business! 11.03.2013 5 How does Opus work? . Opus consists of two coding algorithms . based on CELT and Silk respectively . Designed with the Internet specialists . Internet requirements . Wide range of bit and packet rates . Dynamically changing of modes . Support of playout adjustment . Similar royalty model as Internet protocols . Time line . Standardization started 2009 . RFC 6716 published Sep. 2012 . Next step: Formal Characterization of Opus. 11.03.2013 6 Operational Modes Hybrid Audio Codec CELT from Xiph.org Frequency Band Frequency Enhanced Speech Codec SILK from Skype Bit rate 11.03.2013 7 Best effort Internet requires a scalable codec Live Music Telephony Ultra-low Stereo Delay Hi-Fi HD Voice Telepresence Toll Music sharing Quality . 11.03.2013 8 Sound Check 11.03.2013 9 Analog Telephone (60s-70s) ITU-T P.48 : Specification for an intermediate reference system (300-3400 Hz) 11.03.2013 10 Digital, ISDN (80s) ITU-T G.711 : Pulse code modulation (PCM) of voice frequencies ITU-T P.830: Annex D - Modified IRS send and receive characteristics 11.03.2013 11 Cellular Phone (90s) Full rate speech; Transcoding (GSM 06.10 version 8.1.1 Release 1999) 11.03.2013 12 2000s: VoIP is not better ITU-T G.711 Appendix 1 Packet Loss Concealment, 60ms, 20% LR 11.03.2013 13 10s: Things getting better . Silk (16kHz, 16kb/s) . Silk (24kHz, 24kb/s) . PCM (48kHz, stereo) Voice sounds well with >16 kHz 11.03.2013 14 Adding DNA to Suzanne Vega . Reference . GSM (FR, 8 kbits) . Opus (stereo, 64 kHz, 64 kbits) 11.03.2013 15 Prof. Dr. Alexander Carôt . Computer scientists and musician . PhD on remote music collaboration . Uses CELT in Soundjack [http://www.carot.de/soundjack/] 11.03.2013 16 Soundjack Live Session 11.03.2013 17 Wideband Voice Tests by Google 2011 . Formal Listening-only Tests . Using MUSHRA Scale . 100 Perfect . 37 Toll Quality (MOS Value of about 4.5) . 0 Bad . About 20 Listeners 11.03.2013 18 Test Results 11.03.2013 19 Wideband Speech 11.03.2013 20 Stereo Music Results 11.03.2013 21 Formal Tests at Universität Tübingen . MUSHRA tests on published Opus version . Covering complete parameter spaces . Cross check with PEAQ and POLQA . 300 students willing to do the testing . starting March 2013 . We are looking for a partner to help us . do the crowd sourcing tests . and publish the results in an RFC and a scientific journal 11.03.2013 22 Questions to address . How good is crowd sourcing compared to formal MUSHRA testing? . In which quality ranges does crowd testing work well? . Which question about testing conditions to ask before doing the quality tests? . What kind of errors are introduced by crowd testing? . How well does Opus perform against other codecs? . What is better? Crowd or PEAQ/POLQA? 11.03.2013 23 Thank you very much Symonics GmbH Sand 13 72076 Tübingen Germany Phone: +49 7071 568130-0 Fax: +49 7071 568130-9 [email protected] 11.03.2013 24 .
Recommended publications
  • Space Application Development Board
    Space Application Development Board The Space Application Development Board (SADB-C6727B) enables developers to implement systems using standard and custom algorithms on processor hardware similar to what would be deployed for space in a fully radiation hardened (rad-hard) design. The SADB-C6727B is devised to be similar to a space qualified rad-hardened system design using the TI SMV320C6727B-SP DSP and high-rel memories (SRAM, SDRAM, NOR FLASH) from Cobham. The VOCAL SADB- C6727B development board does not use these high reliability space qualified components but rather implements various common bus widths and memory types/speeds for algorithm development and performance evaluation. VOCAL Technologies, Ltd. www.vocal.com 520 Lee Entrance, Suite 202 Tel: (716) 688-4675 Buffalo, New York 14228 Fax: (716) 639-0713 Audio inputs are handled by a TI ADS1278 high speed multichannel analog-to-digital converter (ADC) which has a variant qualified for space operation. Audio outputs may be generated from digital signal Pulse Density Modulation (PDM) or Pulse Width Modulation (PWM) signals to avoid the need for a space qualified digital-to-analog converter (DAC) hardware or a traditional audio codec circuit. A commercial grade AIC3106 audio codec is provided for algorithm development and for comparison of audio performance to PDM/PWM generated audio signals. Digital microphones (PDM or I2S formats) can be sampled by the processor directly or by the AIC3106 audio codec (PDM format only). Digital audio inputs/outputs can also be connected to other processors (using the McASP signals directly). Both SRAM and SDRAM memories are supported via configuration resistors to allow for developing and benchmarking algorithms using either 16-bit wide or 32-bit wide busses (also via configuration resistors).
    [Show full text]
  • Concatenation of Compression Codecs – the Need for Objective Evaluations
    Concatenation of compression codecs – The need for objective evaluations C.J. Dalton (UKIB) In this article the Author considers, firstly, a hypothetical broadcast network in which compression equipments have replaced several existing functions – resulting in multiple-cascading. Secondly, he describes a similar network that has been optimized for compression technology. Picture-quality assessment methods – both conventional and new, fied for still-picture applications in the printing in- subjective and objective – are dustry and was adapted to motion video applica- discussed with the aim of providing tions, by encoding on a picture-by-picture basis. background information. Some Various proprietary versions of JPEG, with higher proposals are put forward for compression ratios, were introduced to reduce the objective evaluation together with storage requirements, and alternative systems based on Wavelets and Fractals have been imple- initial observations when concaten- mented. Due to the availability of integrated hard- ating (cascading) codecs of similar ware, motion JPEG is now widely used for off- and different types. and on-line editing, disc servers, slow-motion sys- tems, etc., but there is little standardization and few interfaces at the compressed level. The MPEG-1 compression standard was aimed at 1. Introduction progressively-scanned moving images and has been widely adopted for CD-ROM and similar ap- Bit-rate reduction (BRR) techniques – commonly plications; it has also found limited application for referred to as compression – are now firmly estab- broadcast video. The MPEG-2 system is specifi- lished in the latest generation of broadcast televi- cally targeted at the complete gamut of video sys- sion equipments. tems; for standard-definition television, the MP@ML codec – with compression ratios of 20:1 Original language: English Manuscript received 15/1/97.
    [Show full text]
  • Ffmpeg Documentation Table of Contents
    ffmpeg Documentation Table of Contents 1 Synopsis 2 Description 3 Detailed description 3.1 Filtering 3.1.1 Simple filtergraphs 3.1.2 Complex filtergraphs 3.2 Stream copy 4 Stream selection 5 Options 5.1 Stream specifiers 5.2 Generic options 5.3 AVOptions 5.4 Main options 5.5 Video Options 5.6 Advanced Video options 5.7 Audio Options 5.8 Advanced Audio options 5.9 Subtitle options 5.10 Advanced Subtitle options 5.11 Advanced options 5.12 Preset files 6 Tips 7 Examples 7.1 Preset files 7.2 Video and Audio grabbing 7.3 X11 grabbing 7.4 Video and Audio file format conversion 8 Syntax 8.1 Quoting and escaping 8.1.1 Examples 8.2 Date 8.3 Time duration 8.3.1 Examples 8.4 Video size 8.5 Video rate 8.6 Ratio 8.7 Color 8.8 Channel Layout 9 Expression Evaluation 10 OpenCL Options 11 Codec Options 12 Decoders 13 Video Decoders 13.1 rawvideo 13.1.1 Options 14 Audio Decoders 14.1 ac3 14.1.1 AC-3 Decoder Options 14.2 ffwavesynth 14.3 libcelt 14.4 libgsm 14.5 libilbc 14.5.1 Options 14.6 libopencore-amrnb 14.7 libopencore-amrwb 14.8 libopus 15 Subtitles Decoders 15.1 dvdsub 15.1.1 Options 15.2 libzvbi-teletext 15.2.1 Options 16 Encoders 17 Audio Encoders 17.1 aac 17.1.1 Options 17.2 ac3 and ac3_fixed 17.2.1 AC-3 Metadata 17.2.1.1 Metadata Control Options 17.2.1.2 Downmix Levels 17.2.1.3 Audio Production Information 17.2.1.4 Other Metadata Options 17.2.2 Extended Bitstream Information 17.2.2.1 Extended Bitstream Information - Part 1 17.2.2.2 Extended Bitstream Information - Part 2 17.2.3 Other AC-3 Encoding Options 17.2.4 Floating-Point-Only AC-3 Encoding
    [Show full text]
  • Influence of Speech Codecs Selection on Transcoding Steganography
    Influence of Speech Codecs Selection on Transcoding Steganography Artur Janicki, Wojciech Mazurczyk, Krzysztof Szczypiorski Warsaw University of Technology, Institute of Telecommunications Warsaw, Poland, 00-665, Nowowiejska 15/19 Abstract. The typical approach to steganography is to compress the covert data in order to limit its size, which is reasonable in the context of a limited steganographic bandwidth. TranSteg (Trancoding Steganography) is a new IP telephony steganographic method that was recently proposed that offers high steganographic bandwidth while retaining good voice quality. In TranSteg, compression of the overt data is used to make space for the steganogram. In this paper we focus on analyzing the influence of the selection of speech codecs on hidden transmission performance, that is, which codecs would be the most advantageous ones for TranSteg. Therefore, by considering the codecs which are currently most popular for IP telephony we aim to find out which codecs should be chosen for transcoding to minimize the negative influence on voice quality while maximizing the obtained steganographic bandwidth. Key words: IP telephony, network steganography, TranSteg, information hiding, speech coding 1. Introduction Steganography is an ancient art that encompasses various information hiding techniques, whose aim is to embed a secret message (steganogram) into a carrier of this message. Steganographic methods are aimed at hiding the very existence of the communication, and therefore any third-party observers should remain unaware of the presence of the steganographic exchange. Steganographic carriers have evolved throughout the ages and are related to the evolution of the methods of communication between people. Thus, it is not surprising that currently telecommunication networks are a natural target for steganography.
    [Show full text]
  • TR 101 329-7 V1.1.1 (2000-11) Technical Report
    ETSI TR 101 329-7 V1.1.1 (2000-11) Technical Report TIPHON; Design Guide; Part 7: Design Guide for Elements of a TIPHON connection from an end-to-end speech transmission performance point of view 2 ETSI TR 101 329-7 V1.1.1 (2000-11) Reference DTR/TIPHON-05011 Keywords internet, IP, network, performance, protocol, quality, speech, voice ETSI 650 Route des Lucioles F-06921 Sophia Antipolis Cedex - FRANCE Tel.:+33492944200 Fax:+33493654716 Siret N° 348 623 562 00017 - NAF 742 C Association à but non lucratif enregistrée à la Sous-Préfecture de Grasse (06) N° 7803/88 Important notice Individual copies of the present document can be downloaded from: http://www.etsi.org The present document may be made available in more than one electronic version or in print. In any case of existing or perceived difference in contents between such versions, the reference version is the Portable Document Format (PDF). In case of dispute, the reference shall be the printing on ETSI printers of the PDF version kept on a specific network drive within ETSI Secretariat. Users of the present document should be aware that the document may be subject to revision or change of status. Information on the current status of this and other ETSI documents is available at http://www.etsi.org/tb/status/ If you find errors in the present document, send your comment to: [email protected] Copyright Notification No part may be reproduced except as authorized by written permission. The copyright and the foregoing restriction extend to reproduction in all media.
    [Show full text]
  • Ffmpeg Codecs Documentation Table of Contents
    FFmpeg Codecs Documentation Table of Contents 1 Description 2 Codec Options 3 Decoders 4 Video Decoders 4.1 hevc 4.2 rawvideo 4.2.1 Options 5 Audio Decoders 5.1 ac3 5.1.1 AC-3 Decoder Options 5.2 flac 5.2.1 FLAC Decoder options 5.3 ffwavesynth 5.4 libcelt 5.5 libgsm 5.6 libilbc 5.6.1 Options 5.7 libopencore-amrnb 5.8 libopencore-amrwb 5.9 libopus 6 Subtitles Decoders 6.1 dvbsub 6.1.1 Options 6.2 dvdsub 6.2.1 Options 6.3 libzvbi-teletext 6.3.1 Options 7 Encoders 8 Audio Encoders 8.1 aac 8.1.1 Options 8.2 ac3 and ac3_fixed 8.2.1 AC-3 Metadata 8.2.1.1 Metadata Control Options 8.2.1.2 Downmix Levels 8.2.1.3 Audio Production Information 8.2.1.4 Other Metadata Options 8.2.2 Extended Bitstream Information 8.2.2.1 Extended Bitstream Information - Part 1 8.2.2.2 Extended Bitstream Information - Part 2 8.2.3 Other AC-3 Encoding Options 8.2.4 Floating-Point-Only AC-3 Encoding Options 8.3 flac 8.3.1 Options 8.4 opus 8.4.1 Options 8.5 libfdk_aac 8.5.1 Options 8.5.2 Examples 8.6 libmp3lame 8.6.1 Options 8.7 libopencore-amrnb 8.7.1 Options 8.8 libopus 8.8.1 Option Mapping 8.9 libshine 8.9.1 Options 8.10 libtwolame 8.10.1 Options 8.11 libvo-amrwbenc 8.11.1 Options 8.12 libvorbis 8.12.1 Options 8.13 libwavpack 8.13.1 Options 8.14 mjpeg 8.14.1 Options 8.15 wavpack 8.15.1 Options 8.15.1.1 Shared options 8.15.1.2 Private options 9 Video Encoders 9.1 Hap 9.1.1 Options 9.2 jpeg2000 9.2.1 Options 9.3 libkvazaar 9.3.1 Options 9.4 libopenh264 9.4.1 Options 9.5 libtheora 9.5.1 Options 9.5.2 Examples 9.6 libvpx 9.6.1 Options 9.7 libwebp 9.7.1 Pixel Format 9.7.2 Options 9.8 libx264, libx264rgb 9.8.1 Supported Pixel Formats 9.8.2 Options 9.9 libx265 9.9.1 Options 9.10 libxvid 9.10.1 Options 9.11 mpeg2 9.11.1 Options 9.12 png 9.12.1 Private options 9.13 ProRes 9.13.1 Private Options for prores-ks 9.13.2 Speed considerations 9.14 QSV encoders 9.15 snow 9.15.1 Options 9.16 vc2 9.16.1 Options 10 Subtitles Encoders 10.1 dvdsub 10.1.1 Options 11 See Also 12 Authors 1 Description# TOC This document describes the codecs (decoders and encoders) provided by the libavcodec library.
    [Show full text]
  • Technical Manual Creating Media for the Motorola V1100
    Technical Manual Creating Media for the Motorola V1100 Version 01.00 Table of Contents TABLE OF CONTENTS ............................................................................................................................. 2 TABLE OF FIGURES ................................................................................................................................. 3 INDEX OF TABLES.................................................................................................................................... 4 OVERVIEW ................................................................................................................................................. 5 GLOSSARY ................................................................................................................................................... 5 REFERENCES ............................................................................................................................................... 6 REVISION HISTORY ..................................................................................................................................... 6 DISPLAY ...................................................................................................................................................... 7 DISPLAY INFO ............................................................................................................................................. 8 GRAPHICS & VIDEO................................................................................................................................
    [Show full text]
  • G.729/A Speech Coder: Multichannel Tms320c62x Implementation (Rev. B)
    Application Report SPRA564B - February 2000 G.729/A Speech Coder: Multichannel TMS320C62x Implementation Chiouguey Chen C6000 Applications Xiangdong Fu ABSTRACT This document provides a detailed description of the implementation of the G.729 speech encoder and decoder (codec) on the Texas Instruments (TI) TMS320C6201 digital signal processor (DSP). Topics include program structure, code writing rules, data/program memory requirements, and performance evaluation. Issues regarding multichannel implementation and interrupts are also addressed. Contents 1 Introduction . 2 2 Multichannel System . 2 3 Algorithm Description . 4 3.1 Encoder Structure . 4 3.2 Decoder Structure . 5 4 Coding Guidelines . 5 4.1 Variable, Array, and Pointer Names. 5 4.2 Math Operations . 5 4.3 Tables and Functions. 5 4.4 Interrupt Issues . 5 4.4.1 Interrupts at the Frame Boundary. 6 4.4.2 Interrupts at the Submodule Boundary. 6 5 Data Memory Requirements. 6 5.1 Memory for Context Data. 6 5.2 Memory for Tables . 8 5.3 Memory for Local Variables and Arrays. 10 6 Performance/Code Size Results. 10 7 References . 10 List of Figures Figure 1. Framework Initialization. 3 Figure 2. Framework Kernel . 3 List of Tables Table 1. Encoder Context Data Structure (ENCODER_G729_MEM_BLK). 7 Table 2. Decoder Context Data Structure (DECODER_G729_MEM_BLK). 8 Table 3. List of G.729_TABLES. 9 Table 4. G.729/A Performance/Code Size Results. 10 TI is a trademark of Texas Instruments Incorporated. 1 SPRA564B 1 Introduction This document provides a detailed description of the implementation of the G.729/A speech encoder and decoder (codec) the Texas Instruments (TI) TMS320C6201 digital signal processor (DSP).
    [Show full text]
  • AMR Wideband Speech Codec; Feasibility Study Report (3GPP TR 26.901 Version 4.0.1 Release 4)
    ETSI TR 126 901 V4.0.1 (2001-04) Technical Report Universal Mobile Telecommunications System (UMTS); AMR wideband speech codec; Feasibility study report (3GPP TR 26.901 version 4.0.1 Release 4) 3GPP TR 26.901 version 4.0.1 Release 4 1 ETSI TR 126 901 V4.0.1 (2001-04) Reference DTR/TSGS-0426901Uv4 Keywords UMTS ETSI 650 Route des Lucioles F-06921 Sophia Antipolis Cedex - FRANCE Tel.:+33492944200 Fax:+33493654716 Siret N° 348 623 562 00017 - NAF 742 C Association à but non lucratif enregistrée à la Sous-Préfecture de Grasse (06) N° 7803/88 Important notice Individual copies of the present document can be downloaded from: http://www.etsi.org The present document may be made available in more than one electronic version or in print. In any case of existing or perceived difference in contents between such versions, the reference version is the Portable Document Format (PDF). In case of dispute, the reference shall be the printing on ETSI printers of the PDF version kept on a specific network drive within ETSI Secretariat. Users of the present document should be aware that the document may be subject to revision or change of status. Information on the current status of this and other ETSI documents is available at http://www.etsi.org/tb/status/ If you find errors in the present document, send your comment to: [email protected] Copyright Notification No part may be reproduced except as authorized by written permission. The copyright and the foregoing restriction extend to reproduction in all media. © European Telecommunications Standards Institute 2001.
    [Show full text]
  • Joint Effect of Channel Coding and AMR Compression on Speech Quality Minh Quang Nguyen, Hang Nguyen
    Joint effect of channel coding and AMR compression on speech quality Minh Quang Nguyen, Hang Nguyen To cite this version: Minh Quang Nguyen, Hang Nguyen. Joint effect of channel coding and AMR compression on speech quality. WICOM 2015 : 11th International Conference on Wireless Communications, Networking and Mobile Computing, Sep 2015, Shanghai, China. pp.291 - 295. hal-01272054 HAL Id: hal-01272054 https://hal.archives-ouvertes.fr/hal-01272054 Submitted on 10 Feb 2016 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Joint effect of channel coding and AMR compression on speech quality Minh-Quang Nguyen and Hang Nguyen Department of Wireless Network and Multimedia Services Institut Mines-Telecom - Telecom SudParis Samovar Laboratory, UMR 5157, CNRS, Evry, France fminh quang.nguyen, [email protected] Abstract—In this paper, we estimate the effect of joint converse to JSCC: for any joint source-channel scheme, the Adaptive Multirate (AMR) compression and channel coding success probability approaches zero as the block length in- on quality of speech data. In our simulation, speech data is creases if source is compressed with distortion below threshold transferred over AWGN channel after performing 8 AMR codec which is lower than the optimal distortion.
    [Show full text]
  • TR 101 329 V1.2.5 (1998-10) Technical Report
    TR 101 329 V1.2.5 (1998-10) Technical Report Telecommunications and Internet Protocol Harmonization Over Networks (TIPHON); General aspects of Quality of Service (QoS) 2 TR 101 329 V1.2.5 (1998-10) Reference DTR/TIPHON-05001 (cb000irg.PDF) Keywords Internet, telephony, quality ETSI Postal address F-06921 Sophia Antipolis Cedex - FRANCE Office address 650 Route des Lucioles - Sophia Antipolis Valbonne - FRANCE Tel.: +33 4 92 94 42 00 Fax: +33 4 93 65 47 16 Siret N° 348 623 562 00017 - NAF 742 C Association à but non lucratif enregistrée à la Sous-Préfecture de Grasse (06) N° 7803/88 Internet [email protected] http://www.etsi.org Copyright Notification No part may be reproduced except as authorized by written permission. The copyright and the foregoing restriction extend to reproduction in all media. © European Telecommunications Standards Institute 1998. All rights reserved. ETSI 3 TR 101 329 V1.2.5 (1998-10) Contents Intellectual Property Rights................................................................................................................................5 Foreword ............................................................................................................................................................5 1 Scope........................................................................................................................................................6 2 References................................................................................................................................................6
    [Show full text]
  • Full Rate Speech; Processing Functions (3GPP TS 46.001 Version 7.0.0 Release 7)
    ETSI TS 146 001 V7.0.0 (2007-06) Technical Specification Digital cellular telecommunications system (Phase 2+); Full rate speech; Processing functions (3GPP TS 46.001 version 7.0.0 Release 7) R GLOBAL SYSTEM FOR MOBILE COMMUNICATIONS 3GPP TS 46.001 version 7.0.0 Release 7 1 ETSI TS 146 001 V7.0.0 (2007-06) Reference RTS/TSGS-0446001v700 Keywords GSM ETSI 650 Route des Lucioles F-06921 Sophia Antipolis Cedex - FRANCE Tel.: +33 4 92 94 42 00 Fax: +33 4 93 65 47 16 Siret N° 348 623 562 00017 - NAF 742 C Association à but non lucratif enregistrée à la Sous-Préfecture de Grasse (06) N° 7803/88 Important notice Individual copies of the present document can be downloaded from: http://www.etsi.org The present document may be made available in more than one electronic version or in print. In any case of existing or perceived difference in contents between such versions, the reference version is the Portable Document Format (PDF). In case of dispute, the reference shall be the printing on ETSI printers of the PDF version kept on a specific network drive within ETSI Secretariat. Users of the present document should be aware that the document may be subject to revision or change of status. Information on the current status of this and other ETSI documents is available at http://portal.etsi.org/tb/status/status.asp If you find errors in the present document, please send your comment to one of the following services: http://portal.etsi.org/chaircor/ETSI_support.asp Copyright Notification No part may be reproduced except as authorized by written permission.
    [Show full text]