~ubuntu-branches/ubuntu/trusty/muse/trusty

« back to all changes in this revision

Viewing changes to doc/html/split/developer_docs/node10.html

  • Committer: Package Import Robot
  • Author(s): Alessio Treglia
  • Date: 2013-08-28 16:25:57 UTC
  • mfrom: (1.1.16)
  • Revision ID: package-import@ubuntu.com-20130828162557-27ulrksfvm64td50
Tags: 2.1.2-1
* New upstream bugfix release.
* Refresh patches.
* Fix doc links.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 
2
 
 
3
<!--Converted with LaTeX2HTML 2008 (1.71)
 
4
original version by:  Nikos Drakos, CBLU, University of Leeds
 
5
* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
 
6
* with significant contributions from:
 
7
  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
 
8
<HTML>
 
9
<HEAD>
 
10
<TITLE>Pre-Rendering tracks</TITLE>
 
11
<META NAME="description" CONTENT="Pre-Rendering tracks">
 
12
<META NAME="keywords" CONTENT="developer_docs">
 
13
<META NAME="resource-type" CONTENT="document">
 
14
<META NAME="distribution" CONTENT="global">
 
15
 
 
16
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
 
17
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
 
18
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
 
19
 
 
20
<LINK REL="STYLESHEET" HREF="developer_docs.css">
 
21
 
 
22
<LINK REL="next" HREF="node11.html">
 
23
<LINK REL="previous" HREF="node9.html">
 
24
<LINK REL="up" HREF="node8.html">
 
25
<LINK REL="next" HREF="node11.html">
 
26
</HEAD>
 
27
 
 
28
<BODY >
 
29
 
 
30
<DIV CLASS="navigation"><!--Navigation Panel-->
 
31
<A NAME="tex2html207"
 
32
  HREF="node11.html">
 
33
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
 
34
 SRC="/usr/share/latex2html/icons/next.png"></A> 
 
35
<A NAME="tex2html203"
 
36
  HREF="node8.html">
 
37
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
 
38
 SRC="/usr/share/latex2html/icons/up.png"></A> 
 
39
<A NAME="tex2html197"
 
40
  HREF="node9.html">
 
41
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
 
42
 SRC="/usr/share/latex2html/icons/prev.png"></A> 
 
43
<A NAME="tex2html205"
 
44
  HREF="node1.html">
 
45
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
 
46
 SRC="/usr/share/latex2html/icons/contents.png"></A>  
 
47
<BR>
 
48
<B> Next:</B> <A NAME="tex2html208"
 
49
  HREF="node11.html">Slotted editors</A>
 
50
<B> Up:</B> <A NAME="tex2html204"
 
51
  HREF="node8.html">Feature requests</A>
 
52
<B> Previous:</B> <A NAME="tex2html198"
 
53
  HREF="node9.html">Per-Part automation and more</A>
 
54
 &nbsp; <B>  <A NAME="tex2html206"
 
55
  HREF="node1.html">Contents</A></B> 
 
56
<BR>
 
57
<BR></DIV>
 
58
<!--End of Navigation Panel-->
 
59
<!--Table of Child-Links-->
 
60
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
 
61
 
 
62
<UL CLASS="ChildLinks">
 
63
<LI><A NAME="tex2html209"
 
64
  HREF="node10.html#SECTION00421000000000000000">The feature</A>
 
65
<LI><A NAME="tex2html210"
 
66
  HREF="node10.html#SECTION00422000000000000000">Use cases</A>
 
67
<UL>
 
68
<LI><A NAME="tex2html211"
 
69
  HREF="node10.html#SECTION00422010000000000000">Saving CPU</A>
 
70
<LI><A NAME="tex2html212"
 
71
  HREF="node10.html#SECTION00422020000000000000">Exporting as audio project</A>
 
72
<LI><A NAME="tex2html213"
 
73
  HREF="node10.html#SECTION00422030000000000000">Mobile audio workstations</A>
 
74
<LI><A NAME="tex2html214"
 
75
  HREF="node10.html#SECTION00422040000000000000">Applying effects on MIDI tracks</A>
 
