Saravanan666/pypi-org huggingface dataset:
Package: dual-quaternions
Dual quaternions are a way of representing rigid body transformations, just like homogeneous transformations do.
Instead of using a 4 by 4 matrix, the transformation is represented as two quaternions. This has several advantages,
which are listed underWhy use dual quaternions?The term ‘dual’ refers to dual number theory, which allows
representing numbers (or in this case quaternions) very similar to complex numbers with the difference being thatiorjbecomese(epsilon) and instead ofi^2 = -1we havee^2 = 0.
This allows e.g. multiplication of two dual quaternions to work in the same way as homogeneous matrix multiplication.For more information on dual quaternions, take a look at theReferences.
For conversion from and to common ROS messages, seedual_quaternions_ros.Why use dual quaternions?dual quaternions have all the advantages of quaternions including unambiguous representation, no gimbal lock, compact representationdirect and simple relation with screw theory. Simple and fast Screw Linear Interpolation (ScLERP) which is shortest path on the manifolddual quaternions have an exact tangent / derivative due to dual number theory (higher order taylor series are exactly zero)we want to use quaternions but they can only handle rotation. Dual quaternions are the correct extension to handle translations as well.easy normalization. Homogeneous tranformation matrices are orthogonal and due to floating point errors operations on them often result in matrices that need to be renormalized. This can be done using the Gram-Schmidt method but that is a slow algorithm. Quaternion normalization is very fast.mathematically pleasingInstallationpippipinstalldual_quaternionsROS packageRelease into apt is on its way. Until then you’ll have to build the catkin package from source.cd~/catkin_ws/srcgitclonehttps://github.com/Achllle/dual_quaternionscd..catkin_makeUsageImport using:from dual_quaternions import DualQuaternionReferencesK. Daniilidis, E. Bayro-Corrochano, “The dual quaternion approach to hand-eye calibration”, IEEE International Conference on Pattern Recognition, 1996Kavan, Ladislav & Collins, Steven & Zara, Jiri & O’Sullivan, Carol. (2007). Skinning with dual quaternions. I3D. 39-46. 10.1145/1230100.1230107.Kenwright, B. (2012). A Beginners Guide to Dual-Quaternions What They Are, How They Work, and How to Use Them for 3D Character Hierarchies.Furrer, Fadri & Fehr, Marius & Novkovic, Tonci & Sommer, Hannes & Gilitschenski, Igor & Siegwart, Roland. (2018). Evaluation of Combined Time-Offset Estimation and Hand-Eye Calibration on Robotic Datasets. 145-159. 10.1007/978-3-319-67361-5_10.
Package: dual-quaternions-ros
Simple conversion methods for going from ROSgeometry_msgsto dual quaternions and vice versaNOTE: there is no concept of ‘from’ and ‘to’ as frame names aren’t tracked or used (e.g. use of Pose iso PoseStamped).
It is up to the user to keep track of those.Installation & RequirementsIn this directory:pip install .Requirementsdual_quaternionsUsageImport using:from dual_quaternions_ros import from_ros_pose, from_ros_transform, ros_pose, ros_transformPublishing and getting transforms from tfThis package purposefully doesn’t have methods to receive and publish transforms to tf. Instead, it supports converting
transforms to various ROS messages so you can use the standard way of interfacing:br = tf2_ros.TransformBroadcaster()
T_odom_baselink = DualQuaternion(...)
msg = geometry_msgs.msg.TransformStamped()
msg.transform = T_odom_baselink.ros_transform
msg.header.frame_id = 'odom'
msg.child_frame_id = 'base_link'
br.sendTransform(msg)
Package: dualsense
# Dualsense PS5 Controller InterfaceThis module provides a clean-ish, reasonably high-speed interface to a PS5 ‘DualSense’ controller.
It has fewer features than other libraries that provide similar functionality,pydualsensefor example, but is more performant in my experience and perhaps easier to use.## RequirementsOnly works on Linux or FreeBSD (not tested).
Tested on a raspberrypi## Installationpip install .should work just fine## UsageFind a controller connected to the system withDualSenseController.find_controller()This object will then update itself at a high frequency as long as the coroutinearunis, well… running
Package: dualstudent-asr
Dual Student for Automatic Speech RecognitionDual Student is a semi-supervised learning algorithm originally introduced for image classification by Ke et al. In this work, we implement, validate and extend it for Automatic Speech Recognition (ASR). See thereportfor more details. This project is part of the course DT2119 Speech and Speaker Recognition at KTH.How to installpip install dualstudent-asr
Package: dual-tape
AboutThis python module “dual_tape” is anEsolang.Python Installationpipinstalldual_tapeConsole Interfacedual_tapehello_world.dtdual_tape

