You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Python package to read and write [STEM](https://www.native-instruments.com/en/specials/stems/) audio files.
9
-
Technically, stems are audio containers that combine multiple audio streams and metadata in a single audio file. This makes it ideal to playback multitrack audio, where users can select the audio sub-stream during playback (e.g. supported by VLC).
9
+
Technically, stems are audio containers that combine multiple audio streams and metadata in a single audio file. This makes it ideal to playback multitrack audio, where users can select the audio sub-stream during playback (e.g. supported by VLC).
10
10
11
11
Under the hood, _stempeg_ uses [ffmpeg](https://www.ffmpeg.org/) for reading and writing multistream audio, optionally [MP4Box](https://github.com/gpac/gpac) is used to create STEM files that are compatible with Native Instruments hardware and software.
12
12
13
13
#### Features
14
14
15
15
- robust and fast interface for ffmpeg to read and write any supported format from/to numpy.
16
16
- reading supports seeking and duration.
17
-
- control container and codec as well as bitrate when compressed audio is written.
17
+
- control container and codec as well as bitrate when compressed audio is written.
18
18
- store multi-track audio within audio formats by aggregate streams into channels (concatenation of pairs of
19
19
stereo channels).
20
20
- support for internal ffmpeg resampling furing read and write.
Stempeg can read multi-stream and single stream audio files, thus, it can replace your normal audio loaders for 1d or 2d (mono/stereo) arrays.
72
72
73
-
By default [`read_stems`](https://faroit.com/stempeg/read.html#stempeg.read.read_stems), assumes that multiple substreams can exit (default `reader=stempeg.StreamsReader()`).
73
+
By default [`read_stems`](https://faroit.com/stempeg/read.html#stempeg.read.read_stems), assumes that multiple substreams can exit (default `reader=stempeg.StreamsReader()`).
74
74
To support multi-stream, even when the audio container doesn't support multiple streams
75
75
(e.g. WAV), streams can be mapped to multiple pairs of channels. In that
76
76
case, `reader=stempeg.ChannelsReader()`, can be passed. Also see:
@@ -121,7 +121,7 @@ Writing stem files from a numpy tensor can done with.
As seen in the flow chart above, stempeg supports multiple ways to write multi-stream audio.
124
+
As seen in the flow chart above, stempeg supports multiple ways to write multi-stream audio.
125
125
Each of the method has different number of parameters. To select a method one of the following setting and be passed:
126
126
127
127
*`stempeg.FilesWriter`
@@ -136,8 +136,8 @@ Each of the method has different number of parameters. To select a method one of
136
136
Stem will be saved into a single multistream audio.
137
137
Additionally Native Instruments Stems compabible
138
138
Metadata is added. This requires the installation of
139
-
`MP4Box`.
140
-
139
+
`MP4Box`.
140
+
141
141
> :warning:__Warning__: Muxing stems using _ffmpeg_ leads to multi-stream files not compatible with Native Instrument Hardware or Software. Please use [MP4Box](https://github.com/gpac/gpac) if you use the `stempeg.NISTemsWriter()`
142
142
143
143
For more information on writing stems, see [`stempeg.write_stems`](https://faroit.com/stempeg/write.html#stempeg.write.write_stems).
0 commit comments