Hướng dẫn python audio output device
You can do Show
Right now you can see, that there is an input device with index 1 and an output device with index 4. You can now set your pair of in/out devices by typing
Questions : Change audio output device with python2022-09-08T21:39:19+00:00 2022-09-08T21:39:19+00:00 649 I want to capture computer output, run it anycodings_audio-streaming through a neural network, then play back the anycodings_audio-streaming audio in real time. So far I have found anycodings_audio-streaming BlackHole:
This works great for capturing output. The anycodings_audio-streaming problem is I want to capture the audio with anycodings_audio-streaming BlackHole, then feed audio back to the anycodings_audio-streaming speaker output in real time. Setting anycodings_audio-streaming sd.default.device = "MacBook Pro Speakers anycodings_audio-streaming does not change the system audio output (it anycodings_audio-streaming is still going to BlackHole). How can I anycodings_audio-streaming programmatically change the device audio anycodings_audio-streaming output? Total Answers 1 33 Answers 1 : of Change audio output device with pythonYou can do print(sd.query_devices()) to anycodings_audio-streaming print out all devices that you may use, anycodings_audio-streaming for example
Right now you can see, that there is an anycodings_audio-streaming input device with index 1 and an output anycodings_audio-streaming device with index 4. You can now set your pair of in/out anycodings_audio-streaming devices by typing sd.default.device = anycodings_audio-streaming [index_of_input_device,index_of_output_device] 0 2022-09-08T21:39:19+00:00 2022-09-08T21:39:19+00:00Answer Link mRahman Deprecated since version 3.11: The This module allows you to access the OSS (Open Sound System) audio interface. OSS is available for a wide range of open-source and commercial Unices, and is the standard audio interface for Linux and recent versions of FreeBSD. Changed in version 3.3: Operations in this module now raise
See also Open Sound System Programmer’s Guidethe official documentation for the OSS C API The module defines a large number of constants
supplied by the OSS device driver; see
ossaudiodev. OSSAudioError ¶This exception is raised on certain errors. The argument is a string describing what went wrong. (If
(For backwards compatibility, the exception class is also available as ossaudiodev. open (mode)¶ ossaudiodev. open (device, mode)Open an audio device and return an OSS audio device object. This object supports many file-like methods, such as device is the audio device filename to use. If it is not specified, this module first looks in the environment variable mode is one of Note the unusual calling syntax: the first argument is optional, and the second is required. This is a historical artifact for compatibility
with the older ossaudiodev. openmixer ([device])¶Open a mixer device and return an OSS mixer device object. device is the mixer device filename to use. If it is not specified, this module first looks in the environment variable Audio Device Objects¶Before you can write to or read from an audio device, you must call three methods in the correct order:
Alternately, you can use the The audio device objects returned by oss_audio_device. close ()¶Explicitly close the audio device. When you are done writing to or reading from an audio device, you should explicitly close it. A closed device cannot be used again. oss_audio_device. fileno ()¶Return the file descriptor associated with the device. oss_audio_device. read (size)¶Read size bytes from the audio input and return them as a Python string. Unlike most Unix device drivers, OSS audio devices in blocking mode (the default) will block
oss_audio_device. write (data)¶Write a bytes-like object data to the audio device and return the number of bytes written. If the audio device is in
blocking mode (the default), the entire data is always written (again, this is different from usual Unix device semantics). If the device is in non-blocking mode, some data may not be written—see oss_audio_device. writeall (data)¶Write a bytes-like object data to the audio device: waits until the audio device is able to accept data, writes
as much data as it will accept, and repeats until data has been completely written. If the device is in blocking mode (the default), this has the same effect as Changed in version 3.2: Audio device objects also support the context management protocol, i.e. they can be used in a
The following methods each map to exactly one oss_audio_device. nonblock ()¶Put the device into non-blocking mode. Once in non-blocking mode, there is no way to return it to blocking mode. oss_audio_device. getfmts ()¶Return a bitmask of the audio output formats supported by the soundcard. Some of the formats supported by OSS are:
Consult the OSS documentation for a full list of audio formats, and note that most devices support only a subset of these formats. Some older devices only support oss_audio_device. setfmt (format)¶Try to set the current audio format to format—see
oss_audio_device. channels (nchannels)¶Set the number of output channels to nchannels. A value of 1 indicates monophonic sound, 2 stereophonic. Some devices may have more than 2 channels, and some high-end devices may not support mono. Returns the number of channels the device was set to. oss_audio_device. speed (samplerate)¶Try to set the audio sampling rate to samplerate samples per second. Returns the rate actually set. Most sound devices don’t support arbitrary sampling rates. Common rates are:
oss_audio_device. sync ()¶Wait until the sound device has played every byte in its buffer. (This happens implicitly when the device is closed.) The OSS documentation recommends closing and re-opening the device rather than using oss_audio_device. reset ()¶Immediately stop playing or recording and return the device to a
state where it can accept commands. The OSS documentation recommends closing and re-opening the device after calling oss_audio_device. post ()¶Tell the driver that there is likely to be a pause in the output, making it possible for the device to handle the pause more intelligently. You might use this after playing a spot sound effect, before waiting for user input, or before doing disk I/O. The following convenience methods combine several ioctls, or one ioctl and some simple calculations. oss_audio_device. setparameters (format, nchannels, samplerate[, strict=False])¶Set
the key audio sampling parameters—sample format, number of channels, and sampling rate—in one method call. format, nchannels, and samplerate should be as specified in the For example, (fmt, channels, rate) = dsp.setparameters(fmt, channels, rate) is equivalent to fmt = dsp.setfmt(fmt) channels = dsp.channels(channels) rate = dsp.rate(rate) oss_audio_device. bufsize ()¶Returns the size of the hardware buffer, in samples. oss_audio_device. obufcount ()¶Returns the number of samples that are in the hardware buffer yet to be played. oss_audio_device. obuffree ()¶Returns the number of samples that could be queued into the hardware buffer to be played without blocking. Audio device objects also support several read-only attributes: oss_audio_device. closed ¶Boolean indicating whether the device has been closed. oss_audio_device. name ¶String containing the name of the device file. oss_audio_device. mode ¶
The I/O mode for the file, either Mixer Device Objects¶The mixer object provides two file-like methods: oss_mixer_device. close ()¶This method closes the open mixer device file. Any further attempts to use the mixer after this file is closed will raise an oss_mixer_device. fileno ()¶Returns the file handle number of the open mixer device file. Changed in version 3.2: Mixer objects also support the context management protocol. The remaining methods are specific to audio mixing: oss_mixer_device. controls ()¶This method returns a bitmask specifying the available mixer controls (“Control” being a specific mixable “channel”, such as mixer=ossaudiodev.openmixer() if mixer.controls() & (1 << ossaudiodev.SOUND_MIXER_PCM): # PCM is supported ... code ... For most purposes, the oss_mixer_device. stereocontrols ()¶Returns a bitmask indicating stereo mixer controls. If a bit is set, the corresponding control is stereo; if it is unset, the control is either monophonic or not supported by the mixer (use in combination with
See the code example for the oss_mixer_device. reccontrols ()¶Returns a bitmask specifying the mixer controls that may be used to record. See the code example for
oss_mixer_device. get (control)¶Returns the volume of a given mixer control. The returned volume is a 2-tuple Raises oss_mixer_device. set (control, (left,
right))¶Sets the volume for a given mixer control to Raises oss_mixer_device. get_recsrc ()¶This method returns a bitmask indicating which control(s) are currently being used as a recording source. oss_mixer_device. set_recsrc (bitmask)¶Call this function to specify a recording source. Returns a bitmask indicating the new recording source (or sources) if successful; raises
mixer.setrecsrc (1 << ossaudiodev.SOUND_MIXER_MIC) |