Pytanie:
Black MIDI: dodać nutę 1/256 do pliku midi?
Page David
2016-07-22 14:12:44 UTC
view on stackexchange narkive permalink

Pracuję nad stworzeniem jakiejś czarnej muzyki MIDI. Czy jest jakiś sposób, żebym mógł dodać nutę krótszą niż nuta 1/128 w midi? Jak na przykład 1/256 lub 1/1024 (jeśli jestem szalony). Próbowałem rosegarden i musescore , ale obie odmawiają. Czy istnieje oprogramowanie, które zaakceptuje naprawdę krótkie wartości nut? Jakieś sugestie?

Interesujące pytanie. Jednym z czynników ograniczających, szczególnie w przypadku MIDI, jest szybkość wysyłania komunikatów MIDI. W zależności od tempa, próba wysłania zbyt wielu notatek w wiadomościach w krótkim czasie może osiągnąć prędkość transmisji MIDI: http://www.futureproducers.com/forums/hardware-and-software/hardware/sequencers-samplers-hardware- / ppq-difienance-between-sequencers-its-revalance-158356 /
@ToddWilcox Właśnie o tym myślałem. Szeregowe połączenie MIDI działa z prędkością 3125 bajtów / s, przy czym każda nuta ma co najmniej cztery bajty: dwa dla włączenia i dwa dla wyłączenia. Więc jeśli przekraczasz 780 nut / s, twój plik nie będzie odtwarzany przez połączenie szeregowe.
@DamianYerrick Teraz zastanawiam się nad ograniczeniami propagacji impulsu synchronizacji w oldschoolowej konfiguracji analogowego sekwencera krokowego (np. Ile urządzeń można łączyć łańcuchowo z synchronizacją analogową?) I czy można sekwencjonować więcej jednoczesnych dźwięków w domenie analogowej niż w przypadku MIDI. Właściwie wydaje mi się, że jeśli użyjesz synchronizacji MIDI do synchronizacji kilku sekwencerów MIDI, każdy z fragmentem blokującego wzoru, liczba jednoczesnych dźwięków znacznie wzrośnie. Lubi chór dzwonkowy.
Trzy odpowiedzi:
CL.
2016-07-22 14:35:18 UTC
view on stackexchange narkive permalink

Pliki MIDI (SMF) określają wartość PPQ (taktów na ćwierćnutę), która jest używana jako podstawa dla wszystkich znaczników czasu.

Wiele programów używa wartości 96 lub domyślnie 192. Specyfikacja dopuszcza znacznie większe wartości (do 32767), ale wiele programów nie zadaje sobie trudu, aby konfigurować tę konfigurację.


Innym sposobem na szybsze taktowanie byłoby użycie 1/128 nuty, podwojone tempo.

Czy jakieś oprogramowanie obsługuje węzeł powyżej 128? Myślę, że będzie to wygodniejsze niż obliczanie.
Sibelius obsługuje do 512 nut, ale nie sądzę, że jest to odpowiednia aplikacja do tego, co próbujesz zrobić. Jak sugerują inne odpowiedzi, aplikacja oparta na MIDI, a nie program oparty na notacji, wydaje się znacznie lepszym wyborem.
José David
2016-07-22 17:34:39 UTC
view on stackexchange narkive permalink

Przypuszczam, że chodzi bardziej o odstępy czasu oddzielające notatki niż o czas ich trwania. W przypadku szybkiego sekwencjonowania dźwięków o zamierzonej jednakowej długości prawdopodobnie łatwiejsze i bardziej kontrolowane jest kontrolowanie przedłużenia dźwięku używanego za pomocą kontroli obwiedni używanego instrumentu. Trudno przewidzieć, jak zabrzmi seria dziesiątek dźwięków na sekundę, a precyzyjne dostrojenie podtrzymania dźwięku poprzez eksperymenty to łatwy sposób na uzyskanie najlepszych rezultatów, bez konieczności zmiany dosłownie tysięcy długości nut.

Kolejną kwestią jest rozmieszczenie notatek w czasie. Dla siebie jedynym sposobem, w jaki znalazłem to poniżej szczegółowości określonej wartości nuty, jest edycja zdarzeń MIDI bezpośrednio w programie DAW. Mój główny DAW (Sonar) pozwala na to, ale w uciążliwy sposób, więc nie posunąłem się zbyt daleko. Spodziewam się, że ci Japończycy, którzy zajmują się czarną muzyką MIDI, mają wyspecjalizowane narzędzia, a nawet opracowali własne narzędzia do tego celu, mianowicie wykorzystując algorytmiczne podejście do kompozycji.

Maxim
2018-06-14 01:29:57 UTC
view on stackexchange narkive permalink

Jeśli jesteś zaznajomiony z programowaniem, możesz rozwiązać swoje zadanie, korzystając z jednej z bibliotek umożliwiających zarządzanie plikami MIDI. Na przykład za pomocą DryWetMIDI (biblioteka .NET) możesz napisać coś takiego:

  var midiFile = new PatternBuilder () // Wstaw 100 notatek A3 o długości 1/256 następujących po sobie. Uwaga (Octave.Get (3) .A, new MusicalTimeSpan (1, 256)) .Repeat (100) // Wstaw pauzę 1/512 .StepForward (new MusicalTimeSpan (1, 512)) // Wstaw G # 2 o długości 3/1024. Uwaga (Octave.Get (2) .GSharp, new MusicalTimeSpan (3, 1024)) // Zbuduj wzorzec i wyeksportuj go do pliku MIDI .Build () .ToFile (TempoMap .Default); // Zapisz do filemidiFile.Write ("Black song.mid");  

Lub możesz wziąć istniejący plik i zmienić go na czarny za pomocą NotesSplitter aby podzielić nuty na części o określonej długości:

  // Podziel nuty w pliku MIDI z krokiem 1 / 512midiFile.SplitNotesByStep (new MusicalTimeSpan (1, 512)); 

Przeczytaj bibliotekę Wiki, aby dowiedzieć się więcej o wzorcu i rozdzielaczach nut / akordów.



To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 3.0, w ramach której jest rozpowszechniana.
Loading...