MessageDigest
класс может предоставить Вам экземпляр обзора MD5.
При работе со строками и crypto классами быть уверенным всегда определяют кодирование, Вы хотите представление байта в. Если Вы просто будете использовать string.getBytes()
, то это будет использовать значение по умолчанию платформы. (Не все платформы используют те же значения по умолчанию)
import java.security.*;
..
byte[] bytesOfMessage = yourString.getBytes("UTF-8");
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] thedigest = md.digest(bytesOfMessage);
, Если у Вас есть много данных, смотрят на .update(byte[])
метод, который можно неоднократно называть. Тогда звоните .digest()
для получения получающегося хеша.
Wikipedia: "In 1999, the official GM [General MIDI] standard was updated to include more controllers, patches, RPNs and SysEx messages, in an attempt to reconcile the conflicting and proprietary Roland GS and Yamaha XG additions." This was called General MIDI 2.
I recommend looking into what Java (javax.sound.midi) has to offer (C# seems to be lacking a solid MIDI library). Read up on MetaMessage, ShortMessage, SysexMessage, and Patch. From what I understand, special system messages are sent through SysexMessage (the lighting data might be here).
If you need some sample code look at Java Sound Resources.
Other links I found:
В руководствах Yamaha к их продуктам подробно описана информация, которую вы ищете. Команды XG зависят от устройства. Некоторые команды XG предоставляют прямой доступ к памяти устройства, и мое руководство для тон-генератора MU2000 предупреждает, что «вы можете повредить устройство, отправив неверные данные»
Для связи с гитарой я использую набор инструментов codeproject midi от Лесли Сэнфорда. http://www.codeproject.com/KB/audio-video/MIDIToolkit.aspx
Все, что вам нужно знать о связи с гитарой, находится в руководстве на одной странице рядом с задней стенкой.
Вот видео редактора, который я построил - в нем есть полная связь с гитарой.
Для управляемой библиотеки .NET Midi Library поищите C# Midi Toolkit на codeproject.com.