Жарық дыбыс демоны: Дыбыс серверінің тарихы мен қағидалары
Enlightened Sound Daemon
ESD (EsounD) дыбыс сервері: Linux және UNIX жүйелері үшін қарапайым, біркелкі аудио интерфейсі. Әр түрлі драйверлерді қолдауды жеңілдетеді, бірнеше қолданбаға қол жеткізеді.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Кіріспе
Дыбыс сервері
Sound server
Компьютерлік техникада Enlightened Sound Daemon (ESD немесе EsounD) Enlightenment және GNOME үшін дыбыс сервері болды. Esound – Linux және UNIX жүйелері үшін арналған кішкентай дыбыс демоны. ESD аудио құрылғыға біркелкі және қарапайым интерфейс беру үшін жасалды, соның арқасында әр архитектура үшін жеке драйверлік қолдау жазу қажет болмайды. Ол сондай-ақ аудио құрылғылардың мүмкіндіктерін кеңейтуге арналған, мысалы, бірнеше бағдарламаға ашық құрылғыны бірлесіп пайдалануға мүмкіндік беру. ESD мұның бәрін іске асырады, сонымен бірге бағдарлама үшін ашық болып қалады, яғни бағдарлама жасаушы ESD қолдауын қосып, қалғанын оның өзіне тапсыра алады. Бұған қоса, API қазіргі аудио құрылғы API-ге өте ұқсас етіп жасалған, бұл ESD-ге көшуді жеңілдетеді. ESD бірнеше іске қосылған бағдарламалардың бір уақыттағы аудио шығысын араластырып, нәтижесінде алынған ағынды дыбыс картасына жібереді. ESD желілік дыбысты да басқара алады. Сондықтан, ESD-ді қолдайтын бағдарлама аудионы желі арқылы, ESD сервері іске қосылған кез келген қосылған компьютерге жібере алады. ESD қолдауы бағдарламаларға арнайы жазылып қосылуы керек, себебі ESD стандартты аудио жабдық API-ін имитацияламайды. ESD он жылдан астам уақыттан бері, басқа дыбыс серверлерінен бұрын пайда болғандықтан, көптеген Unix бағдарламаларында ESD шығысын қолдау орнатылған немесе қосымша ретінде қолжетімді. ESD GNOME жобасының бір бөлігі ретінде сақталды, бірақ 2009 жылдың сәуір айынан бастап GNOME-дағы барлық ESD модульдері оқиға дыбыстары үшін libcanberra-ға, ал қалғандары үшін GStreamer/PulseAudio-ға көшірілді. PulseAudio 2.0 ESound қолдауын толығымен тоқтатты.
In computing, the Enlightened Sound Daemon (ESD or EsounD) was the sound server for Enlightenment and GNOME. Esound is a small sound daemon for both Linux and UNIX. ESD was created to provide a consistent and simple interface to the audio device, so applications do not need to have different driver support written per architecture. It was also designed to enhance capabilities of audio devices such as allowing more than one application to share an open device. ESD accomplishes these things while remaining transparent to the application, meaning that the application developer can simply provide ESD support and let it do the rest. On top of this, the API is designed to be very similar to the current audio device API, making it easy to port to ESD. ESD will mix the simultaneous audio output of multiple running programs, and output the resulting stream to the sound card. ESD can also manage network transparent audio. As such, an application that supports ESD can output audio over the network, to any connected computer that is running an ESD server. ESD support must be specifically written and added into applications, as ESD does not emulate normal audio hardware APIs. Since ESD has been around for over a decade, earlier than almost any other sound server, a very large number of Unix applications have support for ESD output built in, or available as add ons. ESD was maintained as part of the GNOME project, but as of April 2009, all ESD modules in GNOME have been ported to libcanberra for event sounds or GStreamer/PulseAudio for everything else. PulseAudio 2.0 completely drops ESounD support.
Сәулет туралы жалпы түсінік
Esound (ESD) – бірнеше клиенттерге жүйелік дыбыс құрылғысын абстракциялайтын дербес дыбыс демоны. Linux-та Open Sound System (OSS) және басқа UNIX жүйелерінде, әдетте, дыбыс құрылғысын бір ғана процесс аша алады. Бұл GNOME сияқты десктоп ортасында қабылдауға келмейді, себебі көптеген қолданбалардың дыбыс шығаруы күтіледі (музыкалық декодерлер, оқиғаларға негізделген дыбыстар, бейнеконференциялар және т.б.). ESD демоны дыбыс құрылғысына қосылып, бірнеше клиенттен қосылымдарды қабылдайды, келіп түсетін аудио ағындарын араластырып, нәтижені дыбыс құрылғысына жібереді. Қосылымдар тек сәтті аутентификациядан өткен клиенттерге ғана рұқсат етіледі, бұл дыбыс құрылғысы арқылы рұқсатсыз пайдаланушылардың тыңшылық етуіне қатысты алаңдаушылықты азайтады. Жергілікті машинадан клиенттік қосылымдарды қабылдаудан өзге, ESD қашықтағы хосттардан келетін клиенттік қосылымдарды қабылдау үшін де конфигурациялануы мүмкін, егер олар сәтті аутентификациядан өтсе. ESD демонымен байланысқа түскімді қолданбалар libesd кітапханасын пайдаланады. Файлдармен жұмыс істеу сияқты, ESD қосылымы бірінші ашылады. libesd егер демон бұрыннан жоқ болса, ESD демонын автоматты түрде іске қосады. Содан кейін деректер ESD демонына оқылады немесе жазылады. Егер ESD клиенті ESD демоны жұмыс істейтін машинада жергілікті болса, деректер жергілікті сокет арқылы жіберіледі, содан кейін ESD демоны оны дыбыс құрылғысына жазады. Ал егер клиент қашықтағы машинада болса, деректер libesd арқылы қашықтағы машинадан желі арқылы ESD демонына жіберіледі. Бұл процесс ESD-ны пайдаланатын қолданба үшін толыққанды ашық болады.
Esound (ESD) is a stand alone sound daemon that abstracts the system sound device to multiple clients. Under Linux using the Open Sound System (OSS), as well as other UNIX systems, typically only one process may open the sound device. This is not acceptable in a desktop environment like GNOME, as it is expected that many applications will be making sounds (music decoders, event based sounds, video conferencing, etc.). The ESD daemon connects to the sound device and accepts connections from multiple clients, mixing the incoming audio streams and sending the result to the sound device. Connections are only allowed to clients that can authenticate successfully, alleviating the concern that unauthorized users can eavesdrop via the sound device. In addition to accepting client connections from the local machine, ESD can be configured to accept client connections from remote hosts that authenticate successfully. Applications wanting to contact the ESD daemon do so using the libesd library. Much like with file i/o, an ESD connection is first opened. The ESD daemon will be spawned automatically by libesd if a daemon is not already present. Data is then either read or written to the ESD daemon. For an ESD client local to the machine that the ESD daemon is running on, the data is transferred through a local socket, then written to the sound device by the ESD daemon. For a client on a remote machine, the data is sent by libesd on the remote machine over the network to the ESD daemon. The process is completely transparent to the application using ESD.