To jest Tygodniowe Wyzwanie nr 1. Temat: Przetwarzanie audio
Twoim zadaniem jest napisanie programu, który zapisuje plik audio do płyty (w formacie do wyboru), który zawiera kod Morse'a za 2015
, tj
..--- ----- .---- .....
Możesz wybrać dowolny rodzaj dźwięku dla segmentów, np. Falę sinusoidalną o pojedynczej częstotliwości, akord, szum, jakiś instrument (np. Używając plików MIDI), o ile jest to słyszalne. Istnieją jednak pewne ograniczenia dotyczące czasu:
- Krótkie odcinki muszą mieć co najmniej 0,2 sekundy długości.
- Długie odcinki muszą być co najmniej 3 razy dłuższe niż krótkie odcinki.
- Przerwy między segmentami w obrębie cyfry powinny być tej samej długości co krótkie segmenty.
- Przerwy między cyframi powinny mieć taką samą długość jak długie segmenty.
- Każdy segment i przerwa mogą różnić się do 10% od średniej długości tego rodzaju segmentu / przerwy.
- Cały plik audio nie może być dłuższy niż 30 sekund.
Przerwy nie muszą być całkowicie ciche, ale segmenty Morse'a powinny być słyszalnie głośniejsze niż przerwy.
Należy pamiętać, że mają napisać plik audio. Nie można po prostu odtwarzać dźwięku, np. Za pomocą sygnałów systemowych. Możesz używać dowolnego rodzaju biblioteki do obsługi formatu pliku i generowania dźwięku, ale nie możesz używać wbudowanych funkcji do kodowania Morse'a.
To jest kod golfowy, więc wygrywa najkrótsza odpowiedź (w bajtach).
Proszę rozważyć połączenie z przesłaniem wynikowego pliku audio (na SoundCloud lub podobnym), aby ludzie mogli sprawdzić wynik bez konieczności uruchamiania kodu. Jeśli przesyłasz do SoundCloud, pamiętaj, aby włączyć pobieranie na karcie Uprawnienia ścieżki.
Jeśli dane wyjściowe używają raczej nietypowego formatu pliku, dodaj informacje o tym, jak je odtworzyć i / lub przekonwertować na bardziej popularny format i przesłać.
Przykładowy utwór
Jest to ręcznie wygenerowana przykładowa ścieżka, która jest zgodna ze specyfikacją i wykorzystuje szum dla segmentów Morse'a (a konkretnie szum tła mikrofonu). Oto link do SoundCloud, jeśli wbudowany odtwarzacz nie działa dla Ciebie.
Szczegóły nagrody
Przyznam nagrodę za najkrótsze zgłoszenie w języku programowania audio , tj. Języku zaprojektowanym do syntezy dźwięku. Ta lista nie jest kompletna, więc możesz użyć innego języka programowania audio, jeśli go znasz. Jeśli nie masz pewności, czy jakiś język, którego chcesz używać, klasyfikuje się jako język programowania audio, daj mi znać w komentarzach lub na czacie , a my możemy to omówić.
Pamiętaj, że Twoje zgłoszenie musi być zgodne ze wszystkimi zasadami - w szczególności musi napisać plik, co może nie być możliwe we wszystkich językach programowania audio. Na przykład, o ile wiem, gibber może odtwarzać tylko dźwięk i nie zapisywać go w pliku.