Wednesday, August 4, 2010

To do with Akoff Music Composer MIDI music (2)


We all know that there are many types of music files, so there are a lot of people ask the question, how to with the large WAV files or MP3 files into a "MIDI" file format, because they found that the format of music files " very small. " General we see the MIDI format at most tens of K, really quite attractive. However, unless you have a professional knowledge of music and want to produce their own paper so it is very difficult.
Presented to you today Akoff Music Composer software can help you make up for this sorry, it can be music files into MIDI files, is very convenient.

Use before briefly about what is MIDI, you will better understand the work principle of the software.

The so-called MIDI is actually short for Musical Instrument Digital Interface, literal translation can be translated as "musical instrument digital interface", to the effect that the method used to achieve digital music player. After he and our common MP3, WAV files are not the same, it does not contain any real musical information. It is actually the sound card for voice control, if the sound card for this part of the function of a set of keys than in the case, then the MIDI file is available for the computer to read the music.


Here, surely you can immediately see why MIDI files are so small, that record is a command rather than a real musical information, such as MP3, WAV and other documents to show that the record is a code rate of musical clarity, and The MIDI file is not there this issue, because the sound card sound card wavetable synthesis chip (or special wavetable synthesis) is applied to the synthesis performance. Sometimes it sounds really no difference, but when you open the volume control to find something to "software synthesizer", mute, you can find, MIDI files can no longer audible. (Figure 1)



Figure 1


Finished these, you probably already understand, the software will actually restore the musical scores through the analysis of information, MIDI files, which, as we usually carry out some of the "notation."


First need to note is that it can only be realized from the "WAV" to "MIDI" change, if the other format, first convert the "WAV" file. Everything is ready, open the software interface (Figure 2):



Figure 2

We mainly use the above three-part feature.

First, use the first column of the "Open" function to find the need to convert the "wav" file, then in the file column will show the path to the file, the right to listen to the playback control file.

Select the green Convert button, the further in the following window settings (Figure 3):



Figure 3

First select a document identifying the voice of musical types, the software provides a "human voice" "The Piano" "wind," "Acoustic Piano", "whistle" identify the type used to generate five different tracks, if you have the original file contains more than sound, we must complete the following steps, respectively.

After a good choice to start on the right of the "Start" button, it will automatically play music, and start the conversion. You can see the waveform and musical keyboard in the bottom of every detail that was converted into the corresponding pitch of the key bit, the end of conversion, you can select "MIDI" column "PLAY" view the conversion results, while you can change of tone change after the file is used to add audio tracks.

Select "Add Track" can do on a track to the main panel of synthetic tracks, you can generate different colors were extracted from the track needs, thus forming a chord effect. (Figure 4)



Figure 4

Of course, the pursuit of results, there are many details can be adjusted, such as tone, you can identify the voice on the sound card, can be named to the track, select the instrument, adjust the volume and balance, etc. about to rise. Satisfied, click on File- > SaveMidiFileAs (Save as Midi file) can, on completion of a music conversion.








Recommended links:



Production activities yourself menu bar



PPT Edit Show Two Things Correct



Modify the TCP / IP After so fast you do not believe



Thunder ruthless ANTI-PIRACY or abandoned by advertisers



Aac files



Video format



C # drag and drop source Xiangjie 1



Simple Business



Wizard Personal Interest



Add CARD Games



"Blue screen" hardware REASONS and solutions



convert 3gp TO mp4



Holiday birth to "steal food hand job"



Carrefour fire the largest online retail battle RIVAL Wal-Mart



Evaluate Animation Tools



Hot Themes And Wallpaper



Dvd Audio Ripper



Wednesday, July 21, 2010

C + + programmers to easily commit the error of 10 C #


We know, C # and C + + syntax is very similar, from a C + + to C # transformation, the difficulty is not the language itself, but rather familiar. NET-managed environment and on. NET framework for understanding.

Although C # and C + + in grammatical change is very small, almost not have any impact, but some changes are enough to make some careless moment of C + + programmers in mind. In this article we will discuss the C + + programmers the ten most likely to commit errors.

