No version for distro humble showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 1.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description ROS 2 packages for CyberDog
Checkout URI https://github.com/miroboticslab/cyberdog_ros2.git
VCS Type git
VCS Version main
Last Updated 2021-10-15
Dev Status UNKNOWN
Released UNRELEASED
Tags robotics ros ros2 cyberdog
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Audio interaction package

Additional Links

No additional links.

Maintainers

  • jia

Authors

No additional authors.

audio_interaction


模块简介

该模块用于实现整个音频模块的交互部分,主要包括以下几个方面的功能: 1、与其它模块之间关于通用播放的交互功能 2、语音助手相关控制与交互功能(APP(grpc)、决策模块) 3、与APP(grpc)之间关于音量调解的交互功能

播放功能

简介

本模块实现了一个action server作为通用播放接口,其它任意模块可以通过实现action client来请求播放本地音频文件以实现播放提醒的功能。

目前语音播放的action接口播放的实现是阻塞的,即在播放一条本地音频(current_goal)的同时会拒绝接受新的播放请求(pending_goal),直到当前音频播放完毕,才有新的请求能被接收进来,后期的持续升级中,此处将会将当前设计修改为:播放一条本地音频的同时会一定程度上接受有限数量的放请求,audio_base中的播放器会将这些本地的音频播报请求做混音(mix)处理,这样就可以同时满足一定数量的请求能够被同时播放出来。

混音播放多条请求的同时,为了提供更好的听觉体验,后续升级的同时,该模块将根据播放的内容, 将这些本地音源处理为不同优先的的播报类型,混音的同时,将根据播报的类型,将各个混音的音源对象做出相应的音量调节,敬请期待。

音频播放时音频模块最基础的功能,下面着重介绍。

接口描述

action name: audio_play 此处介绍audio server与client之间的接口描述,以便了解如何实现,具体的底层播放的实现细节请参见audio base 模块的README。 回调: check_play_request 涉及的接口文件如下: AudioPlay.msg 文件定义了整个action接口的结构,分为order,result,feedback三部分,如下,每部分又有单独的msg文件来定义,下方可见具体介绍。

    # goal definition
    AudioOrder order
    ---
    # result definition
    AudioResult result文件
    ---
    # feedback
    AudioFeedback feed

AudioOrder.msg order部分由三部分构成,第一部分为一个时间戳,第二部分为具体播放的曲目,第三部分为发出order请求的模块,后两部分由单独的msg文件定义

    # Time
    std_msgs/Header header
    # Song name
    AudioSongName name
    # User
    AudioUser  user

由于后期产品定义的调整,以及考虑开发者应用更加方便,AudioSongName中的定义目前已弃用,此处可直接传入一个uint16的值,这个值的具体含义可解析为一个本地(/opt/ros2/cyberdog/data/wav/)的wav文件,具体的含义可见附录。

此处支持个人开发者自由生成音频文件来扩充本地音频支援,目前支持的格式为: 采样率:16000 通道数:1 数据格式:16bit 小端 后续OTA持续升级过程中,我们将开放更广泛的采样率支持,敬请期待。

AudioUser.msg 此处定义了此action client端的具体模块名(后续优化中将被替换为优先级)

    # Assistant Messages
    #
    #
    int8 DEFAULT           = 0
    int8 STARTER           = 1
    int8 POWER             = 2
    int8 TOUCH             = 3
    int8 CAMERA            = 4
    int8 APP               = 5
    int8 BLUETOOTH         = 6
    int8 WIFI              = 7
    int8 XIAOAI            = 8
    #
    int8 id
    #

模块内部完成音播放是通过使用audio base模块中提供的方法来实现的。

在本模块中的相关实现可参见以下方法,其中play_callback在播放完成后会自动调用。

void player_init();
void player_handle(int id);
void play_callback();

语音助手控制与交互功能

功能介绍

音频模块除了支持基本的播放功能外,还支持语音助手的功能,语音助手的具体集成实现可参见audio assistant模块的README,该模块只介绍通过APP控制语音助手的交互功能。

这部分的具体功能分为以下几部分: 1、接收APP的指令,完成对语音助手的开关控制(决定助手功能功能的工作状态:是否开启) 2、查询语音助手的工作状态,并与APP的控制状态同步 3、接收语音助手发出的运动控制的指令,通知决策模块对应语音指令的下发 4、接收APP发来的获取device id的请求,并返回device id 5、接收APP发来的传输token的请求,检测token的正确性后,将token写入token.toml文件中 6、检测当前网络状态并广播

此处需要注意的是,为了提高跨平台通信的效率,模块与APP之间的通信引入了grpc的解决方案,grpc的引入不影响本模块代码的正常书写,了解grpc的解决方案,可参考cyberdog_grpc模块的README以及代码实现。

接下来选择性得介绍以上功能的重点部分。

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged audio_interaction at Robotics Stack Exchange

No version for distro jazzy showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 1.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description ROS 2 packages for CyberDog
Checkout URI https://github.com/miroboticslab/cyberdog_ros2.git
VCS Type git
VCS Version main
Last Updated 2021-10-15
Dev Status UNKNOWN
Released UNRELEASED
Tags robotics ros ros2 cyberdog
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Audio interaction package

Additional Links

No additional links.

Maintainers

  • jia

Authors

No additional authors.

audio_interaction


模块简介

该模块用于实现整个音频模块的交互部分,主要包括以下几个方面的功能: 1、与其它模块之间关于通用播放的交互功能 2、语音助手相关控制与交互功能(APP(grpc)、决策模块) 3、与APP(grpc)之间关于音量调解的交互功能

