User Tools

Site Tools


eg-ui-graphics-req-audiorouting

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
eg-ui-graphics-req-audiorouting [2016/04/04 10:52]
mbc Add reference to Tizen Audio Plugin (VConf)
eg-ui-graphics-req-audiorouting [2017/08/31 03:16] (current)
nnishiguchi [Requirement list]
Line 6: Line 6:
 Toshiaki Isogai\\ Toshiaki Isogai\\
 Manuel ​ Bachmann\\ Manuel ​ Bachmann\\
-Tsuyoshi Sakamoto+Tsuyoshi Sakamoto\\ 
 +Naohiro Nishiguchi
  
 ===== Use cases ===== ===== Use cases =====
 ^ No          ^ Name                      ^ Description ​                                                                                                                                     ^ Recommended solution (if you have)  ^ Proposer ​        ^ ^ 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 ​ | +| 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 ​ | 
-1           | 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 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 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 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 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 ​ | +           | 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 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 ​ | +           | 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 ​ | +           | 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           ​| 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 ​ | +           | 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             ​| 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 ​ | +           | 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 ​           | 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 ​ | +           | 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 ​ | +           | Mute/​unmute ​             | User can mute/unmute current active source. ​                                                                                                     | TBD                                 | Toshiaki Isogai ​ | 
-            ​| Volume management ​        ​| When user change active source, IVI system mute/unmute to avoid distortion of sound. ​                                                            | TBD                                 | Toshiaki Isogai ​ | +           | Volume normalization ​    | IVI system normalize the volume between different sources. ​                                                                                      | 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 ​ | +           | 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 ​ | +           | 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 ​ | +           | 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 ​ | +           | 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 ​ |+           | 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. 
 +{{:​typicalaudiosystemarchiteture.png?​dire - ct|}}
 +    * 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|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 [[soundmanager|here]] |
 +| 8           | Naohiro Nishiguchi ​ | Shall be designed to support various kinds of communication protocols. e.g. MOST,​CAN,,, ​                 |       | Coverd ​                   |
 +| 9           ​| ​                    ​| ​                                                                                                         |       ​| ​                        |
  
  
-===== Requirement ===== +*1: There are major 4 patterns of arbitration(policyin automotive 
-^ No      ^ name ^ Description ​         ^ Recommended solution ​(if you have^ +  The latter source win \\ Discards the former source ​and output the latter source. 
-| 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  +  - The latter source win and the former source pause \\  Pauses the former source and output the latter. 
-| 1| | | | +  - The latter loose \\ Continues former source and discards the latter source. 
-| 2| | | | +  - The latter source is put on hold \\ Continues former source and puts latter source on hold
- +
  
 ===== Known solutions ===== ===== Known solutions =====
Line 55: Line 82:
 | License | MPL-2.0| | License | MPL-2.0|
 | Dependencies (not in AGL) | CommonAPI, Dlt logging, Persistence,​ Node-state-manager... (7)| | 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 [[https://​01.org/​murphy|Murphy]] policy manager along with the [[https://​www.lua.org/​|LUA]] scripting language to prioritize audio streams.//| 
-| Homepage| [[https://​github.com/​otcshare/​pulseaudio-module-murphy-ivi]]| 
-| Repository| [[https://​github.com/​otcshare/​pulseaudio-module-murphy-ivi|GitHub]]| 
-| Maintainer| Intel (j...s@intel.com)| 
-| Ecosystem| Tizen| 
-| License | LGPLv2| 
-| Dependencies (not in AGL) | [[https://​github.com/​01org/​murphy|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 (Murphy IVI) ^ 
-| Description| //A native PulseAudio module using the [[https://​01.org/​murphy|Murphy]] policy manager along with the [[https://​www.lua.org/​|LUA]] scripting language to prioritize audio streams.//| 
-| Homepage| [[https://​github.com/​otcshare/​pulseaudio-module-murphy-ivi]]| 
-| Repository| [[https://​github.com/​otcshare/​pulseaudio-module-murphy-ivi|GitHub]]| 
-| Maintainer| Intel (j...s@intel.com)| 
-| Ecosystem| [[https://​www.tizen.org/​|Tizen]]| 
-| License | LGPLv2| 
-| Dependencies (not in AGL) | [[https://​github.com/​01org/​murphy|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 (Murphy IVI) ^ ^ Name ^ Tizen PulseAudio Module (Murphy IVI) ^
Line 98: Line 105:
 ===== Work-in-progress status ===== ===== 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 :
 +[[http://​www.tarnyko.net/​repo/​agl-audio-plugin_Routing.png|(PNG image)]]
 +
 +PulseAudio plugin - AudioManager socket communication proposal : [[http://​www.tarnyko.net/​repo/​agl-audio-plugin_Routing_proposal.odp|(ODP slides)]] - [[http://​www.tarnyko.net/​repo/​agl-audio-plugin_Routing_proposal.pdf|(PDF slides)]]
 +
 +===== Documents and proposals =====
 +
 +The following presentation was issued before the [[https://​wiki.automotivelinux.org/​agl-distro/​may2016-f2f| May F2F Meeting]], sums up the state of audio routing in GENIVI/​Tizen,​ and contains a proposal for an AGL audio routing model :
 +
 +[[http://​iot.bzh/​download/​public/​2016/​publications/​Audio_Management_pre-F2F.pdf| Pre-F2F Audio Routing proposal]].
 +
 +The following diagram was issued during the [[https://​wiki.automotivelinux.org/​agl-distro/​may2016-f2f| May F2F Meeting]], and corrects/​completes this proposal :
  
 +[[http://​iot.bzh/​download/​public/​2016/​publications/​Audio_Management-F2F.pdf| Last F2F Audio Routing proposal]]
eg-ui-graphics-req-audiorouting.1459767161.txt.gz · Last modified: 2016/04/04 10:52 by mbc