Trap 1: there is no clear end of the method

Almost completely sure that, for most in terms of C + + programmers, C # and C + + the biggest difference is that debris collection. This also means that programmers no longer need to worry about memory leaks and make sure to remove all the useless pointer. But we can no longer accurately control the process kill useless objects. In fact, in C #, there is no clear destructor.

If the use of non-management resources, without the use of these resources, you must explicitly release it. Recessive control of resources by Finalize method (also known as the finalizer) provided, when the object is destroyed, it will be called to recover debris collection program resources occupied by the object.

finalizer should only release the destruction of the object occupied Non-management resources, and other objects should not be involved. If the program is only used to manage resources, it need not be the implementation of Finalize method, only the non-manageability of resources will be used in the treatment of Finalize method. As the need to take up certain resources finalizer, it should only need it to perform the method finalizer.

Directly call an object's Finalize method is not permitted (except in sub-class called base class Finalize Finalize.), Debris collection program will automatically call Finalize.

From the syntax point of view, C # in the destructor and C + + is very similar, but in fact they are completely different. C # the destructor definition of Finalize method is a shortcut. Therefore, the following Erduan code is different:

~ MyClass ()
(
/ / Need to complete the task
)

MyClass.Finalize ()
(
/ / Need to complete the task
base.Finalize ();
)

Error 2: Finalize and Dispose to use whom?

From the above discussion, we have been very clear, explicit to call the finalizer is not allowed, it can only be called debris collection program. If you want to free up some no longer in use as soon as possible a limited number of non-managed resources (such as file handles), you should use the IDisposable interface, the interface has a Dispose method, which can help you accomplish this task. Dispose is no need to wait for Finalize to be called and be able to release the non-manageability of resources.

If you have used the Dispose method, you should stop the debris collection process and then the corresponding object method implementation of Finalize. To do this, you need to call the static method GC.SuppressFinalize, and the corresponding object pointer passed to it as a parameter, Finalize method can call the Dispose methods. Accordingly, we can get the following code:

public void Dispose ()
(
/ / Complete clean-up operation

/ / Notify the GC not to call Finalize method
GC.SuppressFinalize (this);
)

public override void Finalize ()
(
Dispose ();
base.Finalize ();
)

For some objects, may call the Close method is more suitable (for example, the document object calls Close on more appropriate than Dispose), you can create a private property of the Dispose method and the Close method of public property, and to call Dispose to realize Close call the Close method of some object.

Given the uncertainty will call Dispose, but the implementation is uncertain finalizer (we can not control when the GC will run), C # provides a Using statement to ensure the Dispose method will be called the earliest possible time. General approach is to define which objects to use, then use brackets for these objects to specify a range of activities, in the event when the innermost parentheses, Dispose method will be automatically invoked, the object for processing.

using System.Drawing;
class Tester
(
public static void Main ()
(
using (Font theFont = new Font ("Arial", 10.0f))
(
/ / Use theFont object

) / / Compiler will call Dispose object processing theFont

Font anotherFont = new Font ("Courier", 12.0f);

using (anotherFont)
(
/ / Use anotherFont object

) / / Compiler will call Dispose object processing anotherFont

)

)

In this case, the first part, Font object is created in the Using statement. When the Using statement at the end, the system will call Dispose, on the Font object for processing. In this case, the second part, Font object is created in the Using statement outside, in the decision to use it, then place it inside the Using statement, when the Using statement at the end, the system will call Dispose.

Using statement can also prevent other accidents from occurring, ensure that the system will call Dispose.

Error 3: C # in the value-type variables and reference-type variables are different

As with C + +, C # is a strongly typed programming language. C #, data types are divided into two categories: C # language itself, the inherent data types and user-defined data types, which is also similar with C + +.

In addition, C # language Hai Ba variables are divided into value types and reference types. Unless it is to be included in a reference type, value type variables retained in the stack, this point and C + +, variables are very similar. Reference type variable is a stack, its value is the address of the object heap, and C + +, the pointer is very similar. Value type variable value is directly passed to the method of reference-type variables are passed as parameters to the method, passing the index.