播放功能

简介

本模块实现了一个action server作为通用播放接口,其它任意模块可以通过实现action client来请求播放本地音频文件以实现播放提醒的功能。

目前语音播放的action接口播放的实现是阻塞的,即在播放一条本地音频(current_goal)的同时会拒绝接受新的播放请求(pending_goal),直到当前音频播放完毕,才有新的请求能被接收进来,后期的持续升级中,此处将会将当前设计修改为:播放一条本地音频的同时会一定程度上接受有限数量的放请求,audio_base中的播放器会将这些本地的音频播报请求做混音(mix)处理,这样就可以同时满足一定数量的请求能够被同时播放出来。

混音播放多条请求的同时,为了提供更好的听觉体验,后续升级的同时,该模块将根据播放的内容, 将这些本地音源处理为不同优先的的播报类型,混音的同时,将根据播报的类型,将各个混音的音源对象做出相应的音量调节,敬请期待。

音频播放时音频模块最基础的功能,下面着重介绍。

接口描述

action name: audio_play 此处介绍audio server与client之间的接口描述,以便了解如何实现,具体的底层播放的实现细节请参见audio base 模块的README。 回调: check_play_request 涉及的接口文件如下: AudioPlay.msg 文件定义了整个action接口的结构,分为order,result,feedback三部分,如下,每部分又有单独的msg文件来定义,下方可见具体介绍。

    # goal definition
    AudioOrder order
    ---
    # result definition
    AudioResult result文件
    ---
    # feedback
    AudioFeedback feed

AudioOrder.msg order部分由三部分构成,第一部分为一个时间戳,第二部分为具体播放的曲目,第三部分为发出order请求的模块,后两部分由单独的msg文件定义

    # Time
    std_msgs/Header header
    # Song name
    AudioSongName name
    # User
    AudioUser  user

由于后期产品定义的调整,以及考虑开发者应用更加方便,AudioSongName中的定义目前已弃用,此处可直接传入一个uint16的值,这个值的具体含义可解析为一个本地(/opt/ros2/cyberdog/data/wav/)的wav文件,具体的含义可见附录。

此处支持个人开发者自由生成音频文件来扩充本地音频支援,目前支持的格式为: 采样率:16000 通道数:1 数据格式:16bit 小端 后续OTA持续升级过程中,我们将开放更广泛的采样率支持,敬请期待。

AudioUser.msg 此处定义了此action client端的具体模块名(后续优化中将被替换为优先级)

    # Assistant Messages
    #
    #
    int8 DEFAULT           = 0
    int8 STARTER           = 1
    int8 POWER             = 2
    int8 TOUCH             = 3
    int8 CAMERA            = 4
    int8 APP               = 5
    int8 BLUETOOTH         = 6
    int8 WIFI              = 7
    int8 XIAOAI            = 8
    #
    int8 id
    #

模块内部完成音播放是通过使用audio base模块中提供的方法来实现的。

在本模块中的相关实现可参见以下方法,其中play_callback在播放完成后会自动调用。

void player_init();
void player_handle(int id);
void play_callback();

语音助手控制与交互功能

功能介绍

音频模块除了支持基本的播放功能外,还支持语音助手的功能,语音助手的具体集成实现可参见audio assistant模块的README,该模块只介绍通过APP控制语音助手的交互功能。

这部分的具体功能分为以下几部分: 1、接收APP的指令,完成对语音助手的开关控制(决定助手功能功能的工作状态:是否开启) 2、查询语音助手的工作状态,并与APP的控制状态同步 3、接收语音助手发出的运动控制的指令,通知决策模块对应语音指令的下发 4、接收APP发来的获取device id的请求,并返回device id 5、接收APP发来的传输token的请求,检测token的正确性后,将token写入token.toml文件中 6、检测当前网络状态并广播

此处需要注意的是,为了提高跨平台通信的效率,模块与APP之间的通信引入了grpc的解决方案,grpc的引入不影响本模块代码的正常书写,了解grpc的解决方案,可参考cyberdog_grpc模块的README以及代码实现。

接下来选择性得介绍以上功能的重点部分。

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged audio_interaction at Robotics Stack Exchange

No version for distro kilted showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 1.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description ROS 2 packages for CyberDog
Checkout URI https://github.com/miroboticslab/cyberdog_ros2.git
VCS Type git
VCS Version main
Last Updated 2021-10-15
Dev Status UNKNOWN
Released UNRELEASED
Tags robotics ros ros2 cyberdog
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Audio interaction package

Additional Links

No additional links.

Maintainers

  • jia

Authors

No additional authors.

audio_interaction


模块简介

该模块用于实现整个音频模块的交互部分,主要包括以下几个方面的功能: 1、与其它模块之间关于通用播放的交互功能 2、语音助手相关控制与交互功能(APP(grpc)、决策模块) 3、与APP(grpc)之间关于音量调解的交互功能

播放功能

简介

本模块实现了一个action server作为通用播放接口,其它任意模块可以通过实现action client来请求播放本地音频文件以实现播放提醒的功能。

目前语音播放的action接口播放的实现是阻塞的,即在播放一条本地音频(current_goal)的同时会拒绝接受新的播放请求(pending_goal),直到当前音频播放完毕,才有新的请求能被接收进来,后期的持续升级中,此处将会将当前设计修改为:播放一条本地音频的同时会一定程度上接受有限数量的放请求,audio_base中的播放器会将这些本地的音频播报请求做混音(mix)处理,这样就可以同时满足一定数量的请求能够被同时播放出来。

