The first sound editor I saw in my life was the
Phonograph (sndrec32.exe) in Windows 98. I didn’t play with it for long, recorded up to 1 minute of sound from a microphone (then the recording was interrupted) and listened to the received. And he converted the sounds from one quality to another.
The second sound editor I saw was
Cool Edit Pro 2000 (now called Adobe Audition). But when I rummaged in it enough - I was upset, this thing is called the "sound editor", but it only edits the sound. It is impossible to write music from scratch. In her successor - Adobe Audition, however, later they added a system of tracks into which you can loop and make music from them.
')
Then I also saw
Cakewalk Pro Audio (Cakewalk Sonar),
Fruity Loops ,
Sound Forge , etc.
But since 1998-2000, the desire to create sound and insert any notes into it in any place in time has been lurking in me. And to do it both in a simple mode (“put that note back there”), and in a more complicated one (“we will press this chord, we will play in this style, then another chord, we will play it in a different style”).
And more than a year ago, in December 2013, I started making this editor.
And he began to do it in the framework of the project PaintCAD 4Windows, which has long been able to make AVI films from drawn frames, but the resulting AVI is a silent movie, without sound. Therefore, the paintkad really needed the ability to create WAV files from scratch or edit others, collecting the voice acting for AVI from them. Well, where the creation of sound files - there and writing music nearby.
To get to Qmpot (read “kumpot”) - you need to start the paintkad:
So what is next:
- or press
Ctrl + Q ;
- or press
0 (zero) on the keyboard and select
“Extra” in the “Qmpot Sound Editor” menu :
The opened Qmpot will be empty.
And though:
- in it, you can create a new sound (via
“Create (Ctrl + N)” ),
- you can upload WAV files (via
"Open (Ctrl + O)" ),
- you can climb the cursor (from the keyboard) on the sound, accelerating movement 10 times (if you hold down
Shift ) or 100 times (if you hold down
Ctrl + Shift ),
- you can scale the sound using
Ctrl + Plus and
Ctrl + Minus ,
- you can move the cursor to a specific or random place by the button
“Go (Ctrl + G)”
- it is possible to select sound fragments by a space (or by the button
“Select (Space)” )
- you can turn on
Ctrl + I information about the counts under the cursor (amplitude and derivative) and under the borders of the selection (difference amplitudes and derivatives, to create your own loop-s)
- you can cut, copy, paste, delete selected
(Ctrl + X, Ctrl + C, Ctrl + V, Del)
- you can press
"Commands (Ctrl + K)" and manually edit the amplitude of the samples, change the selection border, change the length of the array and sound, transpose the sound
- you can click
"Effects (Ctrl + E)" and apply various effects to the selected sound fragment (from a simple change in volume to moving the sound source in space relative to the listener),
- you can save the edited sound to a WAV file (via
“Save (Ctrl + S)” ),
This is not the main thing.
Music programming
The main thing begins if you click the
"Program (F3)" button and then the edit field of the QMP programs (scripts) opens:
Comments in this field are written with a double slash at the beginning. It is convenient to tag them with couplets / choruses and other parts of music.
One of the commands already entered in the field is
X. Place the cursor on it and read under the program text field
“Complete execution” and
“X (without parameters)” . For any command under the cursor, its purpose and syntax are displayed here:
Place the cursor between the comment and the X command. Click the
"Command (Shift + F3)" button to the right of the program entry field. Select
"N - new sound" , and then
"Mono sound 16 bit .
" A line will appear in the program:
N 11025,16,1,5S
it means "to create a new empty sound with a sampling frequency of 11025 Hz, a sound depth of 16 bits, one channel and a length of 5 seconds."
The menu by the
“Command (Shift + F3)” button allows you to insert any commands into the program, if you are too lazy to watch the help, and you forgot the name of the command.
Also, all the teams with examples and pictures can be viewed if you press F1 in the paintkad or kumpot and select the
Extra section - “Qmpot Sound Editor” - “Command List” .
Add the following command after the N command:
LT 1,11025,16,1,0.5,0.5
it means “load the triangular / sawtooth wave into instrument number 1 with the parameters sampling rate of 11025 Hz, 16 bits, 1 channel, 50% amplitude from the maximum and 50% filling”.
“Filling” for a triangular wave is its “sawtooth”. Filling 50% (0.5) is a pure triangular signal (picture in the middle):
The sine wave - sounds very soft, triangular - harder, sawtooth - even harder, and rectangular - the hardest. Any of these signals, as well as the noise signal, can be loaded as instruments:
LS - sine,
LT - triangle / sawtooth,
LR - rectangular,
LN - noise.
Now we have 2 teams - the sound is created and the triangular wave is loaded as tool number 1. Add the first note. To do this, after the LT command, insert the command:
PL 1,0,10,1S, 0
it means to record the number 1 instrument in both channels with the instrument (0 - both channels, 1 - left, 2 - right, because the sound is mono - then at 0 all the same, only the first channel will sound), at an offset of 10 samples from the beginning of the sound, lasting 1 second, and the tone of the note 0 (Up to the 4th octave, C4).
The tone of the note is the shift in semitones relative to the original tone of the instrument. Here in the picture above the piano keyboard shows the note numbers:
Those. if you want a note Do - put 0, want Re - put 2, want Mi - put 3, want Do up an octave higher - put 12, etc.
Click the
“Start (Shift + F5)” button to the right of the program entry field (or
Shift + F5 on the keyboard). The program will be launched and will issue a "result".
Click below on the
Play / Pause (F5) panel (or simply
F5 on the keyboard) and listen to it (it will be 1 second with a note and 4 seconds of silence, since the five-second sound length is specified in the N command).
Let's write ditties in minor. These are chords Dm, Am, E, Am. In accordance with the image of the piano keyboard at the top and the numbers of notes on it:
Dm is three notes D4, F4, A4, i.e. in numbers of notes it is 2,5,9.
Am is the notes of A3, C4, E4, in the rooms it is -3.0,4.
E is E3, G # 3, B3, in numbers it is -8, -4, -1.
Let's change the length of the sound in the N command for 9 seconds (so that the ditties get in). And with PL commands we fill these chords with these note numbers, each note will be 0.5 seconds long:
- the first three notes from DM with an offset of 0 seconds and 1 second (twice),
- the second three notes from Am with an offset of 2 seconds and 3 seconds (twice),
- the third three notes from E with an offset of 4 seconds and 5 seconds (twice),
- the last three notes from Am with an offset of 6 seconds and 7 seconds (twice).
We get (copy this script and paste it into the program field instead of what was there):
Click the
“Start (Shift + F5)” button to the right of the program entry field (or
Shift + F5 on the keyboard). And then
F5 to listen.
You can call not three notes at once, but first one and then the other two (we move these two for half a second). We will receive (copy this script and paste it into the program field instead of what was there):
Click the
“Start (Shift + F5)” button to the right of the program entry field (or
Shift + F5 on the keyboard). And then
F5 to listen.
Add to the sound of the instrument the effect of "echo", to do this, after the LT command, insert the command:
SE 1,3,0,0.25S, 40
it means that each note of instrument 1 will turn into 3 notes. The first note will be where the PL team put it. The second will be inserted with an offset of 0.25 seconds and an amplitude of 60% (100 minus 40). The third one will be inserted with an offset of 0.25 + 0.25 seconds and an amplitude of 20% (100 minus 40 minus 40).
Due to the echo, the notes will strongly overlap each other, so in order to avoid reaching the amplitude limit (and cut the sound to -128 to 127 for 8 bits, or from -32,768 to 32767 for 16 bits), we also reduce the signal amplitude in the LT command from 0.5 to 0.3.
We get:
Run on Shift + F5 and listen to the received on F5.
Now let's make a stereo tune. For this:
- we will register two channels in the N command:
N 11025,16,2,9S
- load the second instrument, exactly the same as the first one, and for both we set the same echo
- let's place the first instrument in front of the listener in front of 500 mm:
IP 1, -500,500
- let's place the second instrument relative to the listener in front of the right 500 mm:
IP 2,500,500
- in each chord the first note will be played by the first instrument, and the other two by the second instrument
We get:
Simplify entry of note numbers
When writing melodies more and stolen - problems arise:
The first problem is that the script is growing. Comments help here, you can mark any parts of the program, so as not to peer into the arguments of the teams, but immediately understand “here is the introduction”, “here is the loss”, etc.
The second problem is that note numbers are difficult to enter from memory.
To solve this problem - the system
“Input notes” was added to Qmpot. It allows you to use a virtual piano, a virtual six-string guitar and a virtual reel mesh to create arrays of PL (or P) commands and drag them into the QMP program. It also allows you to play on a physical keyboard like a piano / drums and record played in the form of QMP teams.
To start the “Entering notes” - click on the
“Enter notes (Shift + F7)” button on the right of the program field or simply
Shift + F7 on the keyboard.
Putting notes: Piano
After starting the “note input” the piano is turned on by default.
You can climb the blue cursor on the keys and clamp them with a
space (or the
"Select (Space)" button).
The simplest use of the piano:
- we clamp the chord notes with a space,
- optional step: click
"Sound (ENTER)" (or just
Enter ) to listen to MIDI that everyone correctly clamped,
- press the button
“Add (CTRL + ENTER)” (or just
Ctrl + Enter ) and notes appear as commands in the program field on the right:
Then you can copy the received commands with the
“Copy (Ctrl + C)” button and then, after
escaping from the input of notes, insert them into your program where necessary.
The resulting notes are influenced by the parameters on the panel at the bottom of the window (you need to somehow manage their offset, duration, etc.):
Number - the number of the tool, prescribed in the PL commands.
Offset - offset in ms, prescribed in PL commands. The offset can be quickly changed by pressing the "-" (Ctrl + Minus) and "+" (Ctrl + Plus) buttons on either side of it. At the same time, it changes by the
“Step” value
Length - the duration of the notes in ms, prescribed in the PL commands.
Thus, you can:
- set the offset to 0 ms if it is not zero (Ctrl + A),
- hold the first chord,
- press Ctrl + Enter,
- clamp another chord,
- increase offset (Ctrl + Plus),
- press Ctrl + Enter again,
- hold the third chord,
- increase the offset,
- press Ctrl + Enter again.
Etc. And when there will be enough commands - we copy them by Ctrl + C, close the Input of notes by Esc and paste the received commands into the program.
If you are too lazy to increase the offset each time, press the
“Auto + (Ctrl + P)” button and then after each addition of notes by Ctrl + Enter, the offset will increase by itself.
You can also set the
“Shift” parameter - and the notes will not be inserted all by one offset, but each with this shift relative to the previous one, as if the pianist does not instantly press all the keys, but with delays.
Game Styles and Test Teams
There are two buttons above the program field in “Entering Notes”:
With the button
“Test commands (Ctrl + U)” you can listen to the commands entered on the triangular wave for the piano / guitar and on the noise drums for the drum nets, without leaving the “Putting in notes”.
You can select specific game styles using the
“Game Style (Ctrl + B)” button. For piano, these are piano styles, for guitar, guitar, and for drums, these are built-in rhythms (rock, hip hop, etc.). You can also set your own style.
The current game style is displayed under the “Game Style” button. In the default piano, this is the “Play All” style. It looks like an A-1D.
Piano styles are encoded with commands and digits written with a dash:
A - play all the notes at the same time;
Sets of numbers 1-9 - play the specified note from a clamped chord (if three notes are clamped, then 1 will play the first note, 2 - the second, 3 - the third, 13 - the first and the third simultaneously, 4 - will not play anything, because only three clamped);
Steps D - the delay between the previous notes and the next in shares of the “steps” of the “Pitch” parameter from the bottom of the window, the length of the previous notes being determined by the “Length” parameter from the bottom of the window;
StepsL — The delay between the previous notes and the next “steps” of the “Pitch” parameter from the bottom of the window, with the length of the previous notes being equal to this delay (the notes stretch to the next notes).
For example, the aforementioned “Play All” style is A-1D, where A is to lose everything, 1D is to wait for one Step.
And the “Pairs (1 Step)” style is encoded as 2-0.25L-34-0.25L-1-0.25L-34-0.25L, which means:
2-0.25L: 2 a note clamped in a chord is played a quarter of a step;
34-0.25L: 3 and 4 a note clamped in a chord is played a quarter of a Step;
1-0.25L: 1 note clamped in a chord is played quarter of a step;
34-0.25L: 3 and 4 a note clamped in a chord is played a quarter of a step.
As a result, the whole Step is filled with notes.
Thus, choosing the “Couples (1 step)” style and holding a 4 note chord, you can use Ctrl + Enter to receive commands of the whole musical phrase 2-34-1-34 with shifts in time, and not just a chord.
Entering notes with playing style (general algorithm)
1) Use the
“Number (Ctrl + I)” button to specify the number of the tool that will be used in QMP commands;
2) Using the
“Clear (Ctrl + X)” button
, clear the previous “note input” program (if it was entered before);
3) Using the
“Step (Ctrl + S)” button
, specify the step length in ms;
4) Using the
“Offset (Ctrl + A)” button
, set the initial offset to 0 ms (or another, if you want to set notes not from the beginning of the melody);
5) Reset previously pressed notes on the button
“Reset keys (Ctrl + K)” and hold down the next chord of 4 notes by moving the cursor and pressing the
“Select (Space)” button;
6) By the button
“Add (Ctrl + ENTER)” “play” the clamped chord with the chosen style of play (the game teams will be added to the QMP program in the text field on the right);
7) Increase the offset by one step with the
"+" button
(Ctrl + Plus) ;
8) If you also need to enter other chords of the melody, go to step 5 to enter the next chord.
9) Press
"Test commands (Ctrl + U)" to listen to the received melody on a triangular signal;
10) Click
"Copy (Ctrl + C)" to copy QMP commands, exit the "Enter Notes" by
ESC , paste the commands into the QMP program in the main window Qmpot;
Advice: if you pre-enable the mode by the “Auto + (Ctrl + P)” button, then step 7 will not be required, the offset will automatically increase by the required number of steps after each addition of notes by the “Add (Ctrl + ENTER)” button.
Other styles can take more than one step, but more, for example, the predefined “Brute force (2 steps)” style uses 8 iterations of 0.25 steps (that is, it takes 2 steps). Then, when manually changing the offset, it is necessary after “Add (Ctrl + ENTER)” to increase the offset by 2 steps (with the
“+” button
(Ctrl + Plus) ). In the case of an auto-increment offset (
“Auto + (Ctrl + P)” ), the required number of steps will be automatically added to the offset.
Also in the game style selection menu, using the
“Game Style (Ctrl + B)” button
, you can manually enter your game styles. In the same menu, you can load / save to QPS (Qmpot Piano Style) files with the style of the game and the current clamped chord on the piano.
Music Input: Six String Guitar
To go to the guitar, press the button
“Tool (Ctrl + G)” at the bottom of the panel.
Here, like the piano, you can run the cursor on the fingerboard and clamp the strings. An unstressed string does not participate in the chord, so, for example, for the simple A-minor Am it is necessary to clamp everything as usual, and the free strings are in a zero fret, and then by Ctrl + Enter the whole chord will be thrown into the program:
Here, too, you can play in different styles: normal battle, tweaks, fights.
Putting Notes: Drum Grid
To go to the guitar, press the button
“Tool (Ctrl + G)” at the bottom of the panel again.
The classic mesh that is used in Cakewalk, Fruity Loops and much more. Only vertically is not the notes of the piano, but the numbers of the drums.
And the horizontal time is within the selected size by the button
"Size (Ctrl + E)" . For example, if the selected size is 8/4, the grid will look as shown in the screenshot above - 8 columns, divided into groups of 4 columns.
Put the notes on the reels like this:
Click
“Sound (ENTER)” (or just
Enter ) to listen to the rhythm in MIDI. He will be played twice to evaluate the docking of the rhythm with himself.
Click
“Add (CTRL + ENTER)” (or just
Ctrl + Enter ) to throw off the notes of the rhythm in the program field. Pressing the
"Command Test (Ctrl + U)" button will lose the rhythm from the program field on the noise drums.
In order to use the rhythm commands received in this way in a QMP program, you must already load 9 instruments (9 different drums) in this QMP program.
Therefore, in the main Qmpot window in the menu by the “Command (Shift + F3)” button there is a call for “noise drums” - drums on noise signals. It is enough to choose the number of the starting drum (if 1 - then they will take the instrument numbers from 1 to 9, if 20 - then from 20 to 28, etc.) and digit capacity (8 or 16 bits) and you will have them in the program. For example, a program with the above-recited rhythm and noise drums:
In the
“Game Style (Ctrl + B)” menu
, you can choose different preset rhythms.
The “123456789- (required delay) D” style line is automatically set depending on the current size selected by the
“Size (Ctrl + E)” button.
Entering music: playing on a PC keyboard
When the Piano or Six-String Guitar instruments are included in the “Entering Notes”, you can play on the physical keyboard of a computer like a piano keyboard.
The main part of the keyboard is two rows of keys:
Top row -WE-TYU-OP-] - black keys, notes Do #, D #, Fa #, Sol #, Aa #, Do #, D #, Fa #.
Bottom row ASDFGHJKL; ' - white keys, notes of Do, D, Mi, Fa, Sol, La, Xi, Do, D, Mi, Fa.
This part of the keyboard plays notes, starting with the octave, in which the cursor is currently located. Those. By moving the cursor on the virtual piano keyboard to higher octaves in tone, you can get a higher sound from the physical keyboard. At the fretboard, this system also works — on higher-pitched strings and on distant frets — a higher-pitched notes from the physical keyboard.
Sometimes it is convenient to play / record bass accompaniment with the melody, therefore:
- below the "bottom row" there is a row of keys
ZXC ... <>? - it plays the role of white piano keys, but an octave below the main part of the keyboard.
- similarly, there are a number of
123 keys above the “top row”
...) - = - it plays the role of black piano keys, but an octave lower than the main part of the keyboard.
Therefore, it is recommended to play ASDF ... and QWER ... melody rows, and ZXCV ... and 1234 ... bass accompaniment to it. For example, A is the note Do, Z is the note Do one octave lower.
With the current Piano tool, all the keys pressed on the physical keyboard are displayed on the virtual keyboard in the Note Entry window.
Entering music: recording a game on a PC keyboard
By the
“Record (Ctrl + R)” button you can turn on / off the recording mode, then everything played will be added as QMP commands in the program field. In this case, the first pressed note will receive an offset of 0 seconds, the remaining notes will be recorded relative to the moment when the first note was pressed.
To record the offset and duration of the notes were aligned in time - use quantization:
1) Set the
Tempo (Ctrl + T) button to the required tempo of the game, you can also set up and turn on the metronome (MIDI or Video) to listen to the tempo of the game and even leave it on while recording (warning: on weak computers, the MIDI metronome sound can stray and lay, then use the video metronome and watch the balls appear on the screen);
2) Press the
“Quant (Ctrl + F)” button and enter, for example, 2. This means that the shifts and the duration of the notes will be a multiple of 1/2 of the duration of the tempo strike. At a pace of 120 beats per minute, 1 beat of the tempo is 0.5 seconds, and 1/2 of the duration of the beat of the pace is 0.25 seconds, so all offsets and durations of recorded notes will be a multiple of 0.25 seconds.
Important: modern features of the device of physical keyboards do not allow clamping a large number of keys simultaneously. Therefore, be prepared to accept the fact that when playing / recording on the physical keyboard when you press more than 2 keys at the same time - some keystrokes can be skipped by the game / recording system. This is normal. It all depends on your keyboard, ideally - just try not to press more than 2 keys at the same time, then everything will be fine.
Entering notes: playing and recording drums on a PC keyboard
When the “Drum Grid” tool is turned on in “Entering Notes”, you can play on the physical keyboard of the computer like on all 9 reels in the grid and record this game using the
“Record (Ctrl + R)” button. Keys for playing / recording:
A number of keys ASDFGHJKL - drums from 1 to 9.
Conclusion
In this article, the manual briefly describes the sound editor Qmpot. More specifically, only the programming and the “Entry of Notes” system are described.
In the help system (by the
F1 button in a paintkad or kumpot) in the section
“Extra” - “Qmpot Sound Editor” you can find additional information not described in the article:
- about the basics of sound editing (what is the sampling rate, bit depth, how sound is recorded in files, etc.),
- about loading tools from INS + WAV files and simply from WAV samples,
- about creating your own tools,
- about searching and setting loop-a (loop, repeating part) in the tools you create,
- on the extraction of finished instruments from SF2 / DLS sound banks,
- applying effects in the Qmpot editor (filtering, noise reduction, reversing the sound, moving the sound source relative to the listener, taking into account the Doppler effect, etc.),
- about recording sound from sound card inputs, from a webcam, etc.,
- and much more.
In the Qmpot sound editor, using the methods described above, you can compose melodies, process sounds and even make voiceovers for movies and animations (AVI files) that you create in the paintcade.
WAV dubbing can be attached to an AVI file in the Paintkad
Utilities menu. You can also extract the WAV voice acting from any AVI file:
Download PaintCAD 4Windows with Qmpot inside
You can follow the links (12.6 MB):
Rar : blackstrip.ru/pcw.rar
ZIP: blackstrip.ru/pcw.zip
SFX-EXE: blackstrip.ru/pcw.exe
Bonus melody for Qmpot for those who read the article to the end:
blackstrip.ru/bonusmusic.txt (on noise drums and two triangular waves!).