User Tools

Site Tools


eg-ui-graphics-req-audiorouting

AudioRouting: Use cases and Requirement

How to modify tables see here https://www.dokuwiki.org/wiki:syntax#tables

Contributor

Toshiaki Isogai
Manuel Bachmann
Tsuyoshi Sakamoto
Naohiro Nishiguchi

Use cases

No Name Description Recommended solution (if you have) Proposer
0(example) When Car Navigation output Audio as high priority, current audio, e.g. multimeida needs tofaded out and then audio from Car navigation fades in N/A Toshiaki Isogai
Active source change When user choose different audio source with current one, IVI system stop or pause current source and activate new one. TBD Toshiaki Isogai
Active source change When user connect external device e.g. iPhone, USB memory IVI system change active source automatically to connected one. TBD Toshiaki Isogai
Active source management When user disconnect external device which is currently audible, IVI system automatically disable it and change to next source. TBD Toshiaki Isogai
Active source locking When user is in phone call, IVI restrict to change active source. TBD Toshiaki Isogai
Active sink change When user connect external device e.g. Headphone current audio source will be automatically routed. TBD Toshiaki Isogai
Interrupt source mixing When car close to cross road IVI system reduce the volume of current source and mix with interrupt source e.g. Navigation Guidance. TBD Toshiaki Isogai
Interrupt source mixing When user start speech recognition, IVI system automatically reduce/mute the volume of current active source. TBD Toshiaki Isogai
Last source management When user turn on engine, IVI system start playing the last remaining source. TBD Toshiaki Isogai
Start-up sound During start-up sound, IVI system mute the last remaining source. TBD Toshiaki Isogai
Start-up sound After start-up sound is completed, IVI system recover the volume of the last remaining source. TBD Toshiaki Isogai
Ending sound When user stop the IVI system, it play ending sound. TBD Toshiaki Isogai
Ending sound During ending sound is playing, the IVI system wait shutting down. TBD Toshiaki Isogai
Volume change User can change the volume of active source or sink. TBD Toshiaki Isogai
Volume change When user change volume during interruption e.g. Navigation Guidance, IVI system change its volume temporary or permanently. TBD Toshiaki Isogai
Mute/unmute User can mute/unmute current active source. TBD Toshiaki Isogai
Volume normalization IVI system normalize the volume between different sources. TBD Toshiaki Isogai
Volume management When user change active source, IVI system mute/unmute to avoid distortion of sound. TBD Toshiaki Isogai
Volume acceleration When road noise is increased by speed, IVI system automatically change the volume of active source. TBD Toshiaki Isogai
Fader/Balance control User can configure the focus of volume in the location of car. TBD Toshiaki Isogai
Equalizer setting User can change equalizer setting TBD Toshiaki Isogai
Sound Effect Provide a capability of sound effect when changing sound stream, e.g. fade-in, fade-out and cross-fade TBD Tsuyoshi Sakamoto
Routing sound System needs to route sound stream to proper zones. (driver zone, passenger zone, rear seat zone) TBD Tsuyoshi Sakamoto
Last Volume management When user turn on engine, IVI system start playing the last remaining source with last Volume. TBD Naohiro Nishiguchi
Volume management When vehicle detect moving objects and external ECU output sounds(e.g. Alert), IVI system mute(or reduce) volume of active source of IVI system TBD Naohiro Nishiguchi

Requirement

Premise

Ther are several Hardware architectures as presented by MAZDA in ALS 2017.

  • Compact spec
    • There are several communication protcol between SoC and others.
    • Sound devices are connected to SoC directly.
    • All audio streaming are visible and appliication can control audio streaming and volume directly.
      • SoC is master of volume
  • Luxury spec
    • There are several communication protcol between SoC and others.
    • Some sound devices are NOT connected to SoC.
    • Some audio streaming are INVISIBLE and application can NOT control audio streaming and volume. e.g. Meter, Camera to AMP
      • External ECU is master of volume

Requirement list

