API C++ Saor in Aisce do Sionnaíocht Fhuaime & Próiseáil Comharthaí Digiteacha
Leabharlann C++ Foinse Oscailte Ceannródaí STK(Synthesis ToolKit), a chuireann ar Developers Bogearraí cumas Sionnaíocht Fhuaime agus Próiseáil Comharthaí Digiteacha. Déan iniúchadh ar a gnéithe príomhúla, Cumais Fhuaime i bhFíor-Am, agus Samplaí Cód Práctacha do Developers.
Cad é STK (Synthesis ToolKit)?
Is leabharlann oscailte-foinse uasal é Synthesis ToolKit i C++ (STK) a dheartha le haghaidh próiseáil comharthaí fuaime agus síntiús ceoil algartamach. Forbrófar é ag CCRMA, Ollscoil Stanford, agus soláthraíonn sé do fhorbróirí tacar láidir de ranganna C++ a shimpliúint cruthú bogearraí fuaime casta. Níos mó ná feidhmchláir mónaic, is bailiúchán de ghineadóirí aonad—blocanna tógála modúlacha—a ligeann forbairt tapa síntheasóirí, próiseálaithe éifeachtaí, agus uirlisí ceoil. Tá leabharlann STK luachmhar do fhorbróirí a oibríonn le huirlisí ceoil digiteacha, bogearraí éifeachtaí fuaime, innill fuaime cluiche, taighde síntiús fuaime, tionscnaimh DSP oideachais agus mar sin de.
Is leabharlann oscailte-foinse C++ é Synthesis ToolKit i C++ (STK) a sholáthraíonn ranganna athúsáidte le haghaidh próiseáil comharthaí fuaime, síntiús digiteach, agus samhaltú uirlisí ceoil. Tá sé thar a bheith úsáideach de bharr a dhíriú ar iniompar agus ar éascaíocht úsáide. Cosnaíonn sé fhorbróirí ó na castachtaí íseal-leibhéil de thiománaithe fuaime tras-ardáin agus láimhseáil MIDI, rud a ligeann dóibh díriú ar na gnéithe cruthaitheacha de dhearadh fuaime. Cibé an bhfuil tú ag tógáil breiseán gairmiúil nó uirlis oideachais, cuireann STK an cobhsaíocht agus an solúbthacht a theastaíonn le haghaidh fuaim fíor-ama ard-fheidhmíocht ar fáil. Níos mó ná creatlaí fuaime móra, coimeádann STK an ailtireacht simplí agus trédhearcach. Is féidir le forbraitheoirí anailís a dhéanamh go héasca ar conas a oibríonn algartaim fuaime agus iad a mhodhnú le haghaidh a dtaighde féin. Soláthraíonn sé freisin samhlacha uirlisí réamhúsáidte mar fhliúit, clárán, agus insamhlacha sreanganna plucked, rud a fhágann go bhfuil sé ina phointe tosaigh iontach le haghaidh tógáil síntheasóirí bogearraí.
Ag Tosú le STK
Le do thoil, bain úsáid as an t-ordú seo a leanas le haghaidh suiteáil iomlán.
Suiteáil STK ó GitHub
git clone https://github.com/thestk/stk.gitSiontú Fuaime Fíor-ama
Ceann de na cumais is cumhachtaí de STK ná a thacaíocht do ghiniúint fuaime i bhfíor-am. Is féidir le forbróirí comharthaí fuaime a ghiniúint go dinimiciúil le linn feidhmiú an chláir seachas brath ar shamplaí roimh ré. Tá sé seo riachtanach do fheidhmchláir cosúil le síntéiseoirí digiteacha, uirlisí táirgthe ceoil, agus bogearraí feidhmíochta fuaime beo. Soláthraíonn STK feidhmeanna próiseála éifeachtacha a ghiniúint frámaí fuaime go leanúnach agus lagú íseal a chothabháil. Mar gheall ar an gcumas seo, úsáidtear STK go minic i dtimpeallachtaí taighde agus teicneolaíochta ceoil áit a theastaíonn síntéisiú fuaime freagrach. Seo sampla simplí a thaispeánann conas is féidir le STK fuaim a ghiniúint go clárúcháin.
Conas Fuaim a Ghiniúint go Clárúcháin trí Leabharlann C++?
#include "SineWave.h"
#include "RtAudio.h"
int main() { stk::SineWave oscillator; oscillator.setFrequency(440.0); // nóta A4
for (int i = 0; i < 100; i++) { double sample = oscillator.tick(); std::cout << sample << std::endl; }
return 0; } Uirlisí Samhailíochta Fhísiúla
Cuimsíonn leabharlann oscailte STK ranganna tógtha isteach a insamhlóidh ionstraimí ceoil fíorúla ag baint úsáide as algartaim mhúnlaíochta fisiceacha. Déanann na samhlacha seo athdhéanamh ar an gcaoi a n-iompraíonn ionstraimí sa domhan fisiceach. Mar shampla, píob, clárán, mandailín agus ionstraimí teidte. Tá múnlaíocht fhisiceach úsáideach toisc go ligeann sé do fhorbróirí paraiméadair léiritheacha a rialú, mar shampla brú an anála, fórsa an bhúir, nó crith na sreang.
Conas Uirlisí Digiteacha Réadúla a Chruthú trí Leabharlann STK?
#include "Clarinet.h"
int main() { stk::Clarinet clarinet;
clarinet.noteOn(440.0, 0.8);
for(int i = 0; i < 200; i++) { double sound = clarinet.tick(); std::cout << sound << std::endl; }
clarinet.noteOff(0.5);
return 0; } Tacaíocht Fuaime agus MIDI Ionsuite
Cuimsíonn leabharlann STK tacaíocht freisin le haghaidh ionchur/aschur fuaime agus MIDI i bhfíor-am. Cuireann sé seo ar chumas feidhmchlár idirghníomhú le gléasanna seachtracha mar mhéarchláir MIDI agus comhéadan fuaime. Le hionchorprú MIDI, is féidir le forbróirí paraiméadair síntéise i bhfíor-am a rialú, rud a fhágann go bhfuil sé indéanta síntéiseoirí bogearraí, feidhmchláir ceoil idirghníomhacha, uirlisí feidhmíochta beo, srl. Taispeánann an sampla thíos clár a éistíonn le teachtaireachtaí MIDI atá ag teacht isteach.
Conas Éisteacht agus Teachtaireachtaí MIDI a Stóráil laistigh de Aipeanna C++?
#include "RtMidi.h"
int main() { RtMidiIn midi;
if (midi.getPortCount() == 0) { std::cout << "Níl aon phort MIDI ar fáil!" << std::endl; return 0; }
midi.openPort(0);
std::cout << "Ag éisteacht le hionchur MIDI..." << std::endl;
while (true) { std::vector message; midi.getMessage(&message);
if (!message.empty()) { std::cout << "Teachtaireacht MIDI faighte!" << std::endl; } }
return 0; }
Gineadóirí Aonaid Mhodúlacha trí C++
Leanann leabharlann STK ar fhealsúnacht dearaidh mhodúlach, ag tairgiú raon fairsing de \"gineadóirí aonad\" (UGens). Áirítear ar na hoscailtóirí, scagairí, clúdach, agus éifeachtaí moille a d'fhéadfaí a phaisteáil le chéile mar synthéiseoir mhodúlach fíorúil. Tugann an granúlacht seo smacht iomlán ar an slabhra comhartha do fhorbróirí. Toisc go bhfuil gach rang deartha chun frámaí fuaime a láimhseáil go héifeachtach, is féidir leat gach rud a thógáil ó ghineadóirí tonn sinus simplí go innill synthéise granúla ilchéime casta ach trína nascadh le réada STK éagsúla.