Classes and interfaces can create reference type variable, but need to point out that structure data type is a built-in C # data types, it is also a value-based data types.

Error 4: Note that implicit data type conversion

Boxing and unboxing enable value data type is used as the index data type using the two processes. Value-type variables can be packaged into an object, and then the return value is unpacked variables. Including built-in data types, including C #, the data of all types can be implicitly converted to an object. Packing a value type variable will generate an object instance, and then copied to the instance variable.

Boxing is implicit, if necessary where the index data type data type using a value type variable, the value of hidden variable will be transformed into the index data type of variable. Boxing will affect the performance of code execution, so should be avoided, especially when the data volume.

If you want to convert a packed object back to the original value type variable, it must be explicit to be unpacked. Unpacking need two steps: First, the object instance checks to ensure they are shaped by the values of variables are packaged into the; second step in the value of the instance to copy the value type variable. In order to ensure a successful solution package was unpacked the object must be packing a value type variable by the value of the index generated objects.

using System;
public class UnboxingTest
(
public static void Main ()
(
int i = 123;

/ / Package
object o = i;

/ / Solution Package (must be the dominant)
int j = (int) o;
Console.WriteLine ("j: (0)", j);
)
)

If the object is unpacked is not valid, or a different data type object index will result InvalidCastException different things.

Error 5: Structure and objects are different

C + + structures and classes in the almost, the only difference is that by default, the structure of access is public, its inheritance rights is public. Some C + + programmers to structure as a data object, but this is not a convention must be the case.

In C #, the structure is only a user-defined data types, and can not be substituted. Although the structure of the support properties, methods, fields and operators, but does not support inheritance and destructor.

More importantly, the class is an indexed data type, the structure is a value type data type. Therefore, the structure of the index operation in the expression of the target area without more useful. Array of operational structure more efficient, and in the operational aspects of the collection is less efficient. Set to index, structure must be packaged is suitable for use in the operation of the collection, a collection of classes in the large-scale operations more efficient.

Error 6: Virtual methods must be explicitly covered

In the C # language, the programmer of a virtual method in the coverage must be the dominant use of the override key word. Suppose a Window class is written by the A company, ListBox and RadioButton classes by B's and programmers in the company prepared to buy the A Window on the basis of class, prepared, B Company of the programmers of the Window class, including changes in the future little is known about the situation, including the design.

If the B's, a programmer to add a ListBox Sort method:

