我希望我的Android应用识别声音.例如,我想知道来自麦克风的声音是鼓掌还是敲击或其他什么.
我是否需要使用数学,或者我可以只使用一些库?
如果有任何声音分析库请告诉我.谢谢.
我正在为我的 Python 应用程序添加 CLI。CLI 应允许一次运行多个命令。命令应该有公共选项和个人选项。
例子:
$ python mycliapp.py --common-option1 value1 --common-option2 value2 cmd1 --cmd1-option cmd2 --cmd2-option somevalue cmd3
Run Code Online (Sandbox Code Playgroud)
该示例有两个所有命令都使用的公共选项,并且每个命令可以有或没有仅该命令使用的选项。
我考虑过Python Click。它具有丰富的功能,但它不允许(至少我没有发现)在没有一些主命令的情况下使用常用选项。
使用 Click 时,上面的示例将如下所示:
$ python mycliapp.py maincmd --common-option1 value1 --common-option2 value2 cmd1 --cmd1-option cmd2 --cmd2-option somevalue cmd3
Run Code Online (Sandbox Code Playgroud)
另外,还考虑了 Python Argparse。看起来它可以满足我的需要,并且我已经成功编写了一个代码,该代码可以使用常见选项和单个命令,但无法使用多个命令。此页面Python argparse - Add argument to multiple subparsers有很好的示例,但似乎 command2 应该是 command1 的子命令。它有点不同,因为我需要命令可以按任何顺序执行。
我在VirtualBox上安装了Android x86,配置了局域网设置,现在我可以使用虚拟机而不是本机模拟器.
但仍有问题:我无法从菜单中打开蓝牙.当我启动BluetoothChat应用程序时,它只是说"打开蓝牙......"并且什么都不做.
我想我可能必须从命令行配置VirtualBox或/并配置Android,但不知道应该做哪些更改.
我正在寻找 Python 模块来根据架构过滤 JSON 数据。
例如有一个JSON数据:
{
"system" : {
"state" : "enabled",
"id" : 5,
"keys" : [
{ "key_id": 12, "key": "filename.key" }
]
}
}
Run Code Online (Sandbox Code Playgroud)
并且有 JSON 模式:
{
"system": {
"id": "system",
"required": true,
"type": "object",
"properties": {
"state": {
"id": "state",
"required": true,
"type": "string"
},
"id": {
"id": "id",
"required": true,
"type": "number"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
如您所见,架构不包含“keys”属性。
我需要一些工具,它可以使用架构过滤 JSON 数据并提供以下 JSON 作为输出:
{
"system" : {
"state" : "enabled",
"id" : 5
} …Run Code Online (Sandbox Code Playgroud) android ×2
python ×2
argparse ×1
audio ×1
bluetooth ×1
json ×1
jsonschema ×1
python-click ×1
virtualbox ×1
x86 ×1