76
</UL>
 
77
<BR>
 
78
<LI><A NAME="tex2html215"
 
79
  HREF="node10.html#SECTION00423000000000000000">Possible scenarios</A>
 
80
<UL>
 
81
<LI><A NAME="tex2html216"
 
82
  HREF="node10.html#SECTION00423010000000000000">Setting it up</A>
 
83
<LI><A NAME="tex2html217"
 
84
  HREF="node10.html#SECTION00423020000000000000">Pre-rendering stuff</A>
 
85
<LI><A NAME="tex2html218"
 
86
  HREF="node10.html#SECTION00423030000000000000">Making changes</A>
 
87
</UL>
 
88
<BR>
 
89
<LI><A NAME="tex2html219"
 
90
  HREF="node10.html#SECTION00424000000000000000">Extensions</A>
 
91
<UL>
 
92
<LI><A NAME="tex2html220"
 
93
  HREF="node10.html#SECTION00424010000000000000">Automatic discovery of physical audio connections</A>
 
94
<LI><A NAME="tex2html221"
 
95
  HREF="node10.html#SECTION00424020000000000000">Audio export</A>
 
96
<LI><A NAME="tex2html222"
 
97
  HREF="node10.html#SECTION00424030000000000000">Cheap/Faked changes</A>
 
98
<LI><A NAME="tex2html223"
 
99
  HREF="node10.html#SECTION00424040000000000000">Intelligent re-recording</A>
 
100
</UL></UL>
 
101
<!--End of Table of Child-Links-->
 
102
<HR>
 
103
 
 
104
<H1><A NAME="SECTION00420000000000000000">
 
105
Pre-Rendering tracks</A>
 
106
</H1>
 
107
 
 
108
<H2><A NAME="SECTION00421000000000000000">
 
109
The feature</A>
 
110
</H2>
 
111
All tracks shall be able to be "pre-renderable". Pre-rendering shall
 
112
be "layered". Pre-rendering shall act like a transparent audio cache:
 
113
Audio data is (redundantly) stored, wasting memory in order to save CPU.
 
114
 
 
115
<P>
 
116
That is: Each track owns one or more wave-recordings of the length of
 
117
the song. If the user calls "pre-render" on a track, then this track
 
118
is played quasi-solo (see below), and the raw audio data is recorded
 
119
and stored in the "layer 0" wave recording. If the user has any effects
 
120
set up to be applied, then each effect is applied on a different layer
 
121
(creating layer 1, layer 2 etc).
 
122
 
 
123
<P>
 
124
This means, that also MIDI and drum tracks can have effects (which
 
125
usually only operate on audio, but we HAVE audio data because of this
 
126
prerendering).
 
127
 
 
128
<P>
 
129
Furthermore, MusE by default does not send MIDI events to the synthesizers
 
130
but instead just plays back the last layer of the prerecording (for
 
131
MIDI tracks), or does not pipe the audio data through the whole plugin
 
132
chain (causing cpu usage), but instead just plays back the last layer.
 
133
The hearable result shall be the same.
 
134
 
 
135
<P>
 
136
Once the user changes any parameter (automation data or plugins for
 
137
wave tracks, MIDI events or effect plugin stuff for MIDI tracks),
 
138
then MusE shall generate the sound for this particular track in the
 
139
"old" way (send MIDI data to synthes, or pipe audio data through plugins).
 
140
(So that the user will not even notice that MusE actually pre-renderered
 
141
stuff.) Either MusE automatically records this while playback (if possible)
 
142
or prompts the user to accordingly set up his cabling and then record
 
143
it. Or (temporarily) disables prerecording for this track, falling back
 
144
to the plain old way of generating sound.
 
145
 
 
146
<P>
 
147
<SPAN  CLASS="textit">Quasi-solo</SPAN> means: For wave tracks, just solo the track. For MIDI
 
148
tracks, mute all tracks which are not on the same synth (channel?),
 
149
and mute all <SPAN  CLASS="textit">note</SPAN> events which are not on the quasi-soloed track.
 
150
This causes MusE to still play any controller events from different
 