No name Description AAAA SoundManager based on GAM
0(example) Nobuhiko Tanibata A rule which is that fade-in/out of interrupt audio and current audio shall be defined with any toolkit. N/A N/A
1 Naohiro Nishiguchi Shall be able to apply business logic implicitly. (*1) Coverd
2 Naohiro Nishiguchi Shall have a persistency for sound source. Coverd
3 Naohiro Nishiguchi Shall have a persistency for sound volume. Coverd
4 Naohiro Nishiguchi Shall know all sound sources and sinks in IVI system. Coverd
5 Naohiro Nishiguchi Shall manage sound route regardless of source and sink location. Coverd
6 Naohiro Nishiguchi Shall manage volume regardless of the master of volume location. Coverd
7 Naohiro Nishiguchi Shall be able to be used by application developper easily. Coverd. ApplicationGuide is here
8 Naohiro Nishiguchi Shall be designed to support various kinds of communication protocols. e.g. MOST,CAN,,, Coverd
9

*1: There are major 4 patterns of arbitration(policy) in automotive

  1. The latter source win
    Discards the former source and output the latter source.
  2. The latter source win and the former source pause
    Pauses the former source and output the latter.
  3. The latter loose
    Continues former source and discards the latter source.
  4. The latter source is put on hold
    Continues former source and puts latter source on hold

Known solutions

Name GENIVI Audio Manager
Description A framework for managing audio in an In-Vehicle Infotainment (IVI) context.
Homepage http://projects.genivi.org/audio-manager/
Repository AudioManager Git - AudioManagerPlugins Git
Maintainer GENIVI
Ecosystem GENIVI
License MPL-2.0
Dependencies (not in AGL) CommonAPI, Dlt logging, Persistence, Node-state-manager… (7)
Name Tizen PulseAudio Module (Murphy IVI)
Description A native PulseAudio module using the Murphy policy manager along with the LUA scripting language to prioritize audio streams.
Homepage https://github.com/otcshare/pulseaudio-module-murphy-ivi
Repository GitHub
Maintainer Intel (j…s@intel.com)
Ecosystem Tizen
License LGPLv2
Dependencies (not in AGL) Murphy (1)
Analysis Murphy and LUA represent an unnecessary burden for an initial demo implementation; work-in-progress involves removing them for a simpler static logic.
Name Tizen PulseAudio Module (VConf)
Description A native PulseAudio module using a static logic along with the VConf Tizen library to prioritize audio streams.
Homepage
Repository Tizen Git
Maintainer Samsung (…@samsung.com)
Ecosystem Tizen
License LGPLv2.1
Dependencies (not in AGL) VConf (1)
Analysis VConf represents an unnecessary burden for an initial demo implementation; the global logic does not seem feature-complete enough for above requirements, though.

Work-in-progress status

Manuel Bachmann is working on Tizen PulseAudio Module (Murphy IVI) to remove dependencies on Murphy and LUA, and provide a demo implementation fitting above requirements (2016/04/04).

Work can be followed here : https://github.com/Tarnyko/pulseaudio-module-murphy-ivi

(done so far : ported Tizen IVI PulseAudio 5.0 patches to AGL PulseAudio 6.0)

(planned for Week 23, June 9th 2016 : initial code sharing and demo)

PulseAudio plugin initial draft : https://github.com/Tarnyko/agl-audio-plugin

meta-agl recipes : https://gerrit.automotivelinux.org/gerrit/gitweb?p=AGL/meta-agl.git;a=shortlog;h=refs/heads/sandbox/mbc/agl-audio-plugin

PulseAudio plugin routing diagram : (PNG image)

PulseAudio plugin - AudioManager socket communication proposal : (ODP slides) - (PDF slides)

Documents and proposals

The following presentation was issued before the May F2F Meeting, sums up the state of audio routing in GENIVI/Tizen, and contains a proposal for an AGL audio routing model :

Pre-F2F Audio Routing proposal.

The following diagram was issued during the May F2F Meeting, and corrects/completes this proposal :

Last F2F Audio Routing proposal

eg-ui-graphics-req-audiorouting.txt · Last modified: 2017/08/31 03:16 by nnishiguchi