@@ -13,95 +13,17 @@ like garbage collection and the GIL.
1313All PortAudio platforms and host APIs are supported.
1414Runs on any Python version where CFFI is available.
1515
16- Features:
16+ Online documentation
17+ https://python-rtmixer.readthedocs.io/
1718
18- * playback of multiple signals at the same time (that's why it's called "mixer")
19+ Source code repository
20+ https://github.com/spatialaudio/python-rtmixer
1921
20- * play from buffer, play from ringbuffer
21-
22- * record into buffer, record into ringbuffer
23-
24- * multichannel support
25-
26- * NumPy arrays with data type ``'float32' `` can be easily used (via the buffer
27- protocol) as long as they are C-contiguous
28-
29- * fixed latency playback, (close to) no jitter (optional)
30-
31- * to be verified ...
32-
33- * sample-accurate playback/recording (with known offset)
34-
35- * to be verified ...
36-
37- * non-blocking callback function, using PortAudio ringbuffers
38-
39- * all memory allocations/deallocations happen outside the audio callback
40-
41- Planned features:
42-
43- * meticulous reporting of overruns/underruns
44-
45- * loopback tests to verify correct operation and accurate latency values
46-
47- * fade in/out?
48-
49- * loop?
50-
51- * playlist/queue?
52-
53- Out of scope:
54-
55- * reading from/writing to files (use e.g. the soundfile _ module)
56-
57- * realtime signal processing (inside the audio callback)
58-
59- * signal generators
60-
61- * multiple mixer instances (some PortAudio host APIs only support one stream at
62- a time)
63-
64- * resampling (apart from what PortAudio does)
65-
66- * fast forward/rewind
67-
68- * panning/balance
69-
70- * audio/video synchronization
71-
72- Somewhat similar projects:
73-
74- * https://github.com/nwhitehead/swmixer
75- * https://github.com/nvahalik/PyAudioMixer
76- * http://www.pygame.org/docs/ref/mixer.html
77-
78- Installation
79- ------------
80-
81- On Windows, macOS, and Linux you can install a precompiled wheel with::
82-
83- python3 -m pip install rtmixer
84-
85- This will install ``rtmixer `` and its dependencies, including ``sounddevice ``.
86-
87- .. note :: On Linux, to use ``sounddevice`` and ``rtmixer`` you will need to
88- have PortAudio installed, e.g. via ``sudo apt install libportaudio2 ``.
89- On other platforms, PortAudio comes bundled with ``sounddevice ``.
90-
91- Developers can install in editable mode with some variant of::
92-
93- git clone https://github.com/spatialaudio/python-rtmixer
94- cd python-rtmixer
95- git submodule update --init
96- python3 -m pip install -e .
97-
98- Usage
99- -----
100-
101- See the list of `examples on GitHub `_.
22+ Somewhat similar projects
23+ * https://github.com/nwhitehead/swmixer
24+ * https://github.com/nvahalik/PyAudioMixer
25+ * http://www.pygame.org/docs/ref/mixer.html
10226
10327.. _PortAudio : http://portaudio.com/
10428.. _sounddevice : http://python-sounddevice.readthedocs.io/
10529.. _CFFI : http://cffi.readthedocs.io/
106- .. _soundfile : http://pysoundfile.readthedocs.io/
107- .. _examples on GitHub : https://github.com/spatialaudio/python-rtmixer/tree/master/examples
0 commit comments