151
tracks, because they might have effects on the quasi-soloed track. (You
 
152
can have notes on channel 1 on one track and controller stuff on channel
 
153
1 on another track; then you would need quasi-solo to get proper results.)
 
154
 
 
155
<P>
 
156
 
 
157
<H2><A NAME="SECTION00422000000000000000">
 
158
Use cases</A>
 
159
</H2>
 
160
 
 
161
<H4><A NAME="SECTION00422010000000000000">
 
162
Saving CPU</A>
 
163
</H4>
 
164
On slow systems, this is neccessary for songs with lots of, or demanding
 
165
(or both) soft synthes / plugins. Even if the synth or plugin is so
 
166
demanding that your system is not able to produce sound in real-time,
 
167
then with this feature you'll be able to use the synth (this will make
 
168
editing pretty laggish, because for a change you need to re-render at
 
169
least a part before you can listen to it, but better than being unable
 
170
to use the synth at all!)
 
171
 
 
172
<P>
 
173
 
 
174
<H4><A NAME="SECTION00422020000000000000">
 
175
Exporting as audio project</A>
 
176
</H4>
 
177
Using pre-rendering on all tracks, you easily can export your project
 
178
as multi-track audio file (for use with Ardour or similar DAWs).
 
179
Just take the last layer of each track, and write the raw audio data
 
180
into the file, and you're done. (Maybe we are even able to write down
 
181
the raw-raw layer0 audio data plus information about used plugins and
 
182
settings etc..?)
 
183
 
 
184
<P>
 
185
 
 
186
<H4><A NAME="SECTION00422030000000000000">
 
187
Mobile audio workstations</A>
 
188
</H4>
 
189
You might want to work a bit on your audio projects on your notebook
 
190
while you're not at home, not having access to your hardware synthesizers.
 
191
Using this feature, you could have pre-recorded the stuff in your studio
 
192
before, and now can at least fiddle around with the non-hw-synth-dependent
 
193
parts of your song, while still having your <SPAN  CLASS="textit">full</SPAN> song with you.
 
194
 
 
195
<P>
 
196
 
 
197
<H4><A NAME="SECTION00422040000000000000">
 
198
Applying effects on MIDI tracks</A>
 
199
</H4>
 
200
If you have many physical audio inputs, you might already be able to
 
201
apply effect chains on MIDI tracks, by wiring the synthes' audio
 
202
outputs to your soundcard's inputs, and applying the effects on
 
203
dedicated input tracks you have to create. This requires you to have
 
204
expensive hardware, and is pretty complicated, because you need one
 
205
additional track per MIDI synth.
 
206
 
 
207
<P>
 
208
This feature allows you to apply effects on single MIDI tracks, and not
 
209
only on full MIDI synthes, and doesn't require you to be have that
 
210
many physical audio inputs (you need to manually replug your synthes,
 
211
however).
 
212
 
 
213
<P>
 
214
 
 
215
<H2><A NAME="SECTION00423000000000000000">
 
216
Possible scenarios</A>
 
217
</H2>
 
218
 
 
219
<H4><A NAME="SECTION00423010000000000000">
 
220
Setting it up</A>
 
221
</H4>
 
222
Create a wave track, MusE will allow you to set or unset prerendering
 
223
for every plugin in the plugin rack (recording the actual track is
 
224
useless because it would be a plain copy).
 
225
Create a MIDI track, MusE will ask you on which physical audio input
 
226
your synth is connected. Setting up multiple synthes on one physical
 
227
audio in is allowed, see below.
 
228
 
 
229
<P>
 
230
 
 
231
<H4><A NAME="SECTION00423020000000000000">
 
232
Pre-rendering stuff</A>
 
233
</H4>
 
234
When the user presses the "pre-render" button, all tracks which have
 
235
been changed since their last pre-rendering will be re-rendered.
 
236
If you have multiple hardware synthes set up as they were connected
 
237
to one physical audio input port, MusE will prompt you to first plug
 
238
the proper cable in.
 
239
 
 
240
<P>
 