public class ListBox: Window
(
public virtual void Sort () (")
)

A company release a new version in the Window class before, this will not have any problems. A company if the Window class programmers also added a Sort method.

public class Window
(
/ / "
public virtual void Sort () (")
)

In C + +,, Windows class will be the ListBox Sort method Sort method of the class based approach, in the hope of calling Windows class Sort method, ListBox class Sort method will be invoked. In C #, virtual function is always considered to be the root of virtual dispatch. In other words, once C # finds a virtual method, you will not find in the virtual chain other virtual methods. If the ListBox is compiled again, the compiler will generate a warning message:

"Class1.cs (54,24): warning CS0114:''ListBox.Sort ()''hides
inherited member''Window.Sort ()''.

For the current members of the original method of coverage, you need to add the override key word, or add new key word.

To remove the warning message, the programmer must find out what he wants. ListBox class can be added before the Sort method new, that it should not override the virtual method in Window:

public class ListBox: Window
(
public new virtual void Sort () (")

This could clear the warning. If the programmer really want to overwrite methods in the Window, you must use the override key word to demonstrate its intentions explicit.

Error 7: class member variable initialization

C #, C + + initialization and different. Suppose there is a character with a private member variable age of the Person class, Employee class is generated by a succession of Person, and it has a private member variable nature of salaryLevel. In C + +, we can initialize the Employee's constructor initializes some salaryLevel, as shown in the following code:

Employee:: Employee (int theAge, int theSalaryLevel):
Person (theAge) / / initialize base class
salaryLevel (theSalaryLevel) / / initialize member variable
(
/ / Constructor code
)

This method in C #, is illegal. While still can initialize base class, but as the code above as initializes the member variable will cause a compiler error. In C #, we can define a member variable to initialize it when the same:

Class Employee: public Person
(
/ / Member variable definition
private salaryLevel = 3; / / initialization
)

Note: You must explicitly define each variable access.

Error 8: Boolean variables and integer variables are different from children

if (someFuncWhichReturnsAValue ())

In C #, Boolean variables and integer variables are not the same, so the following code is incorrect:

if (someFuncWhichReturnsAValue ())

if someFuncWhichReturnsAValue return to zero, said false, or that the idea is no longer true. The advantage is that the original assignment operator there will be confused with the same error will not happen again. So the following code:

if (x = 5)

At compile time error occurs because the x = 5 is the 5 assigned to the X, rather than a Boolean value.

Error 9: switch statements would be less than the implementation of some statement

In C #, if a switch statement to implement a number of operations, the program may not perform to the next statement. Thus, while the following code in C + + is legal, but in C #, not legal:

switch (i)
(
case 4:
CallFuncOne ();
case 5: / / error, will not be executed here
CallSomeFunc ();
)

To achieve the above purpose of the code needed to use a goto statement:

switch (i)
(
case 4:
CallFuncOne ();
goto case 5;
case 5:
CallSomeFunc ();
)

If the case statement does not execute any code, all the statements will be executed. Such as the following code:

switch (i)
(
case 4: / / can perform to
case 5: / / can perform to
case 6:
CallSomeFunc ();
)

Error 10: C # in the clear assignment of variables required

In C #, all the variables must be assigned before use. Therefore, you can define variables not initialize it, if it is passed to a method before, must be assigned.

If the only way through the index to pass a variable, and the variable is the method of output variables, this is it will cause problems. For example, suppose there is a method that returns the current time, hour, minute, second, if the write code like this:

int theHour;
int theMinute;
int theSecond;
timeObject.GetTime (ref theHour, ref theMinute, ref theSecond)

If you use theHour, theMinute and theSecond not before the three variables are initialized, it will generate a compiler error:

Use of unassigned local variable''theHour''
Use of unassigned local variable''theMinute''
Use of unassigned local variable''theSecond''

We can initialize these variables to 0 or other methods did not affect the value of the return value to solve this small problem the compiler:

int theHour = 0;
int theMinute = 0;
int theSecond = 0;
timeObject.GetTime (ref theHour, ref theMinute, ref theSecond)

This little too cumbersome, these variables are passed to the GetTime method, then change it. To solve this problem, C # specifically for this situation out parameter modifier provided, it can make an argument without initialization can be cited. For example, GetTime parameters in its own makes no sense, they are just to express the output of the method. Before the method returns, Out parameters must be assigned a value. Here is the revised GetTime methods:

public void GetTime (out int h, out int m, out int s)
(
h = Hour;
m = Minute;
s = Second;
)

Here is a new method called GetTime method:

timeObject.GetTime (out theHour, out theMinute, out theSecond);






Recommended links:



Youtube Video to Palm OS Live



Desktop Shop



convert .FLAC to mp3



Corporate governance reasons to cure what



News About Audio CD Burners



WorldCup VCD To DVD



Photoshop Retouching Images (8) To Adjust Brightness



Avi To 3gp Converter Free Download



Christmasgift XviD Converter



Lenogo DVD to Zune Converter four



for you Games Arcade



Ps3 video format



YUVsoft Super Resolution Demo



Swift VOB DVD VCD Cloner



Happiness DVD-Audio WMA CD To M4A Cloner



Introduction Art - Screen Savers



Mp3 to 3g2



Sunday, April 11, 2010

SuperBurner DVD to PSP


SuperBurner DVD to PSP is a professional DVD movie to PSP video converter software. SuperBurner DVD to PSP directly converts DVD movies to your PSP. All you need do is to connect PSP to your PC and start Super DVD to PSP Converter. When the conversion is completed. SuperBurner DVD to PSP is an innovative Windows application that transcodes your favorite DVD movies to SONY PSP directly. You can easily convert both PAL/NTSC DVDs for optimized video playback on PSP. Integrated world-class MPEG4 encoder make it possible to transcode whole DVD disc with the time half of playback time of DVD. You can select any audio track, subtitle, chapters of the DVD as you want.

Tuesday, March 16, 2010

SuperBurner Xbox Converter


SuperBurner Xbox Converter is a professional video converter to convert almost all popular video/movie formats to Xbox MP4 format. The output Xbox MP4 video files can be played on your Apple Xbox. All popular video/movie formats are supported, including AVI, MPEG/MPG/DAT, WMV, ASF, MP4, M4V, 3GP, 3G2, H264, MPEG4, AVC, MOV, QT, DivX, XviD, VOB, FLV, etc. The amazing output quality with super fast conversion speed is brough you by the built-in power MPEG4 encoder. All the output Xbox MP4 videos fit your Apple Xbox.

Friday, January 29, 2010

AllRipper RM to DVD


AllRipper RM to DVD is the best RealMedia converter software. easy convert Real Media files(.rm, .rmvb) to AVI, MPEG-1, MPEG-2, VCD, SVCD, DVD files. convert RM/RMVB to AVI DIVX XVID MPEG VCD SVCD DVD and burn to DVD/CD. You can change the codec/system type to PAL or NTSC, and adjust the video size of the output files . It supports to convert almost all video, such as: RM to AVI, RM to DIVX XVID, RM to MPEG-1, RM to MPEG-2, RM to WMV, RM to VCD, RM to DVD, RM to PSP Video, iPod Video, Zune Video, iPhone Video...

Support convert AVI, Divx, ASF, WMV, WMA, MPEG, MOV, QT, RM, RMVB, file to MPEG with all encode format such as VCD PAL/NTSC, SVCD PAL/NTSC, DVD PAL/NTSC, MPEG-1 standard, MPEG-2 standard etc. Support convert AVI, Divx, ASF, WMV, WMA, MPEG, MOV, QT, RM, RMVB, file to AVI with all encode format such as DIVX, XVID, Mircosoft MPEG-4 etc.

Friday, November 20, 2009

BlueBird DVD Backup


BlueBird DVD Backup is a easy-to-use and high speed All-in-One DVD Copying tools which Make high quality backup copies of your favorite DVD movies. Very easy backup your dvd movies to dvd-r dvd-rw dvd+r or dvd+rw. it will split huge movie dvd's to multiple dvd's so you get the no quality lose in your movies. It supports most DVD Writer with DVD-R / DVD-RW / DVD+R / DVD+RW formats. Download 1st DVD Backup software to backup your own DVD Movies. Stop re-purchasing DVD's that have been scratched. DVD media is most sensitive to heat and most players have a great difficulty playing disc with minor scratches or dust.

Monday, October 26, 2009

Professional VCD DAT to M4V




Professional VCD DAT to M4V is a best video and movie converter to MP4 Movie software! This product offers convert all popular formats to iPod, PSP, Zune, iPhone, MP4 video/ movie, Easy Convert DVD, VCD, SVCD, AVI, MPEG, WMV, MOV, MP4, RM, RMVB, DivX, ASF, VOB, 3GP and etc. Professional VCD DAT to M4V helps you watch your music videos and movies on your iPod, PSP, Zune, iPhone. In addition, you can also extracting audio from movie or music video and converting to iPod supported MP3 file format! Professional VCD DAT to M4V is the fastest Rip DVD movie to iPod, PSP, Zune, iPhone, MP4 video, you can convert almost all kinds of VCD DAT to M4V4 format. Its conversion speed is far faster than real-time, converting one DVD movie only takes half an hour in some high-end computers. Professional MP4 Suite supports single-step conversion of DVD video into iPhone-ready MPEG-4 format while some other soft wares need two steps which wastes unnecessary time.