The tab key Tab ↹ on a keyboard is used to advance the cursor to the next tab stop. The word tab derives from the word tabulate, which means "to arrange data in a tabular, or table, form." When a person wanted to type a table on a typewriter, there was a lot of time-consuming and repetitive use of the space bar and backspace key. To simplify this, a horizontal bar was placed in the mechanism called the tabulator rack. Pressing the tab key would advance the carriage to the next tabulator stop; the original tabulator stops were adjustable clips that could be arranged by the user on the tabulator rack. Fredric Hillard filed a patent application for such a mechanism in 1900; the tab mechanism came into its own as a rapid and consistent way of uniformly indenting the first line of each paragraph. A first tab stop at 5 or 6 characters was used for this, far larger than the indentation used when typesetting. For numeric data, the logical place for the tab stop is the location of the least significant digit.
Tabbing to this location and pressing the backspace key to back up to the position of the first digit is practical but slow. Various schemes for numeric tabs were proposed. For example, in 1903, Harry Dukes and William Clayton filed for a patent on a tab mechanism with multiple tab keys numbered 1, 10, 100, etc. Pressing 1 was a simple tab. Pressing 10 advanced to the space before the tab, pressing 100 advanced to the position 2 spaces before the tab. Tab stops were set by adding and removing clips from the tab rack, but Edward Hess working for the Royal Typewriter Company filed for a patent in 1904 covering a system where the tab stops were permanently mounted on the tab bar. To set or reset a tab for a particular column, the tab stop for that column was rotated in or out of engagement. In 1940, James Koca filed for a patent on a mechanism allowing the tab stops for each column to be set and cleared from the keyboard, eliminating the need for the typist to bend over the back of the machine to directly manipulate the tab rack.
These keys, if present, are labeled tab set and tab clear. In word processing and text editing, the Tab key will move the insertion point to the next tab stop in a table, insert the ASCII tab character, or insert many space characters; when filling out a computerized form, pressing Tab will sometimes move the cursor to the next field, eliminating the need to use a mouse to click in an adjacent field. In many graphical applications on Windows, the Tab key will move the focus to every control or widget such as buttons so that the user interface can be used without a mouse at all. On macOS, this is an option called "Full Keyboard Access". A feature called tab completion can be used to complete a typed piece of text. For example, in some command-line interfaces, you may type the first few characters of a command or file-name press Tab. If there is no ambiguity about your intent, the rest of the characters will appear automatically; this usage is more common on Linux and Unix-like systems than Windows.
In'PC' video games, the Tab key is often used to show scores in multiplayer games. For single player games it is used to show the world map or the player's inventory. In Python, the Tab character can be used for defining code blocks, although it is discouraged in PEP-8. An example of such Python code would be: The most known and common tab is a horizontal tab, which in ASCII has the decimal character code of 9, may be referred to as Ctrl+I or ^I. In C and many other programming languages the escape code \t can be used to put this character into a string constant; the horizontal tab is generated by the Tab key on a standard keyboard. A vertical tab exists and has ASCII decimal character code 11, escape character \v. In EBCDIC the code for HT is 5, VT is 11. Printer mechanisms used mechanical tab stops to indicate where the tabs went; this was done horizontally with movable metal prongs in a row, vertically with a loop of mylar or other tape the length of a page with holes punched in it to indicate the tab stops.
These were manually set to match the pre-printed forms. The intention was to have the printers be programmed with control characters to set and clear the stops: ISO 6429 includes the codes 136, 137 and 138. In practice, settable tab stops were rather replaced with fixed tab stops, de facto standardized at every multiple of 8 characters horizontally, every 6 lines vertically. A printing program could send zero or more tabs to get to the closest tab stop above and left of where it wanted to print send line feeds and spaces to get to the final location. Tab characters became a form of data compression. Despite five characters being ½″ and the typical paragraph indentation at that time, the horizontal tab size of 8 evolved because as a power of two it was easier to calculate with the limited digital electronics available. Vertical tab was supported on these terminals. In contrast to the de facto 8 character standard, some IDEs use a default horizontal tab size of 4 characters. Tab-separated values are a common de facto standard for exporting and importing database or spreadsheet field values.
Text divided into fields delimited by tabs can be pasted into a word processor and formatted into a table with a single command. For example, in Microsoft Word 2010, Insert > Tab
Text-based user interface
Text-based user interface called textual user interface or terminal user interface, is a retronym coined sometime after the invention of graphical user interfaces. TUIs display computer graphics in text mode. An advanced TUI may, like GUIs, accept mouse and other inputs. From text application's point of view, a text screen can belong to one of three types: A genuine text mode display, controlled by a video adapter or the central processor itself; this is a normal condition for a locally running application on various types of personal computers and mobile devices. If not deterred by the operating system, a smart program may exploit the full power of a hardware text mode. A text mode emulator. Examples are win32 console for Microsoft Windows; this supports programs which expect a real text mode display, but may run slower. Certain functions of an advanced text mode, such as an own font uploading certainly become unavailable. A remote text terminal; the communication capabilities become reduced to a serial line or its emulation with few ioctls as an out-of-band channel in such cases as Telnet and Secure Shell.
This is the worst case, because software restrictions hinder the use of capabilities of a remote display device. Under Linux and other Unix-like systems, a program accommodates to any of the three cases because the same interface controls the display and keyboard. Specialized programming libraries help to output the text in a way appropriate to the given display device and interface to it. See below for a comparison to Windows. American National Standards Institute standard ANSI X3.64 defines a standard set of escape sequences that can be used to drive terminals to create TUIs. Escape sequences may be supported for all three cases mentioned in the above section, allowing random cursor movements and color changes. However, not all terminals follow this standard, many non-compatible but functionally equivalent sequences exist. On IBM Personal Computers and compatibles, the Basic Input Output System and DOS system calls provide a way to write text on the screen, the ANSI. SYS driver could process standard ANSI escape sequences.
However, programmers soon learned that writing data directly to the screen buffer was far faster and simpler to program, less error-prone. This change in programming methods resulted in many DOS TUI programs; the win32 console environment is notorious for its emulation of certain EGA/VGA text mode features random access to the text buffer if the application runs in a window. On the other hand, programs running under Windows have much less control of the display and keyboard than Linux and DOS programs can have, because of aforementioned win32 console layer. Most those programs used a blue background for the main screen, with white or yellow characters, although they had user color customization, they used box-drawing characters in IBM's code page 437. The interface became influenced by graphical user interfaces, adding pull-down menus, overlapping windows, dialog boxes and GUI widgets operated by mnemonics or keyboard shortcuts. Soon mouse input was added – either at text resolution as a simple colored box or at graphical resolution thanks to the ability of the Enhanced Graphics Adapter and Video Graphics Array display adapters to redefine the text character shapes by software – providing additional functions.
Some notable programs of this kind were Microsoft Word, DOS Shell, WordPerfect, Norton Commander, Turbo Vision based Borland Turbo Pascal and Turbo C, Lotus 1-2-3 and many others. Some of these interfaces survived during the Microsoft Windows 3.1x period in the early 1990s. For example, the Microsoft C 6.0 compiler, used to write true GUI programs under 16-bit Windows, still has its own TUI. Since its start, Microsoft Windows includes a console to display DOS software. Versions added the Win32 console as a native interface for command-line interface and TUI programs; the console opens in window mode, but it can be switched to full, true text mode screen and vice versa by pressing the Alt and Enter keys together. Full-screen mode is not available in Windows Vista and but may be used with some workarounds. In Unix-like operating systems, TUIs are constructed using the terminal control library curses, or ncurses, a compatible library; the advent of the curses library with Berkeley Unix created a portable and stable API for which to write TUIs.
The ability to talk to various text terminal types using the same interfaces led to more widespread use of "visual" Unix programs, which occupied the entire terminal screen instead of using a simple line interface. This can be seen in text editors such as vi, mail clients such as pine or mutt, system management tools such as SMIT, SAM, FreeBSD's Sysinstall and web browsers such as lynx; some applications, such as w3m, older versions of pine and vi use the less-able termcap library, performing many of the functions associated with curses within the application. In addition, the rise in popularity of Linux brought many former DOS users to a Unix-like platform, which has fostered a DOS influence in many TUIs; the program minicom, for example, is modeled after the popular DOS program Telix. Some other TUI programs, such as the Twin desktop, were ported over; the Linux kernel supports virtual consoles accessed through a Ctrl-Alt-F key combination. Up to 64 consoles may be
A function key is a key on a computer or terminal keyboard which can be programmed so as to cause an operating system command interpreter or application program to perform certain actions, a form of soft key. On some keyboards/computers, function keys may have default actions, accessible on power-on. Function keys on a terminal may either generate short fixed sequences of characters beginning with the escape character, or the characters they generate may be configured by sending special character sequences to the terminal. On a standard computer keyboard, the function keys may generate a fixed, single byte code, outside the normal ASCII range, translated into some other configurable sequence by the keyboard device driver or interpreted directly by the application program. Function keys may have default actions printed on/besides them, or they may have the more common "F-number" designations; the Singer/Friden 2201 Flexowriter Programatic, introduced in 1965, had a cluster of 13 function keys, labeled F1 to F13 to the right of the main keyboard.
Although the Flexowriter could be used as a computer terminal, this electromechanical typewriter was intended as a stand-alone word processing system. The interpretation of the function keys was determined by the programming of a plugboard inside the back of the machine. Soft keys date to avionics multi-function displays of military planes of the late 1960s/early 1970s, such as the Mark II avionics of the F-111D. In computing use, they were found on the HP 9810A calculator and models of the HP 9800 series, which featured 10 programmable keys in 5×2 block at the top left of the keyboard, with paper labels; the HP 9830A was an early desktop computer, one of the earliest computing uses. HP continued its use of function keys in the HP 2640, which used screen-labeled function keys, placing the keys close to the screen, where labels could be displayed for their function. NEC's PC-8001, introduced in 1979, featured five function keys at the top of the keyboard, along with a numeric keypad on the right-hand side of the keyboard.
Their modern use may have been popularized by IBM keyboards: first the IBM 3270 terminals the IBM PC. IBM use of function keys dates to the IBM 3270 line of terminals the IBM 3277 with 78-key typewriter keyboard or operator console keyboard version, which both featured 12 programmed function keys in a 3×4 matrix at the right of the keyboard. Models replaced this with a numeric keypad, moved the function keys to 24 keys at the top of the keyboard; the original IBM PC keyboard had 10 function keys in a 2×5 matrix at the left of the keyboard. Since the introduction of the Apple Extended Keyboard with the Macintosh II, keyboards with function keys have been available, though they did not become standard until the mid-1990s, they have not traditionally been a major part of the Mac user interface and are only used on cross-platform programs. According to the Macintosh Human Interface Guidelines, they are reserved for customization by the user. Current Mac keyboards include specialized function keys for controlling sound volume.
The most recent Mac keyboards include 19 function keys, but keys F1–F4 and F7–F12 by default control features such as volume, media control, Exposé. Former keyboards and Apple Keyboard with numeric keypad has the F1–F19 keys. Apple Macintosh notebooks: Function keys were not standard on Apple notebook hardware until the introduction of the PowerBook 5300 and the PowerBook 190. For the most part, Mac laptops have keys F1 through F12, with pre-defined actions for some, including controlling sound volume and screen brightness. Apricot PC/Xi: six unlabelled keys, each with an LED beside it which illuminates when the key can be used. Atari 8-bit family: four dedicated keys at the right hand side or on the top of the keyboard. Atari 1200XL had four additional keys labeled F1 through F4 with pre-defined actions related to cursor movement. Atari ST: ten parallelogram-shaped keys in a horizontal row across the top of the keyboard, inset into the keyboard frame instead of popping up like normal keys. BBC Micro: red/orange keys F0 to F9 in a horizontal row above the number keys on top of the computer/keyboard.
The break and copy keys could function as F10–F15. The case included a transparent plastic strip above them to hold a function key reference card. Coleco Adam: six dark brown keys in a horizontal row above the number keys, labeled with Roman numerals I–VI. Commodore VIC-20 and C64: F1/F2 to F7/F8 in a vertical row of four keys ascending downwards on the computer/keyboard's right hand side, odd-numbered functions accessed unshifted, even-numbered shifted. Commodore 128: same as VIC-20/C64, but with function keys placed in a horizontal row above the numeric keypad right of the main QWERTY-keyboard. Commodore Amiga: ten keys ar
A screenshot called screen capture or screen grab, is a digital image of what should be visible on a monitor, television, or other visual output device. A common screenshot is created by software running on the device. A screenshot or screen capture may be created by taking a photo of the screen; the first screenshots were created with the first interactive computers around 1960. Through the 1980s, computer operating systems did not universally have built-in functionality for capturing screenshots. Sometimes text-only screens could be dumped to a text file, but the result would only capture the content of the screen, not the appearance, nor were graphics screens preservable this way; some systems had a BSAVE command that could be used to capture the area of memory where screen data was stored, but this required access to a BASIC prompt. Systems with composite video output could be connected to a VCR, entire screencasts preserved this way. Screenshot kits were available for standard cameras that included a long antireflective hood to attach between the screen and camera lens, as well as a closeup lens for the camera.
Polaroid film was popular for capturing screenshots, because of the instant results and close-focusing capability of Polaroid cameras. In 1988, Polaroid introduced Spectra film with a 9.2 × 7.3 image size more suited to the 4:3 aspect ratio of CRT screens. Screenshot support was added to Android in version 4.0. In older versions, some devices supported screenshot functionality with one of the following combinations: Press and hold the Home+Power Press and hold Back+Power Press and hold back and double tap the Home. Screenshots can be taken by pressing Volume Down+Power, are saved in the "Screenshot" folder in the gallery after a short sound and visual effect. On certain devices that use modified Android; when a keyboard is connected via USB-OTG, pressing the print screen button will take the screenshot. There is no direct way to take screenshots programmatically in non-system apps. However, on most devices, apps may use the system screenshot functionality without special permissions. On Amazon Kindle devices, one can take a screenshot by: Kindle Paperwhite - touch & hold on the top-left & bottom-right corners of the screen.
The screen will flash & image. Kindle or Kindle Touch – Simply press and hold the Home and tap anywhere on the screen. Kindle Keyboard – Press alt+⇧ Shift+G Kindle Fire 2 and Kindle Fire HD – Press and hold the volume down+power at the same time. Open the Photos app to access the pics. Kindle Fire – One needs to connect their Kindle Fire to a computer with the Kindle SDK installed and take a screenshot through the development environment. On Chromebook and related devices with the Chrome OS keyboard layout, pressing the equivalent of Ctrl+F5 on a standard keyboard will capture the entire screen, the equivalent of Ctrl+⇧ Shift+F5 will turn the mouse into a rectangle select tool for capturing a custom portion of the screen. Screenshots of the HP webOS can be taken. For webOS phones press Orange/Gray Key+Sym+P. For the HP Touchpad, press Home Key+Power+. In either case, screenshots will be saved to the "Screen captures" folder in the "Photos" app. On KDE or GNOME, PrtScr key behavior is quite similar to Windows.
In addition, the following screenshooting utilities are bundled with Linux distributions: GIMP: A raster graphics editor that can take screenshots too gnome-screenshot: The default screen grabbing utility in GNOME ImageMagick: Has an "import" command-line tool that captures screenshots in a variety of formats. Type import -window root ~/screenshot.png to capture the entire screen to your home directory. KSnapshot: The default screen grabbing utility in the KDE Shutter: Screenshot utility written in Perl scrot: Allows selecting arbitrary areas of the X screen and windows. Xwd: The screen capture utility of the X Window System A screenshot can be taken on iOS by pressing the Home button and the Lock button, however on the new iPhone X it is achieved by pressing the Volume up and Lock button; the screen will flash and the picture will be stored in PNG format in the "Camera Roll" if the device has a camera, or in "Saved Photos" if the device does not. From the iOS 11 update a little preview will pop up in the bottom left corner, which can be swiped left to save or clicked to open up an editor where the screenshot can be cropped or doodled on before being saved or shared.
The screenshot feature is available with iOS later. The same ⌘ Cmd+⇧ Shift+3 shortcut for Mac OS is used in iOS to take a screenshot, with ⌘ Cmd+⇧ Shift+4 bringing the screenshot directly in iOS' editing window in iOS 11 and later. Third-party Bluetooth keyboards have a key or function key command devoted to taking a screenshot. On macOS, a user can take a screenshot of an entire screen by pressing ⌘ Cmd+⇧ Shift+3, or of a chosen area of the screen by ⌘ Cmd+⇧ Shift+4; this screenshot is saved with one PNG file per attached monitor. If the user holds down Ctrl while doing either the screenshot will be copied to the clipboard instead. Beginning with Mac OS X Panther, it is possible to make a screenshot of an active application window. By following ⌘ Cmd+⇧ Shift+4, with pressing the Spacebar, the cross-hair cursor turns into a small camera icon; the current window under the cursor is highlighted, a click on the mouse or trackpad will capture a screenshot of the entire highlighted element. A provided application called Grab will capture a chose
GNU General Public License
The GNU General Public License is a widely-used free software license, which guarantees end users the freedom to run, study and modify the software. The license was written by Richard Stallman of the Free Software Foundation for the GNU Project, grants the recipients of a computer program the rights of the Free Software Definition; the GPL is a copyleft license, which means that derivative work can only be distributed under the same license terms. This is in distinction to permissive free software licenses, of which the BSD licenses and the MIT License are widely-used examples. GPL was the first copyleft license for general use; the GPL license family has been one of the most popular software licenses in the free and open-source software domain. Prominent free-software programs licensed under the GPL include the Linux kernel and the GNU Compiler Collection. David A. Wheeler argues that the copyleft provided by the GPL was crucial to the success of Linux-based systems, giving the programmers who contributed to the kernel the assurance that their work would benefit the whole world and remain free, rather than being exploited by software companies that would not have to give anything back to the community.
In 2007, the third version of the license was released to address some perceived problems with the second version that were discovered during its long-time usage. To keep the license up to date, the GPL license includes an optional "any version" clause, allowing users to choose between the original terms or the terms in new versions as updated by the FSF. Developers can omit it; the GPL was written by Richard Stallman in 1989, for use with programs released as part of the GNU project. The original GPL was based on a unification of similar licenses used for early versions of GNU Emacs, the GNU Debugger and the GNU C Compiler; these licenses contained similar provisions to the modern GPL, but were specific to each program, rendering them incompatible, despite being the same license. Stallman's goal was to produce one license that could be used for any project, thus making it possible for many projects to share code; the second version of the license, version 2, was released in 1991. Over the following 15 years, members of the free software community became concerned over problems in the GPLv2 license that could let someone exploit GPL-licensed software in ways contrary to the license's intent.
These problems included tivoization, compatibility issues similar to those of the Affero General Public License—and patent deals between Microsoft and distributors of free and open-source software, which some viewed as an attempt to use patents as a weapon against the free software community. Version 3 was developed to attempt to address these concerns and was released on 29 June 2007. Version 1 of the GNU GPL, released on 25 February 1989, prevented what were the two main ways that software distributors restricted the freedoms that define free software; the first problem was that distributors may publish binary files only—executable, but not readable or modifiable by humans. To prevent this, GPLv1 stated that copying and distributing copies or any portion of the program must make the human-readable source code available under the same licensing terms; the second problem was that distributors might add restrictions, either to the license, or by combining the software with other software that had other restrictions on distribution.
The union of two sets of restrictions would apply to the combined work, thus adding unacceptable restrictions. To prevent this, GPLv1 stated that modified versions, as a whole, had to be distributed under the terms in GPLv1. Therefore, software distributed under the terms of GPLv1 could be combined with software under more permissive terms, as this would not change the terms under which the whole could be distributed. However, software distributed under GPLv1 could not be combined with software distributed under a more restrictive license, as this would conflict with the requirement that the whole be distributable under the terms of GPLv1. According to Richard Stallman, the major change in GPLv2 was the "Liberty or Death" clause, as he calls it – Section 7; the section says that licensees may distribute a GPL-covered work only if they can satisfy all of the license's obligations, despite any other legal obligations they might have. In other words, the obligations of the license may not be severed due to conflicting obligations.
This provision is intended to discourage any party from using a patent infringement claim or other litigation to impair users' freedom under the license. By 1990, it was becoming apparent that a less restrictive license would be strategically useful for the C library and for software libraries that did the job of existing proprietary ones; the version numbers diverged in 1999 when version 2.1 of the LGPL was released, which renamed it the GNU Lesser General Public License to reflect its place in the philosophy. Most "GPLv2 or any version" is stated by users of the license, to allow upgrading to GPLv3. In late 2005, the Free Software Foundation announced work on version 3 of the GPL. On 16 January 2006, the first "discussion draft" of GPLv3 was published, the public consultation began; the public consultation was planned for ni
Linux is a family of free and open-source software operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is packaged in a Linux distribution. Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy. Popular Linux distributions include Debian and Ubuntu. Commercial distributions include SUSE Linux Enterprise Server. Desktop Linux distributions include a windowing system such as X11 or Wayland, a desktop environment such as GNOME or KDE Plasma. Distributions intended for servers may omit graphics altogether, include a solution stack such as LAMP; because Linux is redistributable, anyone may create a distribution for any purpose. Linux was developed for personal computers based on the Intel x86 architecture, but has since been ported to more platforms than any other operating system.
Linux is the leading operating system on servers and other big iron systems such as mainframe computers, the only OS used on TOP500 supercomputers. It is used by around 2.3 percent of desktop computers. The Chromebook, which runs the Linux kernel-based Chrome OS, dominates the US K–12 education market and represents nearly 20 percent of sub-$300 notebook sales in the US. Linux runs on embedded systems, i.e. devices whose operating system is built into the firmware and is tailored to the system. This includes routers, automation controls, digital video recorders, video game consoles, smartwatches. Many smartphones and tablet computers run other Linux derivatives; because of the dominance of Android on smartphones, Linux has the largest installed base of all general-purpose operating systems. Linux is one of the most prominent examples of open-source software collaboration; the source code may be used and distributed—commercially or non-commercially—by anyone under the terms of its respective licenses, such as the GNU General Public License.
The Unix operating system was conceived and implemented in 1969, at AT&T's Bell Laboratories in the United States by Ken Thompson, Dennis Ritchie, Douglas McIlroy, Joe Ossanna. First released in 1971, Unix was written in assembly language, as was common practice at the time. In a key pioneering approach in 1973, it was rewritten in the C programming language by Dennis Ritchie; the availability of a high-level language implementation of Unix made its porting to different computer platforms easier. Due to an earlier antitrust case forbidding it from entering the computer business, AT&T was required to license the operating system's source code to anyone who asked; as a result, Unix grew and became adopted by academic institutions and businesses. In 1984, AT&T divested itself of Bell Labs; the GNU Project, started in 1983 by Richard Stallman, had the goal of creating a "complete Unix-compatible software system" composed of free software. Work began in 1984. In 1985, Stallman started the Free Software Foundation and wrote the GNU General Public License in 1989.
By the early 1990s, many of the programs required in an operating system were completed, although low-level elements such as device drivers and the kernel, called GNU/Hurd, were stalled and incomplete. Linus Torvalds has stated that if the GNU kernel had been available at the time, he would not have decided to write his own. Although not released until 1992, due to legal complications, development of 386BSD, from which NetBSD, OpenBSD and FreeBSD descended, predated that of Linux. Torvalds has stated that if 386BSD had been available at the time, he would not have created Linux. MINIX was created by Andrew S. Tanenbaum, a computer science professor, released in 1987 as a minimal Unix-like operating system targeted at students and others who wanted to learn the operating system principles. Although the complete source code of MINIX was available, the licensing terms prevented it from being free software until the licensing changed in April 2000. In 1991, while attending the University of Helsinki, Torvalds became curious about operating systems.
Frustrated by the licensing of MINIX, which at the time limited it to educational use only, he began to work on his own operating system kernel, which became the Linux kernel. Torvalds began the development of the Linux kernel on MINIX and applications written for MINIX were used on Linux. Linux matured and further Linux kernel development took place on Linux systems. GNU applications replaced all MINIX components, because it was advantageous to use the available code from the GNU Project with the fledgling operating system. Torvalds initiated a switch from his original license, which prohibited commercial redistribution, to the GNU GPL. Developers worked to integrate GNU components with the Linux kernel, making a functional and free operating system. Linus Torvalds had wanted to call his invention "Freax", a portmant
A sound card is an internal expansion card that provides input and output of audio signals to and from a computer under control of computer programs. The term sound card is applied to external audio interfaces used for professional audio applications. Sound functionality can be integrated onto the motherboard, using components similar to those found on plug-in cards; the integrated sound system is still referred to as a sound card. Sound processing hardware is present on modern video cards with HDMI to output sound along with the video using that connector. Typical uses of sound cards or sound card functionality include providing the audio component for multimedia applications such as music composition, editing video or audio, presentation and entertainment and video projection. Sound cards are used for computer-based communication such as voice over IP and teleconferencing. Sound cards use a digital-to-analog converter, which converts recorded or generated digital signal data into an analog format.
The output signal is connected to an amplifier, headphones, or external device using standard interconnects, such as a TRS phone connector. If the number and size of connectors is too large for the space on the backplate, the connectors will be off-board using a breakout box, an auxiliary backplate, or a panel mounted at the front; some cards include a sound chip to support production of synthesized sounds for real-time generation of music and sound effects using minimal data and CPU time. A common external connector is the microphone connector, for signals from a microphone or other low-level input device. Input through a microphone jack can be used, for example, by speech recognition or voice over IP applications. Most sound cards have a line in connector for an analog input from a cassette tape or other sound source that has higher voltage levels than a microphone. In either case, the sound card uses an analog-to-digital converter to digitize this signal; the card may use direct memory access to transfer the samples to the main memory, from where a recording software may write it to the hard disk for storage, editing, or further processing.
An important sound card characteristic is polyphony, which refers to its ability to process and output multiple independent voices or sounds simultaneously. These distinct channels are seen as the number of audio outputs, which may correspond to a speaker configuration such as 2.0, 2.1, 5.1, or other configuration. Sometimes, the terms voice and channel are used interchangeably to indicate the degree of polyphony, not the output speaker configuration. For example, many older sound chips could accommodate three voices, but only one audio channel for output, requiring all voices to be mixed together. Cards, such as the AdLib sound card, had a 9-voice polyphony combined in 1 mono output channel. For some years, most PC sound cards have had multiple FM synthesis voices which were used for MIDI music; the full capabilities of advanced cards are not used. Modern low-cost integrated sound cards such as audio codecs like those meeting the AC'97 standard and some lower-cost expansion sound cards still work this way.
These devices may provide more than two sound output channels, but they have no actual hardware polyphony for either sound effects or MIDI reproduction – these tasks are performed in software. This is similar to the way inexpensive softmodems perform modem tasks in software rather than in hardware. In the early days of'wavetable' sample-based synthesis, some sound card manufacturers advertised polyphony on the MIDI capabilities alone. In this case, the card's output channel is irrelevant. Instead, the polyphony measurement applies to the number of MIDI instruments the sound card is capable of producing at one given time. Today, a sound card providing actual hardware polyphony, regardless of the number of output channels, is referred to as a "hardware audio accelerator", although actual voice polyphony is not the sole prerequisite, with other aspects such as hardware acceleration of 3D sound, positional audio and real-time DSP effects being more important. Since digital sound playback has become available and single and provided better performance than synthesis, modern sound cards with hardware polyphony do not use DACs with as many channels as voices.
The final playback stage is performed by an external DAC with fewer channels than voices. The Tandy 1000 and the PCjr used the same soundchip, but the Tandy 1000 utilesed the Audio IN pin, whereas the PCjr did not; this allowed the tandy to produce the speaker sound at the same time as the SN74689 Connectors on the sound cards are color-coded as per the PC System Design Guide. They will have symbols with arrows and soundwaves that are associated with each jack position, the meaning of each is given below