
Le BeepMaster
Comme son nom subliminal sous entend, ce dernier est passé maître dans l'art des Beep, moyennant que vous lui fournissiez ce qu'il faut pour beeper convenablement. À la base il devait simplement servir à commader un PIC de façon sérielle, afin d'explorer les divers sons possibles en temps réel, mais comme toujours le projet à dériver et voici: BeepMaster dispose d'un interface semblable à un clavier de piano, où les touches sont activés par des clic de souris. Les clics peuvent émettre des sons, de 3 manières possibles: midi, envois de commande destiné à un PIC par port série, ou le PC speaker(que sous Win7). Chaque clic peut être enregistrer dans une liste, qui deviendra alors une composition si on y ajoute un paquet de notes. On peut évidement modifier cette liste avec quelques options normales. Pour que le Pic puisse comprendre les codes envoyés par port série, les simples lignes de code suivantes sont nécessaires:
Pour ma part, un petit 12F683 avec un crystal a 20Mhz fait le boulot. Et pour les branchements, référrez vous au manuel de PicBasic Pro, se rapportant a la commande Sound. Une composition peut être jouée, et aussi encodée pour un usage direct dans du code PicBasic. Il est à remarquer que malgré un large éventail de notes disponibles, le PIC et la commande Sound de PicBasic n'offre qu'une partie limitée de la gamme. Pour mieu comprendre le phénomène, voici comment à été dévelloppé le logiciel. Le logiciel ici présent aura la gentilesse de vous montrer les notes disponibles du PIC, par défaut, et vous pourrez aussi décaller vos compositions en utilisant les offsets, si votre chanson tombe dans le néant d'une note muette. La lecture directe par un PIC peut être légèrement différente en terme de synchro, comparé a ce qui sort en jouant de l'ordinateur.. Une autre déraille est apparue lors de l'ajout du mode de lecture MIDI, ce format redoutable dont la puissance inspirait à une grande chose...l'importation de fichiers musicaux pour conversion directe au format "PIC", ces fichiers contenant les pistes instrumentales de milliers de chansons de partout dans le monde! Cela aurait l'avantage de permettre une composition plus aisée, soit directement sur clavier MIDI ou un logiciel dédié. uhm. Il fallut investiguer le format d'abord, chose un peu nébuleuse, puis trouver des outils permettant de décrypter la bête. Les ressources furent très limitées pour l'environnement dans lequel je programme, et les exemples les plus récents dataient de l'an 2002...un temps où il n'y avait plein d'imbéciles utilisants des cellulaires, pour vous dire! Mais avec un peu d'acharnement(et de chance), un de ces vieux comme la terre programme a fini par fonctionner et me donner un certain accès aux données dont j'avais tant besoin. Il était énormément instable durant mes premiers tests, mais après quelques recodification tout est revenu dans l'ordre par miracle. Ce fût bien au delà de mes espérances de le voir lire un fichier sans planter.. Voici donc ce dinosaure, connu sous le code Project_midiGrabber Et maintenant, utiliser cette bête avec record track:
Une autre méthode consiste a lire directement l'information dans le fichier midi, après avoir sélectionner la piste voulue. Choisir Import notes, et le traitement sera fait très rapidement. Si un tag jaune "Overlapp" apparaît, c'est qu'il y a des notes superposées dans la piste. Le logiciel peut règler les cas simples si vous cochez l'option Zero overlapp et refaite le traitement, mais si les problèmes sont majeures vous devrez corriger le problème autrement. Parmis les logiciels d'édition Midi connus, il y a le classique des classiques CakeWalk, et aussi Samplitude, qui sont deux outils très puissants dans cette branche musicale.
Suite importation MIdi, sous BeepMaster. Vous avez réussit à créer une piste, elle peut maintenant joindre la confrèrie des Beeps.
Testé sous Windows XP. 64bit, Win 7 x64 |
Telecharger BeepMaster (~2 meg), BeepMaster_midi.exe
WinRar, c'est comme Winzip...sauf que c'est mieu 8)
|
Has the name suggest, this fellow has become the masterizer of beeps, shall you give him the opportunity to do so. It was intented to be a simple sound explorer interface, driving a PIC thru serial port and getting realtime feedback of the Sounds emitted, but the project went on fire! BeepMaster main interface is a piano keyboard, which create sounds as you click notes, and send them to specified devices: midi output, serial data aimed to be received by a PIC, and PC speaker Beep(win7). Each clic can be recorded in a list, which can in turn be modified afterward to produce some kind of musical listing. PIC playback done thru serial port is expected to have the PIC programmed in receiving mode, using the code posted at the top of this page. This code is for PIC basic Pro programming software only. Refer to the Manual of Pic Basic and the Sound command, to get information about hooking up the audio hardware. Mine is running fine with a 12F683 @ 20Mhz, and 38400baud transfer rate. The software can generate code from the note list you create, so you can import that into your microprocessor and have it running standalone, singing. It can also manage to import Midi Data, after some processing using another software that I will have to describe later here. See Project_midiGrabber, if you feel like hacking around with it. Most regular midi tracks I've tried loaded fine, but if something weird happen, try resaving your file with a recent midi editor(cakewalk, samplitude). Here is some basic info for midi convertion: Using the utility converter(Project_midiGrabber.exe) try loading your
file and hit play. Next, a couple things that are needed to process midi track data:
Other and older method is to import while the file is playing in real time, and that is done by selecting the track number in the upper right side of the interface. Set the track number, check the "Logger On" option and when you hit play, data will fill the table in realtime. You dont have to wait till the song finishes, just grab what you want/need. This method can be less precise in timmings than the first one explained. When you are done, right click in the data table(right) and hit "Save grid". This data is formatted to be read by my main software as midi track data. So next, move in BeepMaster_midi.exe software and import that track.
Tested under Windows XP. 64bit, Win7 x64 GetBeepMaster (~2 meg), BeepMaster_midi.exe note about file size of exe: Anyone may wonder why the uncompressed size of those exe are so big, for little functionnality they provide. Well, I don't know all about what increase file size, but I do know that libraries have been made bulkier recently to provide support for Touch features in OS like Win7, and also they opened the code to talk with other softwares...so basically there are reasons, but I can't do much about it. The software works, that's all I need :) |
Utilitaire gratuit beepmaster midi to pic convertion conversion transfert musique digitale interface seriel sound