混音播放多条请求的同时,为了提供更好的听觉体验,后续升级的同时,该模块将根据播放的内容, 将这些本地音源处理为不同优先的的播报类型,混音的同时,将根据播报的类型,将各个混音的音源对象做出相应的音量调节,敬请期待。

音频播放时音频模块最基础的功能,下面着重介绍。

接口描述

action name: audio_play 此处介绍audio server与client之间的接口描述,以便了解如何实现,具体的底层播放的实现细节请参见audio base 模块的README。 回调: check_play_request 涉及的接口文件如下: AudioPlay.msg 文件定义了整个action接口的结构,分为order,result,feedback三部分,如下,每部分又有单独的msg文件来定义,下方可见具体介绍。

    # goal definition
    AudioOrder order
    ---
    # result definition
    AudioResult result文件
    ---
    # feedback
    AudioFeedback feed

AudioOrder.msg order部分由三部分构成,第一部分为一个时间戳,第二部分为具体播放的曲目,第三部分为发出order请求的模块,后两部分由单独的msg文件定义

    # Time
    std_msgs/Header header
    # Song name
    AudioSongName name
    # User
    AudioUser  user

由于后期产品定义的调整,以及考虑开发者应用更加方便,AudioSongName中的定义目前已弃用,此处可直接传入一个uint16的值,这个值的具体含义可解析为一个本地(/opt/ros2/cyberdog/data/wav/)的wav文件,具体的含义可见附录。

此处支持个人开发者自由生成音频文件来扩充本地音频支援,目前支持的格式为: 采样率:16000 通道数:1 数据格式:16bit 小端 后续OTA持续升级过程中,我们将开放更广泛的采样率支持,敬请期待。

AudioUser.msg 此处定义了此action client端的具体模块名(后续优化中将被替换为优先级)

    # Assistant Messages
    #
    #
    int8 DEFAULT           = 0
    int8 STARTER           = 1
    int8 POWER             = 2
    int8 TOUCH             = 3
    int8 CAMERA            = 4
    int8 APP               = 5
    int8 BLUETOOTH         = 6
    int8 WIFI              = 7
    int8 XIAOAI            = 8
    #
    int8 id
    #

模块内部完成音播放是通过使用audio base模块中提供的方法来实现的。

在本模块中的相关实现可参见以下方法,其中play_callback在播放完成后会自动调用。

void player_init();
void player_handle(int id);
void play_callback();

语音助手控制与交互功能

功能介绍

音频模块除了支持基本的播放功能外,还支持语音助手的功能,语音助手的具体集成实现可参见audio assistant模块的README,该模块只介绍通过APP控制语音助手的交互功能。

这部分的具体功能分为以下几部分: 1、接收APP的指令,完成对语音助手的开关控制(决定助手功能功能的工作状态:是否开启) 2、查询语音助手的工作状态,并与APP的控制状态同步 3、接收语音助手发出的运动控制的指令,通知决策模块对应语音指令的下发 4、接收APP发来的获取device id的请求,并返回device id 5、接收APP发来的传输token的请求,检测token的正确性后,将token写入token.toml文件中 6、检测当前网络状态并广播

此处需要注意的是,为了提高跨平台通信的效率,模块与APP之间的通信引入了grpc的解决方案,grpc的引入不影响本模块代码的正常书写,了解grpc的解决方案,可参考cyberdog_grpc模块的README以及代码实现。

接下来选择性得介绍以上功能的重点部分。

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged audio_interaction at Robotics Stack Exchange

No version for distro rolling showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 1.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description ROS 2 packages for CyberDog
Checkout URI https://github.com/miroboticslab/cyberdog_ros2.git
VCS Type git
VCS Version main
Last Updated 2021-10-15
Dev Status UNKNOWN
Released UNRELEASED
Tags robotics ros ros2 cyberdog
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Audio interaction package

Additional Links

No additional links.

Maintainers

  • jia

Authors

No additional authors.

audio_interaction


模块简介

该模块用于实现整个音频模块的交互部分,主要包括以下几个方面的功能: 1、与其它模块之间关于通用播放的交互功能 2、语音助手相关控制与交互功能(APP(grpc)、决策模块) 3、与APP(grpc)之间关于音量调解的交互功能

播放功能

简介

本模块实现了一个action server作为通用播放接口,其它任意模块可以通过实现action client来请求播放本地音频文件以实现播放提醒的功能。

目前语音播放的action接口播放的实现是阻塞的,即在播放一条本地音频(current_goal)的同时会拒绝接受新的播放请求(pending_goal),直到当前音频播放完毕,才有新的请求能被接收进来,后期的持续升级中,此处将会将当前设计修改为:播放一条本地音频的同时会一定程度上接受有限数量的放请求,audio_base中的播放器会将这些本地的音频播报请求做混音(mix)处理,这样就可以同时满足一定数量的请求能够被同时播放出来。

混音播放多条请求的同时,为了提供更好的听觉体验,后续升级的同时,该模块将根据播放的内容, 将这些本地音源处理为不同优先的的播报类型,混音的同时,将根据播报的类型,将各个混音的音源对象做出相应的音量调节,敬请期待。

音频播放时音频模块最基础的功能,下面着重介绍。

接口描述

