ASIO-Signal Generator som ett musikinstrument…

Link: http://www.tropicalcoder.com/Music.htm

staff

När jag höll på att utveckla ASIO-Test Signal Generator, eftersom det var en så enkel ansökan, jag blev besatt av en önskan att göra det de mest noggranna tone generator som någonsin skapats i program för att kompensera för det är total avsaknad av funktioner. Varje ton som produceras är en perfekt sinusvåg beräknas till 80 bitar av flyttal noggrannhet. Varje signal som genereras börjar och slutar på en nolla punkt – det vill säga, består av ett antal hela sinusvågor. Dessutom, dessa signaler börjar och slutar med en linjär kona lika i varaktighet till en multipel av den period av signalen. De signaler som produceras med ingen DC-komponenten. Här är den fullständiga specifikationen.

När jag var klar med tongeneratorn, jag märkte att korta musikaliska toner som spelas med det lät annorlunda än din vanliga test toner. Jag antar att den linjära kona i början och slutet gav dem någon form av våg forma, och det faktum att de var klara av hela våg former läggas till den musikaliska effekt. Jag kan tänka mig en flöjt skulle ge en sådan vågform, om det inte vore för den “breathiness” och resonanser, så kanske jag skapade den perfekta flöjt i Platonisk bemärkelse. Jag började undra vad musiken skulle låta som spelas på ett sådant instrument.

Månader gått sedan jag först skapade den signal generator, och slutligen en helg bestämde jag mig för att jag skulle skapa ett gränssnitt för att den signal generator så att jag kan programmera den för att spela musik. (Om jag bara hade gjort detta för 40 år sedan, att jag skulle vara har hyllats som en pionjär inom elektronisk musik. Ack, jag är bara några år efter sin tid.)

jag har hämtat betyg för ett par väl vet stycken, en av Beethoven och Bach, och gått en hel helg tediously programmering i toner en och en. Resultatet överträffade mina vildaste drömmar när den spelas på min vanliga dator-högtalare. Men när de spelas upp på en uppsättning av hög kvalitet hörlurar, det lät ganska platt och tråkigt. Självklart, mina högtalare lagt till precis rätt färger, och subwoofern pumpas upp basen.

Bachs verk är hans “Uppfinningar i F”, och är ett naturligt val för ett sådant experiment eftersom det var bland de första stycken som släpptes avRobert A. Moog, uppfinnare av Moog Synthesizer. “Switched-on Bach släpptes i slutet av 1968 och blev en omedelbar succé. Det var hyllad som verklig musik genom att musiker och lyssnande publik. Som ett resultat, Moog Synthesizer var plötsligt inte emot med öppna armar av musik näringslivet. Vi fick bevittna födelsen av en ny genre av musik–klassisk musik, insåg med oklanderlig musicerande på synthesizer och bandspelare.” (citerat från www.wendycarlos.com/+sob.html).

Den andra är den romantiska “Päls Elisa” av Beethoven, och detta även lyckats förmedla en känsla när den spelas på min signal generator-motor. Jag gav det ett dynamiskt utbud av 20 dBs för att ge det några känslor, medan Bach spelas på en jämn nivå 6 dBs ner. Den poäng jag hämtade var för piano, och spelas med bara “två fingrar”, en i vänstra handen och den andra den högra sidan.

Om du inte kan använda den programvara versioner, jag har mp3-versioner som du kan ladda ner, Bach.mp3 – (770K) och Beethoven.mp3 – (876 K –*Obs: se nästa punkt). De är bara vanliga 44.1 K, 16-bit, stereo filer, men kommer du att höra de låtar som minst. Mp3-komprimering hanterar även att bevara många av de egenskaper som är speciellt utformad kommentarer, men inte alla – till exempel amplituder kom inte riktigt samma sak, men de verkar för att leverera 0 DC som originalen.

*UPPDATERING 26/DEC/2006

jag har känt ett tag nu att det finns en viss snedvridning i mp3-version av Beethoven, men bara inte att komma runt att ta itu med det förrän nu. Det är en artefakt som infördes genom codec och det verkar inte vara något jag kan göra åt det, förutom för att göra detta stycke finns i andra format. Du kan prova BeethovenIMA.wav (2.33 mb) (IMA-ADPCM är en standard för Fönstret är codec), eller ens ladda ner den fullständiga PCM waveformat filen Beethoven.wav (9.3 mb). Det är intressant att titta på i ett sound editor, där du kan se hur noterna har skapats.

Du kan ladda ner den programvara som spelar dessa låtar här . Du måste ha ett ljudkort med en ASIO drivrutinen för att köra programmet. De flesta professionella ljudkort till exempel M-Audio Delta har en sådan drivrutin. Även Sound Blaster Audigy kommer med en ASIO driver, men även med stöd av min programvara, Audigy körs vid 48 KHz och har bara ett 16 bitars buffert, så att du inte kommer att få all den precision som finns att få. (Audigy har också en 24-bit, 96 KHz-läge, men mina program inte har stöd för upp till 24 bitar ännu.) Du kan faktiskt spela dessa låtar på konsumenternas grad ljudkort om du laddar ner och installera ASIO4All emulator. Ställ in det för en buffert storlek 1024 eller 2048 prover om en inställning av 512 prover låter crackly. Prova denna musik på din 32-bitars ljudkort med en samplingsfrekvens på 96 KHz för bästa möjliga ljud. Även toner av skalorna är beräknat med 12 decimaler av precision, så att du kan använda musik som en frekvens som standard. Du kan testa dina högtalare med det. Om du har mycket exakt högtalare, musik kan låta platt och tråkigt. Dock, om dina högtalare har “karaktär” som min, musiken låter ganska söt.

Windows Zip-filen innehåller två körbara DOS-filer och DLL med en version av motorn från ASIO signal generator. Bara packa upp filerna i en mapp och dubbelklicka på det körbara filer för att spela. Var och en ger lite debug-fil där du hittar information om ditt ljudkort och drivrutiner(s). Om du har problem med att fylla i rätt drivrutin, skapa en liten textfil som kallas “ASIOConfig.txt” med numret på önskad ASIO-drivrutin som första tecken i det, och stick filen till mappen med tillämpningar. Att veta vad numret på den drivrutin som krävs är att undersöka bara debug-fil som skapats av en av de körbara filer. I det du kommer att hitta en numrerad lista för varje ASIO-drivrutin som finns på din dator.

Nu på slutet för att skriva upp denna beskrivning, jag undrar varför i hela världen jag gick till så mycket besvär! För mycket fri tid på mina händer? …snarare, ibland har jag ryckas med min passion för programmering. Men ingenting är ett avfall. Delar av den kod som utvecklats för detta kommer så småningom hitta sin väg till andra program, och även i en kommersiell programvara som jag utvecklar. Känn dig fri att släpp mig en rad om du har hittat denna intressanta.

Leave a Reply

Your email address will not be published. Required fields are marked *