It enables buffersizes down to 32 samples and creates an ultra highspe USB audio
VoodooHDA is an open source audio driver for devices compliant with the Intel High Definition Audio specification. It is intended as a replacement for AppleHDA on Mac OS X with support for a wide range of audio controllers and codecs. ASIO drivers don't work on Macs (well, you could install Windows if you're on a MacIntel). Macs use Core Audio.
This does not only give you low latencies, but better sound quality also.
SoundManager (Mac) and Multimedia Extensions (MME / Win) use non-highend sample rate conversion in order to sync the different audio signals from applications to the sample rates used on the external soundcard. And sometimes there's not even a way to control the rate to be the prefered one. (E.g. 48kHz instead of 44.1kHz.)
Using ASIO it's possible to do direct 'one to one' hardware connections and even use higher bitrates (e.g. 20bit or 24bit) if supported by the device. Plus this driver can further increase quality by adding dither.
But of course, you need an ASIO compatible application like Cubase, Logic Audio, Reason, Live, Digital Performer, SONAR, BPM Studio, etc. If the app supports ASIO2 you'll be able to benefit from more features.
Home | Download | Documentation | Source | Mailing List | Blog |
---|
Who is using Asio?
Here is a list of some projects that are using Asio. If you are usingAsio, feel free to ask for your project’s information to be added tothis page. Consider including information about scalability, performanceand so on; i.e. the sorts of things you would like to hear about otherprojects. Thanks!
Restbed - RESTful C++ embedded framework
Corvusoft’s Restbed frameworkbrings asynchronous RESTful functionality to C++11 applications.
reTurn Server - high-performance ICE/STUN/TURN server for SIP, XMPP and WebRTC media stream relay
SIP, XMPP and WebRTC require a TURN server to relay media streams forusers on private IP networks.reTurn Server is an opensource project that implements the TURN standard.
asio is used for all low-level networking, providing support for UDP,TCP and TLS transports for TURN.
WebSocket++ (WebSocketPP) - WebSocket framework
WebSockets provide a mechanism for messaging passing between JavaScriptclients in a web browser and server side code.
WebSocketPP is a C++ libraryimplementing both WebSocket client and server functionality. It is anasynchronous application built on top of asio.
Loggly - high-performance cloud-based log aggregation and analytics
At Loggly we built our high-performance Collectors using the Boost ASIOframework. We found its event-driven model to perform very well, and theframework itself was a joy to code with. You can more details from ourblog post.
Remobo — create your own Instant Private Network (IPN)
Remobo allows you to easily creates an Instant Private Network (IPN)between your computers and your friends. It’s a COMPUTER network basedon your social network circle. With IPN service, you and your friendscan work or play together over Internet as if you were sitting on thesame office or home LAN (Local Area Network).
Remobo uses Boost andasio libraries for multi-threading,asynchronous socket I/O, and timer. which are the building blocks forour large-scale, fault-tolerant distributed systems.Boost and asio arechosen over other alternative libraries for its portability acrossmultiple platforms like Linux, Mac OSX, and Windows NT/2000/XP/Vista.The simplicity of asio’s header-only implementation is also highlyappreciated.
OpenTibia - Open Source Emulation of the MMORPG Tibia
OpenTibia is an open source emulation of the massively multiplayeronline RPG; Tibia.
OpenTibia now uses the boost.http://asio.sourceforge.net[asio] libraryfor asynchronous socket I/O. As with Osiris, it is to allow a singlethread to manage many connections simultaneously.
Osiris - Serverless Portal System
Osiris is a free portal creation software. The portals created withosiris don’t need a central server, they are safe, indestructible andanonymous. In those portals, all users have the same rights, so thestandard hierarchys (administrators, moderators, members) of regularforums are not present, even if they are supported.
Osiris uses the Boost andasio libraries for multi-threading andasynchronous I/O. Multi-threading allows the use of multiple CPUs orprocessing cores to process HTTP requests simultaneously. AsynchronousI/O allows each thread to handle many connections simultaneously(otherwise, a single thread would be required for every connection tothe server).
Jet Infosystems, SKVT 'Dozor-Jet'
Jet Infosystems, Moscow - one of the leading Russian integrator andmanufacturer of network security software. SKVT 'Dozor-Jet' is webtraffic filtering system, that act as a proxy and perform bidirectionalfiltering of web traffic - by URL, mime-type, words, time, etc.Description (in Russian) availablehere.
Software implement process per connection strategy, perform pre-forkingof handlers. Asio used both in sync and async mode. Sync mode use forhttp connections, and async - for https.
Pion CEP Platform & Pion Network Library
The Pion Network Library (pion-net) is a C++ development library forimplementing lightweight HTTP interfaces.
pion-net uses the Boost andasio libraries for multi-threading andasynchronous I/O. Multi-threading allows the use of multiple CPUs orprocessing cores to process HTTP requests simultaneously. AsynchronousI/O allows each thread to handle many connections simultaneously(otherwise, a single thread would be required for every connection tothe server). The combination of these technologies takes full advantageof the most modern CPUs, and allows servers implemented using pion-netto handle many thousands of connections simultaneously with a singlephysical server.
pion-net lets you run multiple servers listening to any number of portsand network devices. Each server may have its own collection of webservices defined which are bound to HTTP resources. Protocols other thanHTTP can also easily be implemented for any server. A common thread poolis used to handle operations for all servers. pion-net also supportsserver-side SSL & TLS encryption when built with theOpenSSL library.
The Pion CEP Platform is open source software, published under the GNUAffero GPL license. It is a real-time event processing engine that isdesigned to be extremely extensible through the use of plugins. Pluginscan be developed to provide specialized data processing logic and webservices, and to enable support for different data encoding formats anddatabases.
Bit Factory Software GmbH: 'Alex der Dienstplanassistent'
Bit Factory is an austrian company specialiced in human resourcescheduling software.
For the upcomming Version 7 ofAlex derDienstplanassistent, asio is used
a) to hide the network communication with its fine socket abstraction.
On the client in sync, on the server side in async mode.
b) in conjunction with the Boost threads libraryas the backbone of the server’s task dispatching strategy:
Asio For All Mac Os X 10.13
Here multiple threads serve the client requests simultaniously
'read' requests it are processed in sync
'write' requests are dispatched(queued) to a seperateasio::io_service, runing in its own dedicated writer thread
DB-resources are shared between different clients
The clou is: Thanks to asio, the wholething fits nearly on a screen page! If you need sample code, send amail!
Videofon MV JSC, TIP KSOT
Videofon MV is one of the biggest complex security solutions provider inMoscow.
TIP KSOT is an integrated video security system based on uniquetechnology all-in-one-cable. TIP KSOT provides video observation of asignificant part of Moscow to state government. TIP KSOT networksubsystem uses boost::asio to control and receive online and archivevideo from about 1000 hosts in fast, reliable and secured way.Description in Russian is availablehere
libtorrent - BitTorrent library
libtorrent is a library that implements a bittorrent client. Asio isused as the main message loop to process, typically, up to 200 tcpconnections. It handles all connections in one thread as asynchronousoperations.
libbitcoin - Bitcoin library
rewrite bitcoin, make it super-pluggable, very easy to do and hackeverything at every level, and very configurable
CodeShop
CodeShop uses Boost.Asio for consultancy and projects:http://www.code-shop.com
CodeShop used Boost.Asio in the client part of Abonja (internet videodistribution: your choice @ your time):www.abonja.nl
CodeShop used boost.asio for Zoep andOpenZoep: a voip sdk builtfor/together with Voipster. Note: the SSL layer in Asio was developedduring this project.
ReSP - Reflective Simulation Platform
ReSP (http://www.resp-sim.org) is a simulation platform based on Pythonand SystemC; the final aim is assisting the developer in the design ofmixed Hardware/Software embedded systems, in particular Multi-ProcessorSystems-On-Chip.
The Asio libraries are used for the communication among the simulationplatform and the GDB debugger in order to allow the debugging of thesoftware running on the simulated processors.
JukeFly - Social Music Player
JukeFly is a social music player for your browser. You can listen toyour mp3, ogg, flac, wma, aac, itunes music from any browser. You canalso listen to playlists your friends make as well as see cover-art foryour music etc.
JukeFly uses Asio for it’s PC Server software that the user downloadsonto the computer with their music. It operates as a secured web-serverto stream the music to wherever the user is at. It’s worked really greatand saved a lot of development time not to mention the code is allportable for future linux and OS X versions.
AbiWord - Cross Platform Word Processor
Asio For All Mac Os X 10.10
We use asio to perform the TCP transport between different AbiWord’swith our AbiCollab real-time document editing feature.
Wt - Web toolkit
Wt is a C++ widget library and applicationserver for creating highly interactive web applications.
Wt allows the choice of using FastCGI in combination with a foreign webserver, or a built-in wthttpd. This built-in httpd is based on the HTTPserver example include in asio, modified mainly to support HTTP 1.1 andinteract with Wt sessions.
We are so pleased with how it behaves that it is not only preferredduring application development, but we also use it to deploy thehigh-volume Wt homepage and online examples. Since asio 0.3.9, they havebeen running without a single glitch. Importantly, also in embeddeddevices, asio allows us to achieve high throughput, even when only usinga single thread of execution, by serving multiple connectionssimultaneously, and eliminates the requirement for separate webserver.
Dragon Intrusion Detection/Prevention System
Dragon is a Network and Host IDS and IPS, used by customers worldwide tomonitor and respond to threats on both their networks and servermachines. Administrators manage and deploy policy from a central consoleto their IDS/IPS infrastructure, which in large installations canfeature dozens of Network Sensors and many hundreds of Host Sensors.Security events, ranging from suspicious activity to data on compromiseattempts or worms, are channeled back to a central reporting point, fromwhere statistics and reports are produced and can be monitored. For moreinformation, see http://dragon.enterasys.com.
We are using Asio to underpin our enterprise middleware, which isresponsible for communication between our management point and all(potentially hundreds) of deployed sensors. In stressful conditions,sensors can generate large bursts of security events (scores persecond), and we are dependent on Asio for ensuring efficient and correctcommunication of these events back to our management point. Ourmiddleware is running successfully on a number of Unix platforms,including Solaris, AIX, HPUX and Linux. We will switch our Windowsmiddleware to it soon. We love Asio - thanks for the wonderful work.
Rep Invariant JAUS SDK
The Rep Invariant JAUS SDK(RI-JAUS) is a C++ library implementing the Joint Architecture forUnmanned Systems (JAUS) protocol for autonomoussystem interoperation. Users can create robots or other autonomoussystems which are controllable via any JAUS Operator Control Unit, andOperator Control units can be created which can operate any compliantrobot.
Asio operates our event loop, UDP network communications, and serialcommunications. It enables users of RI-JAUS to integrate the libraryeasily with alternate event loops and infrastructures. We have beenimpressed with its robustness and flexibility. So far it has beencapable of everything we needed it to do.
BigLog - Database and messaging System
A framework for capturing, storing, processing and distributing events(that is, changing data). It leverages Boost threads and Asio’snetworking and IO service handling to provide a powerful abstractionlayer to application design. A highly modular design built aroundmessage passing allows an event to be posted locally, or via a stubhandler, networked. A multicast stub allows for clustering of any modulefor redundancy and load sharing, unicast UDP or TCP for directoff-loading (eg. client front-end processors).
PokerTH - Texas Hold’em Poker Game
PokerTH is a portable Open Source poker game writen in C++ using boostand Qt4. It supports offline games against computer players as well asLAN and internet games with up to 10 players per table.
The PokerTH dedicated server is using asio for all network I/O andtimers. Several hundred players are being handled in a single thread -this also includes avatar picture uploads. Compared to a previousversion of the server which used a multithreaded approach, CPU usage isnow less than half while response time has improved notably.
asio is also used by the PokerTH client on Windows, Linux, Mac OS andBSD systems, and the asio I/O service supports the communication of theGUI and engine threads.
x0 - HTTP Web Server and Framework
x0 is a (currently Linux-only) HTTP web server and webserver framework, designed with speed and scalarability in mind. Thisproject is divided into three parts, the core framework (which any3rd-party can link against), the plugins (that extend the core withcustom features, like SSL, content compression, virtual hosting, CGI,etc…), and the x0d UNIX daemon (which uses the other both to reflect afully featured HTTP server).
xiva - simple HTTP server and framework
xiva (acronym for HTTP Extended EVentAutomata) is a simple HTTP server that notifies the browser about eventson the server-side. It was developed in Yandex towork with real-time events such as updating news, weather or trafficinformers.
opendnp3 - A reference implementation of Distributed Network Protocol
The goal of the opendnp3 project isto provide the utility industry with a production ready referenceimplementation of Distributed Network Protocol(DNP3) under an open source license. The project is sponsored byAutomatak.
The stack uses a completely asynchronous design. The core library iswritten in C++11 and has abstracted execution services, timers, andphysical layers called the Platform Abstraction Layer (PAL). Asioprovides opendnp3 with a very portable PAL implementation for systemswith an OS.
Dr.Web for mail servers Unix - processing and filtering of incoming and outgoing mail traffic
Dr.Web for mail serversUnix is a unique modular solution for processing and filtering ofincoming and outgoing mail traffic under Unix-systems(Linux/FreeBSD/Solaris(x86). Depending on the set of connected plug-insit can filter e-mail for viruses and spam.
Dr.Web for mail servers Unix is compatible with Linux distributions (v.glibc 2.2 and higher), FreeBSD v.v.4.x and higher, Solaris 10 (for Intelplatform only). Dr.Web for mail servers Unix is also compatible with thewidest range of mail servers: CommuniGate Pro, Courier MTA, Exim,Postfix, QMail, Sendmail, ZMailer.
The modular structure of Dr.Web for mail servers Unix allows to use thisproduct with any e-mail system, even if it is not found in the supportede-mail systems' list. An experienced user can develop his own plug-inand use Dr.Web for mail servers Unix with an e-mail system thatofficially is not supported. Moreover the product can be installed priorto the mail system %u2013 i.e. it can as well receive, send and analyzee-mail.
P2Engine - Peer-to-Peer Engine
P2engine is a flexible and efficient platform for making p2p systemdevelopment easier. Reliable UDP, NAT Punch, Message Transport , MessageDispatcher, Fast and Safe Signal/Slot…
QuickFAST — Open source implementation of the FAST protocol
QuickFAST is an Open Source native C++ implementation of the FASTProtocol [SM]. FAST(Fix Adapted for STreaming) protocol was developed byFIX Protocol Limited [FPL] (http://www.fixprotocol.org/fast/) as a wayto reduce the bandwidth and network-latency required to distributemarket data without incurring excessive CPU costs. It is being widelyadopted in the financial industry.
Low latency is a critical factor in handling market data.
FAST encoded data is usually distributed via multicast or TCP datafeeds. QuickFAST uses asio to allow a single process to accept data frommultiple feeds simultaneously and efficiently.
Swift IM - XMPP Client & Library
Swift is a user-friendly, robust, high-quality,cross-platform and performant IM client using the XMPPmessaging protocol. It relies on Boost heavily, and more specifically onAsio for all its networking needs. The underlyingSwiften XMPP Library is also used for variousother XMPP applications, which are more sensitive to scalability (servercomponents, load testers, …), and Asio fulfills all the needs there.
Blue Gene/Q System Software
The softwaremanaging Blue Gene/Q supercomputers relies heavily on Boost, andparticularly for Asio for scalable network architecture. Blue Gene/Q isa multi-petaflop supercomputer with a very energy efficient design.
avhttp async http library
The avhttp is an http library basedon asio, it is extermly simple and powerful to use. It is used by avbot,the same product produced by avplayer comunity, to perform async httprequest. avhttp is the best replacement to Urdl.
DDT3 Lua remote debugger
DDT3 is a C++ 11/14-based remote Luadebugger using asio non-Boost. The client runs on Windows, Linux andOSX, while the daemon runs on the same platforms plus Apple iOS,including physical devices and the iOS simulator. Thanks to Asio aWindows client can talk directly to an iPhone daemon, without OSXbridge.
Rippled - decentralized global payment system
Rippled is the P2P server softwareused to validate transactions sent through the Ripple protocol - anopen-source, distributed payment protocol.It enables free and instant payments with no chargebacks and in anycurrency — including dollars, yen, euros, bitcoins, and even loyaltypoints. Ripple enables the world to move value like information movestoday.
eScada HMI Solution
eScada The essential cross-platform HMI solution.
TCP/IP sockets guarantee a high level of connectivity between eScadaserver component and several other eScada client components.
ArangoDB
One Engine. One Query Language. Multiple Data Models.
ArangoDB is the open-source native multi-model database for graph,document, key/value and search needs.'
from our web page. As to scalability, ArangoDB is a distributed databasewhich needs to scale both horizontally across multiple machines as wellas vertically across multi-core machines. For the latter, we use asioto build our server infrastructure.
Asio For Mac
Home | Download | Documentation | Source | Mailing List | Blog |
---|
Comments are closed.