action name: audio_play 此处介绍audio server与client之间的接口描述,以便了解如何实现,具体的底层播放的实现细节请参见audio base 模块的README。 回调: check_play_request 涉及的接口文件如下: AudioPlay.msg 文件定义了整个action接口的结构,分为order,result,feedback三部分,如下,每部分又有单独的msg文件来定义,下方可见具体介绍。

    # goal definition
    AudioOrder order
    ---
    # result definition
    AudioResult result文件
    ---
    # feedback
    AudioFeedback feed

AudioOrder.msg order部分由三部分构成,第一部分为一个时间戳,第二部分为具体播放的曲目,第三部分为发出order请求的模块,后两部分由单独的msg文件定义

    # Time
    std_msgs/Header header
    # Song name
    AudioSongName name
    # User
    AudioUser  user

由于后期产品定义的调整,以及考虑开发者应用更加方便,AudioSongName中的定义目前已弃用,此处可直接传入一个uint16的值,这个值的具体含义可解析为一个本地(/opt/ros2/cyberdog/data/wav/)的wav文件,具体的含义可见附录。

此处支持个人开发者自由生成音频文件来扩充本地音频支援,目前支持的格式为: 采样率:16000 通道数:1 数据格式:16bit 小端 后续OTA持续升级过程中,我们将开放更广泛的采样率支持,敬请期待。

AudioUser.msg 此处定义了此action client端的具体模块名(后续优化中将被替换为优先级)

    # Assistant Messages
    #
    #
    int8 DEFAULT           = 0
    int8 STARTER           = 1
    int8 POWER             = 2
    int8 TOUCH             = 3
    int8 CAMERA            = 4
    int8 APP               = 5
    int8 BLUETOOTH         = 6
    int8 WIFI              = 7
    int8 XIAOAI            = 8
    #
    int8 id
    #

模块内部完成音播放是通过使用audio base模块中提供的方法来实现的。

在本模块中的相关实现可参见以下方法,其中play_callback在播放完成后会自动调用。

void player_init();
void player_handle(int id);
void play_callback();

语音助手控制与交互功能

功能介绍

音频模块除了支持基本的播放功能外,还支持语音助手的功能,语音助手的具体集成实现可参见audio assistant模块的README,该模块只介绍通过APP控制语音助手的交互功能。

这部分的具体功能分为以下几部分: 1、接收APP的指令,完成对语音助手的开关控制(决定助手功能功能的工作状态:是否开启) 2、查询语音助手的工作状态,并与APP的控制状态同步 3、接收语音助手发出的运动控制的指令,通知决策模块对应语音指令的下发 4、接收APP发来的获取device id的请求,并返回device id 5、接收APP发来的传输token的请求,检测token的正确性后,将token写入token.toml文件中 6、检测当前网络状态并广播

此处需要注意的是,为了提高跨平台通信的效率,模块与APP之间的通信引入了grpc的解决方案,grpc的引入不影响本模块代码的正常书写,了解grpc的解决方案,可参考cyberdog_grpc模块的README以及代码实现。

接下来选择性得介绍以上功能的重点部分。

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged audio_interaction at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 1.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description ROS 2 packages for CyberDog
Checkout URI https://github.com/miroboticslab/cyberdog_ros2.git
VCS Type git
VCS Version main
Last Updated 2021-10-15
Dev Status UNKNOWN
Released UNRELEASED
Tags robotics ros ros2 cyberdog
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Audio interaction package

Additional Links

No additional links.

Maintainers

  • jia

Authors

No additional authors.

audio_interaction


模块简介

该模块用于实现整个音频模块的交互部分,主要包括以下几个方面的功能: 1、与其它模块之间关于通用播放的交互功能 2、语音助手相关控制与交互功能(APP(grpc)、决策模块) 3、与APP(grpc)之间关于音量调解的交互功能

播放功能

简介

本模块实现了一个action server作为通用播放接口,其它任意模块可以通过实现action client来请求播放本地音频文件以实现播放提醒的功能。

目前语音播放的action接口播放的实现是阻塞的,即在播放一条本地音频(current_goal)的同时会拒绝接受新的播放请求(pending_goal),直到当前音频播放完毕,才有新的请求能被接收进来,后期的持续升级中,此处将会将当前设计修改为:播放一条本地音频的同时会一定程度上接受有限数量的放请求,audio_base中的播放器会将这些本地的音频播报请求做混音(mix)处理,这样就可以同时满足一定数量的请求能够被同时播放出来。

混音播放多条请求的同时,为了提供更好的听觉体验,后续升级的同时,该模块将根据播放的内容, 将这些本地音源处理为不同优先的的播报类型,混音的同时,将根据播报的类型,将各个混音的音源对象做出相应的音量调节,敬请期待。

音频播放时音频模块最基础的功能,下面着重介绍。

接口描述

action name: audio_play 此处介绍audio server与client之间的接口描述,以便了解如何实现,具体的底层播放的实现细节请参见audio base 模块的README。 回调: check_play_request 涉及的接口文件如下: AudioPlay.msg 文件定义了整个action接口的结构,分为order,result,feedback三部分,如下,每部分又有单独的msg文件来定义,下方可见具体介绍。

    # goal definition
    AudioOrder order
    ---
    # result definition
    AudioResult result文件
    ---
    # feedback
    AudioFeedback feed

AudioOrder.msg order部分由三部分构成,第一部分为一个时间戳,第二部分为具体播放的曲目,第三部分为发出order请求的模块,后两部分由单独的msg文件定义

    # Time
    std_msgs/Header header
    # Song name
    AudioSongName name
    # User
    AudioUser  user