241
 
 
242
<H4><A NAME="SECTION00423030000000000000">
 
243
Making changes</A>
 
244
</H4>
 
245
Change a note in a MIDI part, move or delete a part or change automation
 
246
parameters. MusE will temporarily disable the pre-rendered information
 
247
and instead generate the sound via sending out MIDI events, piping stuff
 
248
through effect chains or similar. If you play back the whole song, or
 
249
if you manually trigger a re-rendering of a track via the context menu,
 
250
MusE will play back the stuff, record it again and re-enable the
 
251
pre-rendered information.
 
252
 
 
253
<P>
 
254
 
 
255
<H2><A NAME="SECTION00424000000000000000">
 
256
Extensions</A>
 
257
</H2>
 
258
 
 
259
<H4><A NAME="SECTION00424010000000000000">
 
260
Automatic discovery of physical audio connections</A>
 
261
</H4>
 
262
The user plugs all (or only some) synthes' audio outs into the available
 
263
audio inputs, then runs automatic discovery. This will send MIDI events
 
264
to each synthesizer, and look on which audio in there's activity. Then
 
265
it will assume that the synthesizer is connected to that particular
 
266
audio in. Audio ins which show activity before any MIDI events were
 
267
sent are not considered, as they're probably connected to microphones
 
268
or other noise-generating non-synthes.
 
269
 
 
270
<P>
 
271
 
 
272
<H4><A NAME="SECTION00424020000000000000">
 
273
Audio export</A>
 
274
</H4>
 
275
As described in the Use cases, MusE can allow you to export your song
 
276
in some multitrack audio format.
 
277
 
 
278
<P>
 
279
 
 
280
<H4><A NAME="SECTION00424030000000000000">
 
281
Cheap/Faked changes</A>
 
282
</H4>
 
283
For expensive or unavailable synthes, changing the Volume midi controller,
 
284
the Pan controller or similar "easy" controllers will not trigger a
 
285
complete re-rendering, but instead "fake" the change, by changing
 
286
the volume data directly on the recorded wave. This might require some
 
287
learning and might even get pretty complicated.
 
288
 
 
289
<P>
 
290
 
 
291
<H4><A NAME="SECTION00424040000000000000">
 
292
Intelligent re-recording</A>
 
293
</H4>
 
294
For tiny changes, MusE shall only re-render the relevant part. If you
 
295
change some MIDI notes, then begin re-recording shortly before the
 
296
changes, and end re-recording as soon as the recorded stuff doesn't
 
297
differ to much from the stuff coming from the synth. Then properly
 
298
blend the old recording with the updated part.
 
299
 
 
300
<P>
 
301
 
 
302
<DIV CLASS="navigation"><HR>
 
303
<!--Navigation Panel-->
 
304
<A NAME="tex2html207"
 
305
  HREF="node11.html">
 
306
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
 
307
 SRC="/usr/share/latex2html/icons/next.png"></A> 
 
308
<A NAME="tex2html203"
 
309
  HREF="node8.html">
 
310
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
 
311
 SRC="/usr/share/latex2html/icons/up.png"></A> 
 
312
<A NAME="tex2html197"
 
313
  HREF="node9.html">
 
314
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
 
315
 SRC="/usr/share/latex2html/icons/prev.png"></A> 
 
316
<A NAME="tex2html205"
 
317
  HREF="node1.html">
 
318
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
 
319
 SRC="/usr/share/latex2html/icons/contents.png"></A>  
 
320
<BR>
 
321
<B> Next:</B> <A NAME="tex2html208"
 
322
  HREF="node11.html">Slotted editors</A>
 
323
<B> Up:</B> <A NAME="tex2html204"
 
324
  HREF="node8.html">Feature requests</A>
 
325
<B> Previous:</B> <A NAME="tex2html198"
 
326
  HREF="node9.html">Per-Part automation and more</A>
 
327
 &nbsp; <B>  <A NAME="tex2html206"
 
328
  HREF="node1.html">Contents</A></B> </DIV>
 
329
<!--End of Navigation Panel-->
 
330
 
 
331
</BODY>
 
332
</HTML>