positional arguments:
  file           path to dual_tape script

optional arguments:
  -h, --help     show this help message and exit
  -a, --author   get author of dual_tape
  -v, --version  get version of dual_tape
  -l, --log      enables debug log
  --timeout TIMEOUT  max number of instructions that can runDocumentationDocumentationRaw DocumentationBuild Executablegitclonehttps://github.com/cmcmarrow/dual_tape.gitpipinstall-e.[dev]pythonbuild.pyAPIdual_tape_api.pyinfo: API to dual_tape
:param: inputs: Optional[Union[Tuple[str, ...], List[str]]]
:param: sys_output: bool
:param: catch_output: bool
:param: log: bool
:return: Generator[vm.VMState, None, None]
Package: dual-tape-ez
AboutThis python module “dual_tape_ez” is anEsolang.Python Installationpipinstalldual_tape_ezConsole Interfacedual_tape_ezhello_world.dtedual_tape_ez

positional arguments:
  file           path to dual_tape_ez script

optional arguments:
  -h, --help     show this help message and exit
  -a, --author   get author of dual_tape_ez
  -v, --version  get version of dual_tape_ez
  -l, --log      enables debug log
  --timeout TIMEOUT  max number of instructions that can runDocumentationDocumentationRaw DocumentationBuild Executablegitclonehttps://github.com/cmcmarrow/dual_tape_ez.gitpipinstall-e.[dev]pythonbuild.pyAPIdual_tape_api.pyinfo: API to dual_tape_ez