由于后期产品定义的调整,以及考虑开发者应用更加方便,AudioSongName中的定义目前已弃用,此处可直接传入一个uint16的值,这个值的具体含义可解析为一个本地(/opt/ros2/cyberdog/data/wav/)的wav文件,具体的含义可见附录。

此处支持个人开发者自由生成音频文件来扩充本地音频支援,目前支持的格式为: 采样率:16000 通道数:1 数据格式:16bit 小端 后续OTA持续升级过程中,我们将开放更广泛的采样率支持,敬请期待。

AudioUser.msg 此处定义了此action client端的具体模块名(后续优化中将被替换为优先级)

    # Assistant Messages
    #
    #
    int8 DEFAULT           = 0
    int8 STARTER           = 1
    int8 POWER             = 2
    int8 TOUCH             = 3
    int8 CAMERA            = 4
    int8 APP               = 5
    int8 BLUETOOTH         = 6
    int8 WIFI              = 7
    int8 XIAOAI            = 8
    #
    int8 id
    #

模块内部完成音播放是通过使用audio base模块中提供的方法来实现的。

在本模块中的相关实现可参见以下方法,其中play_callback在播放完成后会自动调用。

void player_init();
void player_handle(int id);
void play_callback();

语音助手控制与交互功能

功能介绍

音频模块除了支持基本的播放功能外,还支持语音助手的功能,语音助手的具体集成实现可参见audio assistant模块的README,该模块只介绍通过APP控制语音助手的交互功能。

这部分的具体功能分为以下几部分: 1、接收APP的指令,完成对语音助手的开关控制(决定助手功能功能的工作状态:是否开启) 2、查询语音助手的工作状态,并与APP的控制状态同步 3、接收语音助手发出的运动控制的指令,通知决策模块对应语音指令的下发 4、接收APP发来的获取device id的请求,并返回device id 5、接收APP发来的传输token的请求,检测token的正确性后,将token写入token.toml文件中 6、检测当前网络状态并广播

此处需要注意的是,为了提高跨平台通信的效率,模块与APP之间的通信引入了grpc的解决方案,grpc的引入不影响本模块代码的正常书写,了解grpc的解决方案,可参考cyberdog_grpc模块的README以及代码实现。

接下来选择性得介绍以上功能的重点部分。

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged audio_interaction at Robotics Stack Exchange

No version for distro galactic showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 1.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description ROS 2 packages for CyberDog
Checkout URI https://github.com/miroboticslab/cyberdog_ros2.git
VCS Type git
VCS Version main
Last Updated 2021-10-15
Dev Status UNKNOWN
Released UNRELEASED
Tags robotics ros ros2 cyberdog
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Audio interaction package

Additional Links

No additional links.

Maintainers

  • jia

Authors

No additional authors.

audio_interaction


模块简介

该模块用于实现整个音频模块的交互部分,主要包括以下几个方面的功能: 1、与其它模块之间关于通用播放的交互功能 2、语音助手相关控制与交互功能(APP(grpc)、决策模块) 3、与APP(grpc)之间关于音量调解的交互功能

播放功能

简介

本模块实现了一个action server作为通用播放接口,其它任意模块可以通过实现action client来请求播放本地音频文件以实现播放提醒的功能。

目前语音播放的action接口播放的实现是阻塞的,即在播放一条本地音频(current_goal)的同时会拒绝接受新的播放请求(pending_goal),直到当前音频播放完毕,才有新的请求能被接收进来,后期的持续升级中,此处将会将当前设计修改为:播放一条本地音频的同时会一定程度上接受有限数量的放请求,audio_base中的播放器会将这些本地的音频播报请求做混音(mix)处理,这样就可以同时满足一定数量的请求能够被同时播放出来。

混音播放多条请求的同时,为了提供更好的听觉体验,后续升级的同时,该模块将根据播放的内容, 将这些本地音源处理为不同优先的的播报类型,混音的同时,将根据播报的类型,将各个混音的音源对象做出相应的音量调节,敬请期待。

音频播放时音频模块最基础的功能,下面着重介绍。

接口描述

action name: audio_play 此处介绍audio server与client之间的接口描述,以便了解如何实现,具体的底层播放的实现细节请参见audio base 模块的README。 回调: check_play_request 涉及的接口文件如下: AudioPlay.msg 文件定义了整个action接口的结构,分为order,result,feedback三部分,如下,每部分又有单独的msg文件来定义,下方可见具体介绍。

    # goal definition
    AudioOrder order
    ---
    # result definition
    AudioResult result文件
    ---
    # feedback
    AudioFeedback feed

AudioOrder.msg order部分由三部分构成,第一部分为一个时间戳,第二部分为具体播放的曲目,第三部分为发出order请求的模块,后两部分由单独的msg文件定义

    # Time
    std_msgs/Header header
    # Song name
    AudioSongName name
    # User
    AudioUser  user

由于后期产品定义的调整,以及考虑开发者应用更加方便,AudioSongName中的定义目前已弃用,此处可直接传入一个uint16的值,这个值的具体含义可解析为一个本地(/opt/ros2/cyberdog/data/wav/)的wav文件,具体的含义可见附录。

此处支持个人开发者自由生成音频文件来扩充本地音频支援,目前支持的格式为: 采样率:16000 通道数:1 数据格式:16bit 小端 后续OTA持续升级过程中,我们将开放更广泛的采样率支持,敬请期待。

