This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
eg-ui-graphics-req-audiorouting [2016/04/18 12:37] mbc [Work-in-progress status] |
eg-ui-graphics-req-audiorouting [2017/08/31 03:16] 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 ===== | ===== Requirement ===== | ||
- | ^ No ^ name ^ Description ^ Recommended solution (if you have) ^ | + | ==== Premise ==== |
- | | 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 | | + | Ther are several Hardware architectures as presented by MAZDA in ALS 2017. |
- | | 1| | | | | + | {{:typicalaudiosystemarchiteture.png?dire - ct|}} |
- | | 2| | | | | + | * 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 | | | | | | ||
+ | |||
+ | *1: There are major 4 patterns of arbitration(policy) in automotive | ||
+ | - The latter source win \\ Discards the former source and output the latter source. | ||
+ | - The latter source win and the former source pause \\ Pauses the former source and output the latter. | ||
+ | - The latter loose \\ Continues former source and discards the latter source. | ||
+ | - The latter source is put on hold \\ Continues former source and puts latter source on hold | ||
===== Known solutions ===== | ===== Known solutions ===== | ||
Line 81: | Line 108: | ||
Work can be followed here : [[https://github.com/Tarnyko/pulseaudio-module-murphy-ivi]] | 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) | + | |
+ | //(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]] |