:param: inputs: Optional[Union[Tuple[str, ...], List[str]]]
:param: sys_output: bool
:param: catch_output: bool
:param: log: bool
:return: Generator[vm.VMState, None, None]
Package: dualtest
When you write a C extension, you can provide a Python version as a backup. A
problem with this is that only one of these modules will be tested, while the
other is neglected.DualTest provides a class that, when inherited from, imports a list of modules
and attributes from modules and makes them available as globals during tests.
Allowing you to easily test both versions of a module and write just one set of
tests.UsageCreate a test case class derived from DualTestCase and set theimport_namesorimport_from_namesclass attributes.import_namesshould be set to a list of the names of modules with Python
source and C extension versions to import:classImportTestCase(DualTestCase):import_names=['mod1','mod2']deftest_something(self):# mod1 and mod2 will be available here.import_from_namescauses attributes to be imported from modules just likefrom module import attributewould. It should be set to a list of tuples
containing the name of the module to import from, and a list of attribute names
to import. If one of the attribute names is “*”, then all public attributes are
imported:classImportFromTestCase(DualTestCase):import_from_names=[('mod1',['attr1','attr2']),# "*" causes all public attributes to be imported.('mod2',['*']),]deftest_something(self):# attr1, attr2 and everything from mod2 will be available here.Full ExamplefromdualtestimportDualTestCaseclassImportTestCase(DualTestCase):import_names=['mod1','mod2']deftest_something(self):# mod1 and mod2 will be available here.classImportFromTestCase(DualTestCase):import_from_names=[('mod1',['attr1','attr2']),# "*" causes all public attributes to be imported.('mod2',['*']),]deftest_something(self):# attr1, attr2 and everything from mod2 will be available here.Changelog1.0.1Patch imported modules into “sys.modules” during tests.Fix error when “import_from_names” references a non-existing module.Fix bug when importing ‘*’ from a module.Add module type context when “subTest” is called.
Package: dubbo-client
Python Dubbo Client=====================================实现客户端的负载均衡、配合Zookeeper自动发现服务功能-------------------------------------### Python调用Dubbo接口的jsonrpc协议请使用dubbo-rpc-jsonrpc 并在dubbo中配置protocol为jsonrpc协议参考 https://github.com/ofpay/dubbo-rpc-jsonrpc### 安装下载代码python setup.py installpip安装pip install dubbo-client==1.0.0b5Git安装pip install git+http://git.dev.qianmi.com/tda/dubbo-client-py.git@1.0.0b5或者pip install git+https://github.com/ofpay/dubbo-client-py.git@1.0.0b5### 在客户端实现负载均衡，服务发现通过注册中心的zookeeper，获取服务的注册信息然后通过代理实现负载均衡算法，调用服务端支持Version、Group设置### Example```pythonconfig = ApplicationConfig('test_rpclib')service_interface = 'com.ofpay.demo.api.UserProvider'#registry包含了和zookeeper的连接，该对象需要缓存registry = ZookeeperRegistry('192.168.59.103:2181', config)user_provider = DubboClient(service_interface, registry, version='1.0')for i in range(1000):try:print user_provider.getUser('A003')print user_provider.queryUser({u'age': 18, u'time': 1428463514153, u'sex': u'MAN', u'id': u'A003', u'name': u'zhangsan'})print user_provider.queryAll()print user_provider.isLimit('MAN', 'Joe')print user_provider('getUser', 'A005')except DubboClientError, client_error:print client_errortime.sleep(5)```### TODO优化性能，将服务上下线的影响降到最小支持Retry参数支持权重调用单元测试覆盖率### LicensesMIT License
Package: dubbo-py
dubbo-py是一个用Python3进行dubbo协议编解码和service、client模拟的Library，开发它的目的是用于对现有dubbo服务进行功能自动化测试，包括模拟dubbo的provider和consumer。Installpip3installdubbo-pyExample# 作为Serverfromdubbo.codec.hessian2importDubboResponsefromdubbo.serverimportDubboServicedefremote_max(nums):returnmax(nums)defremote_divide(a,b):returna/bservice=DubboService(12358,'demo')service.add_method('com.myservice.math','max',remote_max)service.add_method('com.myservice.math','divide',remote_divide)# service.register('127.0.0.1:2181', '1.0.0')  # register to zookeeperservice.start()# service run in a daemon thread# 作为Clientfromdubbo.clientimportDubboClientclient=DubboClient('127.0.0.1',12358)resp=client.send_request_and_return_response(service_name='com.myservice.math',method_name='max',args=[[1,2,3,4]])print(resp.ok)# Trueprint(resp.data)# 4print(resp.error)# Noneresp=client.send_request_and_return_response(service_name='com.myservice.math',method_name='divide',args=[1,0])print(resp.ok)# Falseprint(resp.data)# Noneprint(resp.error)# division by zero也可以构造Java Object来请求，如：# clientfromdubbo.codec.hessian2importnew_objectfromdubbo.clientimportDubboClientclient=DubboClient('127.0.0.1',12358)# 构造一个Java Object为com.demo.test的参数arg=new_object('com.demo.test',uuid='1b7530ba-2afa-4e7f-9876-c6744831c3fd',id=10,key='helloEvt',param={'name':'hello','value':'world'},doit=True)resp=client.send_request_and_return_response(service_name='com.myservice.complex',method_name='aggr',args=[arg])
Package: dubbo-python
dubbo-pythonPython Dubbo Client.基于Apache dubbo-python2参考Installationpython setup.py install
pip install dubbo-pythonUsage基础使用fromdubbo.clientimportDubboClient,ZkRegister,NacosRegister# 支持从Zk中获取服务的provider，支持根据provider的权重选择主机zk=ZkRegister('127.0.0.1:2181')dubbo_cli=DubboClient('com.qianmi.pc.api.GoodsQueryProvider',zk_register=zk)# 支持从Nacos中获取服务的provider，支持根据provider的权重选择主机nc=NacosRegister('127.0.0.1:8848')dubbo_cli=DubboClient('com.qianmi.pc.api.GoodsQueryProvider',nacos_register=nc)# 支持直接连接指定的远程主机dubbo_cli=DubboClient('com.qianmi.pc.api.GoodsQueryProvider',host='127.0.0.1:20880')admin_id='A000000'result=dubbo_cli.call('listByIdString',admin_id)# 通过telnet调用result=dubbo_cli.invoke('listByIdString',admin_id)如何定义参数dubbo-python支持以下Java类型的参数，表格右边一列代表了在Pyton中与指定Java类型所对应的类型类型JavaPython布尔类型booleanbool整型int, longint浮点类型float, doublefloat字符串类型java.lang.Stringstr列表类型Collection & Array[]自定义的对象类型java.lang.Object↓具体使用方法如下所示↓使用Java的对象类型fromdubbo.clientimportDubboClient,ZkRegisterfromdubbo.codec.encoderimportObject# 创建channel对象channel=Object('com.qianmi.pc.base.api.constants.ChannelEnum',values={'name':'D2C'})# 创建spu_query_request对象QueryUserVO=Object('cn.wocloud.access.management.model.vo.QueryUserVO')QueryUserVO['userName']='test_ztl'QueryUserVO['uin']='100011933880'# 创建consumer并执行查询操作zk=ZkRegister('172.29.8.100:2181')dubbo_cli=DubboClient('cn.wocloud.access.managment.api.IUserApi',version=None,duboo_version='2.8.4',zk_register=zk)result=dubbo_cli.call('getUserLists',queryUserVO)如何使用枚举(enum)类型作为参数# 定义一个枚举类型的对象channel=Object('com.qianmi.pc.base.api.constants.ChannelEnum')# 定义参数name并令其值为对应的枚举参数的值，之后使用该定义好的对象作为枚举类型变量即可channel['name']='D2C'ReferencePython字节相关的转化操作：https://docs.python.org/2/library/struct.htmlHessian2的编码规则：http://hessian.caucho.com/doc/hessian-serialization.html实现Hessian2编码时的参考：参考1，参考2对于部分不清楚且通过查阅文档仍无法了解的编码方式，先使用Java的dubbo客户端正常调用接口，之后使用Wireshark抓包获取请求和响应的数据报文，仔细的分析报文来推测编码方式Dubbo相关的编码规则：参考1，参考2Dubbo的心跳机制：http://www.cnblogs.com/java-zhao/p/8539046.html部分实现参考了dubbo的Java源码中的实现对于所有的字符串，在网络传输前进行编码，编码一律使用unicode来完成，如果一个字符串是str则先将其decode为unicode之后再进行操作；对于所有的字符串，在网络上获取到的数据之后进行解码，解码得到的字符串是unicode，之后将其encode为str再交给客户程序；支持传输utf-8编码和Emoji😋使用epoll模型来维护所有的链接，如果使用多线程来维护连接将产生过多的thread_context_switch，影响性能类似于HTTP请求和响应，dubbo的请求和响应也是同步的并且可以看成是一个事务；不过dubbo使用了msg_id来为请求排序，这使得我们不再需要像HTTP请求那样在单个链接上进行同步的请求和响应，因此在单个连接上有多个请求时可以一定程度的降低请求总时间，这种对请求进行编码的理念类似于HTTP2中的stream ID
Package: dubbo-python3
Python Client For Apache DubboAchieve load balancing on the client side、auto discovery service function with ZookeeperPython calls the Dubbo interface’s jsonrpc protocolPlease use dubbo-rpc-jsonrpc and configure protocol in Dubbo for jsonrpc protocolReferencehttps://github.com/apache/incubator-dubbo-rpc-jsonrpcInstallationDownload codepython setup.py installpip installpip install dubbo-python3>=1.0.3 Git installpip install git+https://github.com/nickfan/dubbo-python3.git@1.0.3Load balancing on the client side, service discoveryGet the registration information of the service through the zookeeper of the registry.Dubbo-client-py supports configuring multiple zookeeper service addresses.“host”:”192.168.1.183:2181,192.168.1.184:2181,192.168.1.185:2181”Then the load balancing algorithm is implemented by proxy, and theserver is called.Support Version and Group settings.### Example
config = ApplicationConfig(‘test_rpclib’) service_interface =
‘com.ofpay.demo.api.UserProvider’ #Contains a connection to zookeeper,
which needs caching. registry = ZookeeperRegistry(‘192.168.59.103:2181’,
config) user_provider = DubboClient(service_interface, registry,
version=’1.0’) for i in range(1000): try:
print(user_provider.getUser(‘A003’)) print(user_provider.queryUser(
{u’age’: 18, u’time’: 1428463514153, u’sex’: u’MAN’, u’id’: u’A003’,
u’name’: u’zhangsan’})) print(user_provider.queryAll())
print(user_provider.isLimit(‘MAN’, ‘Joe’))
print(user_provider(‘getUser’, ‘A005’)) except DubboClientError as
client_error: print(client_error) time.sleep(5)TODOOptimize performance, minimize the impact of service upper and lower lines.Support Retry parametersSupport weight callUnit test coverage### Licenses Apache License ### Thanks Thank @jingpeicomp for being a
Guinea pig. It has been running normally for several months in the
production environment. Thank you!
Package: dubbo_telnet
通过telnet调用Dubbo接口### Example```pythonimport dubbo_telnetHost = '192.168.1.203'  # Doubble服务器IPPort = 28008  # Doubble服务端口# 初始化dubbo对象conn = dubbo_telnet.connect(Host, Port)# 设置telnet连接超时时间conn.set_connect_timeout(10)# 设置dubbo服务返回响应的编码conn.set_encoding('gbk')interface = 'com.zrj.pay.trade.api.QueryTradeService'method = 'tradeDetailQuery'param = '{"message": "HelloWorld"}'print conn.invoke(interface, method, param)command = 'invoke com.zrj.pay.trade.api.QueryTradeService.tradeDetailQuery({"message":"HelloWorld"})'print conn.do(command)```
Package: dubins
OverviewThis software finds the shortest paths between configurations for the Dubins’ car[Dubins57], the forward only car-like vehicle with a constrained turning radius. A good description of the equations and basic strategies for doing this are described in section 15.3.1“Dubins Curves”of the book “Planning Algorithms”[LaValle06].The approach used to find paths is based on the algebraic solutions published in[Shkel01]. However, rather than using angular symmetries to improve performance, the simpler approach to test all possible solutions is used here.This code is primarily a Cython wrapper ofhttps://github.com/AndrewWalker/Dubins-CurvesInstallingYou can install the latest stable version fromPyPI$pipinstalldubinsOr, you can install the latest development version fromGitHub$pipinstallgit+git://github.com/AndrewWalker/pydubins.gitExampleDiscrete Sampling of a Dubin’s path at finite step sizesimportdubinsq0=(x0,y0,theta0)q1=(x1,y1,theta1)turning_radius=1.0step_size=0.5path=dubins.shortest_path(q0,q1,turning_radius)configurations,_=path.sample_many(step_size)AcknowledgementsThis work was completed as part of[Walker11].Francis ValentinisRoyce Smart - who tested early versions of this code while completing his PhD thesis[Smart08].References[Dubins57]Dubins, L. E. (July 1957). “On Curves of Minimal Length with a Constraint on Average Curvature, and with Prescribed Initial and Terminal Positions and Tangents”. American Journal of Mathematics 79 (3): 497–516[LaValle06]LaValle, S. M. (2006). “Planning Algorithms”. Cambridge University Press[Shkel01]Shkel, A. M. and Lumelsky, V. (2001). “Classification of the Dubins set”. Robotics and Autonomous Systems 34 (2001) 179–202[Walker11]Walker, A. (2011). “Hard Real-Time Motion Planning for Autonomous Vehicles”, PhD thesis, Swinburne University.[Smart08]Royce, S. (2008). “Evolutionary Control of Autonomous Underwater Vehicles”. PhD thesis, RMIT
Package: dubizzle
IntroductionDubizzleis an online classifieds website. This project aims to become a simple and complete scraping-based API for Dubizzle.Repohttps://github.com/Cyph0n/dubizzlePrerequisitesRequestsBeautifulSoupPython 2.6+Quickstart>> import dubizzle
>> results = dubizzle.search(country='uae', city='dubai', section='motors', num_results=100)
>> print results
>>
[
  {
    'url': 'test',
    'image': 'http://...',
    'price': 10000,
    'date': datetime.datetime(2013, 07, 20, 0, 0, 0),
    'features': {
      'Color': 'black',
      'Doors': 4,
      'Kilometers': 35000
    },
    ...
  },
  ...
]Examples# Find average price of year 2007 and above Nissan Altimas in Dubai
import dubizzle

results = dubizzle.search(keyword='altima', country='uae', city='dubai', section='motors',
              category='cars', make='nissan', min_year=2007, num_results='all')

total_price, result_count = 0, len(results)

for result in results:
  total_price += result['price']

print float(total_price) / result_count # Prints 39239.94# Use the above results to find distribution of post-2007 Altima colors
from collections import Counter

colors = [result['features']['color'] for result in results]
distribution = Counter(colors)

print distribution['white'] # Prints 52# Retrieve a single listing from Dubizzle UAE
import dubizzle

listing = dubizzle.listing('http://dubai.dubizzle.com/motors/used-cars/nissan/tiida/2013/9/25/easy-installment-new-and-used-cars-0563276-2/', country='uae')

print listingSearch ParametersGeneralcountry- string; defaults to ‘uae’keyword- stringcity- stringsection- stringmin_priceandmax_price- integerscategory- stringadded_days- choices are 0, 3, 7, 14, 30, 90, or 180num_results- integer; ‘all’ fetches all results availabledetailed(not implemented) - if set toTrue, fetches full listing data for each result; slower, obviouslyMotorsmake- a long list can be found inregions.pymin_yearandmax_year- integersmin_kmsandmax_kms- integersseller- ‘dealer’ or ‘owner’fuel- ‘gasoline’, ‘hybrid’, ‘diesel’, or ‘electric’cylinders- 3, 4, 5, 6, 8, 10, or 12transmission- ‘automatic’ or ‘manual’Listing Parametersurl- string,requiredcountry- string; defaults to ‘uae’IssuesPlease use theIssuespage for that.
Package: dublib
dublibdublib– это библиотека, поставляющая компоненты, требующиеся в проектах@DUB1401, написанных на Python.Поставляемые компонентыБиблиотека включает следующие модули:MethodsPolyglotStyledPrinterTerminalyzerWebRequestorУстановкаБиблиотека поддерживает установку из двух типов репозиториев:PyPI– стабильные выпуски (с возможностью выбора конкретной версии);GitHub– канал разработки со всеми последними изменениями и исправлениями.Примечание:Для установки библиотеки из репозитория GitHub на вашем устройстве должна присутствовать система контроля версий Git.# Установка из PyPi.
pip install dublib

# Установка конкретной версии из PyPi.
pip install dublib=={version}

# Установка из GitHub.
pip install git+https://github.com/DUB1401/dublibCopyright © DUB1401. 2023-2024.
Package: dubo
duboThe Dubo SDK lets you interact with databases and data documentation via natural language. Use it with internal tools like Slackbots, within your company's ChatGPT plugin, or in your product directly.To get started, check out thedocumentation.Developing for the Dubo SDKGenerating the API ClientAn api client can be generated to access the dubo API, it is located in the/dubo/api_clientfolder:justgenerate-api-clientMore info can be found in the README file inside theapi-client-generatorfolder.Generating Documentationjustgenerate-doc
Package: dubscript
dub-scriptEasily dub audio files using a simple command script.UsageThe example below mixes a voice file from a remote source with a background song.importdubscriptasdssegment=ds.process({"version":"3","audio":[{"type":"overlay","audio":[{"name":"voice","start":500,"audio":[{"type":"file","src":"https://mysite.com/1.wav"},{"type":"silence","duration":1000},{"type":"file","src":"https://mysite.com/2.wav"},]},{"name":"song","audio":[{"type":"file","src":"local/dir/bg.mp3","gain":-10}]}]}]})segment.export('podcast.mp3')Dependenciesdub-scriptis powered byPyduband inherits its dependencies. Installffmpegorlibavif you need to manipulate non-wave files, likemp3.Installationpythonsetup.pyinstallWhy?This lib was originally intended to generate a podcast from a few audio files. You can use Pydub for this, but the idea of having a JSON recipe for it has several advantages. Having a recipe means you can version it and keep track of changes. Also, you can easily create a REST API that generates audios usingdub-script. Finally, I find it easier to understand the audio processing when only looking at the JSON.CommandsWithdub-script, everything is done through commands that follow this basic structure:{
  "type": "<command_type>"
}The only exception is theconcatcommand, which doesn't have atype:{
  "audio": [
    // audios to concatenate here
  ]
}Load local or remote filesUsefileto load audio data.{
  "type": "file",

  // you can have either an url or a path
  "src": "<local or remote source>"
}Add silenceUsesilenceto add a silent bit in milliseconds.{
  "type": "silence",
  "duration": 1000
}ConcatenateJoin audio together with concatenate:{
  "audio": [
    { "type": "file1.wav" },
    { "type": "file2.wav" }
    // ...
  ]
}OverlayMix audio tracks that plays at the same time withoverlay.Note: the length of the overlaid audio will always be equal to the first audio in the series.{
  "type": "overlay",
  "audio": [
    // holds the tracks
    {
      "name": "track1", // track names are not required and are only here for organization purposes (yet)
      "start": 3000, // this track will be delayed by 3 seconds
      "audio": [{ "type": "file1.wav" }, { "type": "file2.wav" }]
    },
    {
      "audio": [{ "type": "file3.wav" }],
      "gain": 5 // the previous track will be boosted by +5 db while they overlap
    }
  ]
}FiltersFilters can be applied to any other command.Change volumeYou can change the volume withgain. For instance:{
  "type": "file",
  "src": "quiet.wav",
  "gain": 3
}Fade In/OutFade audio with eitherfade_inorfade_out:{
  "audio": [
    {
      "type": "file",
      "src": "intro.mp3",
      "fade_in": 3000 // fade the first 3 seconds
    },
    {
      "type": "file",
      "src": "main.mp3",
      "fade_out": 10000 // fade the last 10 seconds
    }
  ]
}LicenseLicensed under theMIT License.