AudioUser.msg 此处定义了此action client端的具体模块名(后续优化中将被替换为优先级)

    # Assistant Messages
    #
    #
    int8 DEFAULT           = 0
    int8 STARTER           = 1
    int8 POWER             = 2
    int8 TOUCH             = 3
    int8 CAMERA            = 4
    int8 APP               = 5
    int8 BLUETOOTH         = 6
    int8 WIFI              = 7
    int8 XIAOAI            = 8
    #
    int8 id
    #

模块内部完成音播放是通过使用audio base模块中提供的方法来实现的。

在本模块中的相关实现可参见以下方法,其中play_callback在播放完成后会自动调用。

void player_init();
void player_handle(int id);
void play_callback();

语音助手控制与交互功能

功能介绍

音频模块除了支持基本的播放功能外,还支持语音助手的功能,语音助手的具体集成实现可参见audio assistant模块的README,该模块只介绍通过APP控制语音助手的交互功能。

这部分的具体功能分为以下几部分: 1、接收APP的指令,完成对语音助手的开关控制(决定助手功能功能的工作状态:是否开启) 2、查询语音助手的工作状态,并与APP的控制状态同步 3、接收语音助手发出的运动控制的指令,通知决策模块对应语音指令的下发 4、接收APP发来的获取device id的请求,并返回device id 5、接收APP发来的传输token的请求,检测token的正确性后,将token写入token.toml文件中 6、检测当前网络状态并广播

此处需要注意的是,为了提高跨平台通信的效率,模块与APP之间的通信引入了grpc的解决方案,grpc的引入不影响本模块代码的正常书写,了解grpc的解决方案,可参考cyberdog_grpc模块的README以及代码实现。

接下来选择性得介绍以上功能的重点部分。

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged audio_interaction at Robotics Stack Exchange

No version for distro iron showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 1.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description ROS 2 packages for CyberDog
Checkout URI https://github.com/miroboticslab/cyberdog_ros2.git
VCS Type git
VCS Version main
Last Updated 2021-10-15
Dev Status UNKNOWN
Released UNRELEASED
Tags robotics ros ros2 cyberdog
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Audio interaction package

Additional Links

No additional links.

Maintainers

  • jia

Authors

No additional authors.

audio_interaction


模块简介

该模块用于实现整个音频模块的交互部分,主要包括以下几个方面的功能: 1、与其它模块之间关于通用播放的交互功能 2、语音助手相关控制与交互功能(APP(grpc)、决策模块) 3、与APP(grpc)之间关于音量调解的交互功能

播放功能

简介

本模块实现了一个action server作为通用播放接口,其它任意模块可以通过实现action client来请求播放本地音频文件以实现播放提醒的功能。

目前语音播放的action接口播放的实现是阻塞的,即在播放一条本地音频(current_goal)的同时会拒绝接受新的播放请求(pending_goal),直到当前音频播放完毕,才有新的请求能被接收进来,后期的持续升级中,此处将会将当前设计修改为:播放一条本地音频的同时会一定程度上接受有限数量的放请求,audio_base中的播放器会将这些本地的音频播报请求做混音(mix)处理,这样就可以同时满足一定数量的请求能够被同时播放出来。

混音播放多条请求的同时,为了提供更好的听觉体验,后续升级的同时,该模块将根据播放的内容, 将这些本地音源处理为不同优先的的播报类型,混音的同时,将根据播报的类型,将各个混音的音源对象做出相应的音量调节,敬请期待。

音频播放时音频模块最基础的功能,下面着重介绍。

接口描述

action name: audio_play 此处介绍audio server与client之间的接口描述,以便了解如何实现,具体的底层播放的实现细节请参见audio base 模块的README。 回调: check_play_request 涉及的接口文件如下: AudioPlay.msg 文件定义了整个action接口的结构,分为order,result,feedback三部分,如下,每部分又有单独的msg文件来定义,下方可见具体介绍。

    # goal definition
    AudioOrder order
    ---
    # result definition
    AudioResult result文件
    ---
    # feedback
    AudioFeedback feed

AudioOrder.msg order部分由三部分构成,第一部分为一个时间戳,第二部分为具体播放的曲目,第三部分为发出order请求的模块,后两部分由单独的msg文件定义

    # Time
    std_msgs/Header header
    # Song name
    AudioSongName name
    # User
    AudioUser  user

由于后期产品定义的调整,以及考虑开发者应用更加方便,AudioSongName中的定义目前已弃用,此处可直接传入一个uint16的值,这个值的具体含义可解析为一个本地(/opt/ros2/cyberdog/data/wav/)的wav文件,具体的含义可见附录。

此处支持个人开发者自由生成音频文件来扩充本地音频支援,目前支持的格式为: 采样率:16000 通道数:1 数据格式:16bit 小端 后续OTA持续升级过程中,我们将开放更广泛的采样率支持,敬请期待。

AudioUser.msg 此处定义了此action client端的具体模块名(后续优化中将被替换为优先级)

    # Assistant Messages
    #
    #
    int8 DEFAULT           = 0
    int8 STARTER           = 1
    int8 POWER             = 2
    int8 TOUCH             = 3
    int8 CAMERA            = 4
    int8 APP               = 5
    int8 BLUETOOTH         = 6
    int8 WIFI              = 7
    int8 XIAOAI            = 8
    #
    int8 id
    #

模块内部完成音播放是通过使用audio base模块中提供的方法来实现的。

在本模块中的相关实现可参见以下方法,其中play_callback在播放完成后会自动调用。

void player_init();
void player_handle(int id);
void play_callback();

语音助手控制与交互功能

功能介绍

音频模块除了支持基本的播放功能外,还支持语音助手的功能,语音助手的具体集成实现可参见audio assistant模块的README,该模块只介绍通过APP控制语音助手的交互功能。

这部分的具体功能分为以下几部分: 1、接收APP的指令,完成对语音助手的开关控制(决定助手功能功能的工作状态:是否开启) 2、查询语音助手的工作状态,并与APP的控制状态同步 3、接收语音助手发出的运动控制的指令,通知决策模块对应语音指令的下发 4、接收APP发来的获取device id的请求,并返回device id 5、接收APP发来的传输token的请求,检测token的正确性后,将token写入token.toml文件中 6、检测当前网络状态并广播

此处需要注意的是,为了提高跨平台通信的效率,模块与APP之间的通信引入了grpc的解决方案,grpc的引入不影响本模块代码的正常书写,了解grpc的解决方案,可参考cyberdog_grpc模块的README以及代码实现。

接下来选择性得介绍以上功能的重点部分。

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged audio_interaction at Robotics Stack Exchange

No version for distro melodic showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 1.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description ROS 2 packages for CyberDog
Checkout URI https://github.com/miroboticslab/cyberdog_ros2.git
VCS Type git
VCS Version main
Last Updated 2021-10-15
Dev Status UNKNOWN
Released UNRELEASED
Tags robotics ros ros2 cyberdog
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Audio interaction package

Additional Links

No additional links.

Maintainers

  • jia

Authors

No additional authors.

audio_interaction


模块简介

该模块用于实现整个音频模块的交互部分,主要包括以下几个方面的功能: 1、与其它模块之间关于通用播放的交互功能 2、语音助手相关控制与交互功能(APP(grpc)、决策模块) 3、与APP(grpc)之间关于音量调解的交互功能

播放功能

简介

本模块实现了一个action server作为通用播放接口,其它任意模块可以通过实现action client来请求播放本地音频文件以实现播放提醒的功能。

目前语音播放的action接口播放的实现是阻塞的,即在播放一条本地音频(current_goal)的同时会拒绝接受新的播放请求(pending_goal),直到当前音频播放完毕,才有新的请求能被接收进来,后期的持续升级中,此处将会将当前设计修改为:播放一条本地音频的同时会一定程度上接受有限数量的放请求,audio_base中的播放器会将这些本地的音频播报请求做混音(mix)处理,这样就可以同时满足一定数量的请求能够被同时播放出来。

混音播放多条请求的同时,为了提供更好的听觉体验,后续升级的同时,该模块将根据播放的内容, 将这些本地音源处理为不同优先的的播报类型,混音的同时,将根据播报的类型,将各个混音的音源对象做出相应的音量调节,敬请期待。

音频播放时音频模块最基础的功能,下面着重介绍。

接口描述

action name: audio_play 此处介绍audio server与client之间的接口描述,以便了解如何实现,具体的底层播放的实现细节请参见audio base 模块的README。 回调: check_play_request 涉及的接口文件如下: AudioPlay.msg 文件定义了整个action接口的结构,分为order,result,feedback三部分,如下,每部分又有单独的msg文件来定义,下方可见具体介绍。

    # goal definition
    AudioOrder order
    ---
    # result definition
    AudioResult result文件
    ---
    # feedback
    AudioFeedback feed

AudioOrder.msg order部分由三部分构成,第一部分为一个时间戳,第二部分为具体播放的曲目,第三部分为发出order请求的模块,后两部分由单独的msg文件定义

    # Time
    std_msgs/Header header
    # Song name
    AudioSongName name
    # User
    AudioUser  user

由于后期产品定义的调整,以及考虑开发者应用更加方便,AudioSongName中的定义目前已弃用,此处可直接传入一个uint16的值,这个值的具体含义可解析为一个本地(/opt/ros2/cyberdog/data/wav/)的wav文件,具体的含义可见附录。

此处支持个人开发者自由生成音频文件来扩充本地音频支援,目前支持的格式为: 采样率:16000 通道数:1 数据格式:16bit 小端 后续OTA持续升级过程中,我们将开放更广泛的采样率支持,敬请期待。

AudioUser.msg 此处定义了此action client端的具体模块名(后续优化中将被替换为优先级)

    # Assistant Messages
    #
    #
    int8 DEFAULT           = 0
    int8 STARTER           = 1
    int8 POWER             = 2
    int8 TOUCH             = 3
    int8 CAMERA            = 4
    int8 APP               = 5
    int8 BLUETOOTH         = 6
    int8 WIFI              = 7
    int8 XIAOAI            = 8
    #
    int8 id
    #

模块内部完成音播放是通过使用audio base模块中提供的方法来实现的。

在本模块中的相关实现可参见以下方法,其中play_callback在播放完成后会自动调用。

void player_init();
void player_handle(int id);
void play_callback();

语音助手控制与交互功能

功能介绍

音频模块除了支持基本的播放功能外,还支持语音助手的功能,语音助手的具体集成实现可参见audio assistant模块的README,该模块只介绍通过APP控制语音助手的交互功能。

这部分的具体功能分为以下几部分: 1、接收APP的指令,完成对语音助手的开关控制(决定助手功能功能的工作状态:是否开启) 2、查询语音助手的工作状态,并与APP的控制状态同步 3、接收语音助手发出的运动控制的指令,通知决策模块对应语音指令的下发 4、接收APP发来的获取device id的请求,并返回device id 5、接收APP发来的传输token的请求,检测token的正确性后,将token写入token.toml文件中 6、检测当前网络状态并广播

此处需要注意的是,为了提高跨平台通信的效率,模块与APP之间的通信引入了grpc的解决方案,grpc的引入不影响本模块代码的正常书写,了解grpc的解决方案,可参考cyberdog_grpc模块的README以及代码实现。

接下来选择性得介绍以上功能的重点部分。

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged audio_interaction at Robotics Stack Exchange

No version for distro noetic showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 1.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description ROS 2 packages for CyberDog
Checkout URI https://github.com/miroboticslab/cyberdog_ros2.git
VCS Type git
VCS Version main
Last Updated 2021-10-15
Dev Status UNKNOWN
Released UNRELEASED
Tags robotics ros ros2 cyberdog
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Audio interaction package

Additional Links

No additional links.

Maintainers

  • jia

Authors

No additional authors.

audio_interaction


模块简介

该模块用于实现整个音频模块的交互部分,主要包括以下几个方面的功能: 1、与其它模块之间关于通用播放的交互功能 2、语音助手相关控制与交互功能(APP(grpc)、决策模块) 3、与APP(grpc)之间关于音量调解的交互功能

播放功能

简介

本模块实现了一个action server作为通用播放接口,其它任意模块可以通过实现action client来请求播放本地音频文件以实现播放提醒的功能。

目前语音播放的action接口播放的实现是阻塞的,即在播放一条本地音频(current_goal)的同时会拒绝接受新的播放请求(pending_goal),直到当前音频播放完毕,才有新的请求能被接收进来,后期的持续升级中,此处将会将当前设计修改为:播放一条本地音频的同时会一定程度上接受有限数量的放请求,audio_base中的播放器会将这些本地的音频播报请求做混音(mix)处理,这样就可以同时满足一定数量的请求能够被同时播放出来。

混音播放多条请求的同时,为了提供更好的听觉体验,后续升级的同时,该模块将根据播放的内容, 将这些本地音源处理为不同优先的的播报类型,混音的同时,将根据播报的类型,将各个混音的音源对象做出相应的音量调节,敬请期待。

音频播放时音频模块最基础的功能,下面着重介绍。

接口描述

action name: audio_play 此处介绍audio server与client之间的接口描述,以便了解如何实现,具体的底层播放的实现细节请参见audio base 模块的README。 回调: check_play_request 涉及的接口文件如下: AudioPlay.msg 文件定义了整个action接口的结构,分为order,result,feedback三部分,如下,每部分又有单独的msg文件来定义,下方可见具体介绍。

    # goal definition
    AudioOrder order
    ---
    # result definition
    AudioResult result文件
    ---
    # feedback
    AudioFeedback feed

AudioOrder.msg order部分由三部分构成,第一部分为一个时间戳,第二部分为具体播放的曲目,第三部分为发出order请求的模块,后两部分由单独的msg文件定义

    # Time
    std_msgs/Header header
    # Song name
    AudioSongName name
    # User
    AudioUser  user

由于后期产品定义的调整,以及考虑开发者应用更加方便,AudioSongName中的定义目前已弃用,此处可直接传入一个uint16的值,这个值的具体含义可解析为一个本地(/opt/ros2/cyberdog/data/wav/)的wav文件,具体的含义可见附录。

此处支持个人开发者自由生成音频文件来扩充本地音频支援,目前支持的格式为: 采样率:16000 通道数:1 数据格式:16bit 小端 后续OTA持续升级过程中,我们将开放更广泛的采样率支持,敬请期待。

AudioUser.msg 此处定义了此action client端的具体模块名(后续优化中将被替换为优先级)

    # Assistant Messages
    #
    #
    int8 DEFAULT           = 0
    int8 STARTER           = 1
    int8 POWER             = 2
    int8 TOUCH             = 3
    int8 CAMERA            = 4
    int8 APP               = 5
    int8 BLUETOOTH         = 6
    int8 WIFI              = 7
    int8 XIAOAI            = 8
    #
    int8 id
    #

模块内部完成音播放是通过使用audio base模块中提供的方法来实现的。

在本模块中的相关实现可参见以下方法,其中play_callback在播放完成后会自动调用。

void player_init();
void player_handle(int id);
void play_callback();

语音助手控制与交互功能

功能介绍

音频模块除了支持基本的播放功能外,还支持语音助手的功能,语音助手的具体集成实现可参见audio assistant模块的README,该模块只介绍通过APP控制语音助手的交互功能。

这部分的具体功能分为以下几部分: 1、接收APP的指令,完成对语音助手的开关控制(决定助手功能功能的工作状态:是否开启) 2、查询语音助手的工作状态,并与APP的控制状态同步 3、接收语音助手发出的运动控制的指令,通知决策模块对应语音指令的下发 4、接收APP发来的获取device id的请求,并返回device id 5、接收APP发来的传输token的请求,检测token的正确性后,将token写入token.toml文件中 6、检测当前网络状态并广播

此处需要注意的是,为了提高跨平台通信的效率,模块与APP之间的通信引入了grpc的解决方案,grpc的引入不影响本模块代码的正常书写,了解grpc的解决方案,可参考cyberdog_grpc模块的README以及代码实现。

接下来选择性得介绍以上功能的重点部分。

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged audio_interaction at Robotics Stack Exchange