Sprawdź szczegółowe informacje wybranego zlecenia i zgłoś swoją ofertę.
Zlecę napisanie w Kotlin edit pliki audio.
Cięcie i sklejanie pliku audio w j. Kotlin na Androida (i/ lub Windows do ustalenia).
Witam.
1. Organizacyjne.
1.1. Praca zdalna. Program w języku Kotlin, ustalenie jakiego kompilatora najlepiej darmowego mogę u siebie użyć do przeglądania kodu i sprawdzenia kompilacji. Pomoc w ściągnięciu, instalacji, uruchomieniu kompilatora, ustawieniu zmiennych środowiskowych, kompilacji, programu, przeniesieniu i uruchomieniu na androida; w celu sprawdzenia poprawności działania.
Chyba najprościej będzie wykonać opis-kurs co robić krok po kroku.
1.2. Nie ustalam budżetu ani terminu bo najpierw chciałbym ustalić co da się i w jakiej cenie zrobić. Jednak myślę że termin zakończenia v1 marzec - max do końca czerwca. Ale liczę na wycenę etapów.
1.3. Program do użytku na androida i furtką na Windows. Chyba, że różnica w cenie i czasie wykonywania będzie nie wielka. To do ustalenia z powodu czasu i ceny wykonania.
1.4. Program do użytku ze źródłami i opisem w kodzie na tyle dokładnym. Żeby za przy rozbudowie funkcji było wiadomo co w którym miejscu, łącznie z opisem parametrów. W miarę możliwości wszystko z kodem.
Przekazanie praw na wyłączność itp..
1.5. Program w pierwszej wersji z założenia ma być mały. A jaki będzie to się okaże. W miarę pytań będę uzupełniać opis, bo sam nie jestem pewien co do szczegółów – ustalimy najprostsze rozwiązania.
1.6. Program będzie wyglądał sterowników do operacji na pliku audio. Więc pomoc w ściągnięciu i zainstalowaniu sterowników – najlepiej z instrukcją.
1.7. Czy coś pominąłem?
2. Funkcje programu.
Program w pierwszej wersji (mam nadzieję że nie ostatniej) ma służyć do edycji: cięcia i sklejania plików audio określonego formatu wejściowego prawdopodobnie M4A i/lub MP3. Zależy która kompresja ma mniej strat.
2.1. Funkcja pierwsza, pocięcie audio na fragmenty:
Na wejściu zostanie wskazany duży plik audio z nagraniem np. (ustalimy jeden format) w M4A np 1-60min oraz podany tekst w pliku tekstowym jako źródło poleceń.
Czyli co najmniej przyciski w pierwszej grupie:
„Wskaż plik txt z poleceniami cięcia”,
„Wskaż plik audio do cięcia”,
„Wskaż folder dla tworzonych plików”;
„Start”, „Pauza/Wznów”, „Przerwij”;
Oraz pole Memo do wyświetlenia loginów, postępów, np przy załadowaniu dużego pliku audio – informacji o nim: lokalizacja, czas trwania, format i inne parametry.
Można też informacje od kuchni.
Jak widać praca w wątku, żeby była możliwość, przerwania np w razie zawieszenia.
Będzie do każdego „Wskaż...” w polu Memo wyświetlana pełna ścieżka dostępu.
I też info o postępie Label np: Wykonane ln 10 z 50, 20%.
Na tę chwilę widzę to tak, że w pliku txt będzie tabela skopiowana z Excela z wierszami w stylu (zamiast średników i Enterów mogą być Taby i Entery jak to w Excelu) w jednym wierszu:
NewFileAudio; „NazwaPliku”; AddQuiet; 0:02:000; TakeFromFile; 0:00:000; 0:05:000; AddQuiet; 0:02:000;
Program ma przygotowany plik ciszy o długości 0:01:000 czyli jednej sekundy.
Wg polecenia „NewFileAudio” tworzy nowy plik audio z 2s ciszy, fragmentu pliku wyciętego z zadanego pliku audio, na końcu doda 2s ciszy.
Ścieżka dostępu + NazwaPliku + „.”+ rozszerzenie.
Trzeba wyjąć pod uwagę że cisza może trwać 0:00:500 lub 0:02:500 czyli 0,5s i 2,5s. Tak samo zakres wycinanego fragmentu może mieć ułamkowe sekundy.
Na wszelki wypadek czas niech ma też alternatywnie godziny albo odczytuje czas w stylu 115:05:500.
Po wskazaniu pliku audio sprawdzenie parametrów i błędów.
Po wskazaniu pliku txt sprawdzenie czy nie ma błędów, np zły zakres czasowy w którejś lini, zdublowana nazwa pliku.
To mamy plik pocięty na fragmenty we wskazanym folderze.
Jestem otwarty na sugestie i uwagi.
2.2. Funkcja druga, ze wskazanych pociętych audio tworzymy jeden plik wg przepisu.
Czyli co najmniej przyciski w pierwszej grupie:
„Wskaż plik txt z poleceniami scalenia”,
„Wskaż folder główny z plikami audio”,
„Wskaż folder dla tworzonego pliku”;
„Start”, „Pauza/Wznów”, „Przerwij”;
Oraz pole Memo do wyświetlenia loginów, postępów, np przy załadowaniu dużego pliku audio – informacji o nim: lokalizacja, czas trwania, format i inne parametry.
Można też informacje od kuchni.
Jak widać praca w wątku, żeby była możliwość, przerwania np w razie zawieszenia.
Będzie do każdego „Wskaż...” w polu Memo wyświetlana pełna ścieżka dostępu.
I jak poprzednio
też info o postępie Label np: Wykonane ln 10 z 50 linii, 20%.
Na tę chwilę widzę to tak, że w pliku txt będzie tabela skopiowana z Excela z wierszami w stylu (zamiast średników i Enterów mogą być Taby i Entery jak to w Excelu) w jednym wierszu:
CreateFileAudio; „NazwaPliku”;
AddFileAudio; AddQuiet; 0:02:500; „NazwaPliku”; 0:00:000; 0:05:000; AddQuiet; 0:02:500;
Program ma przygotowany plik ciszy o długości 0:01:000 czyli jednej sekundy.
Wg polecenia „CreateFileAudio” tworzy nowy plik audio ze składowych podanych w kolejnych liniach.
Ścieżka dostępu + NazwaPliku + „.”+ rozszerzenie.
Trzeba wyjąć pod uwagę jak wcześniej że cisza może trwać 0:00:500 lub 0:02:500 czyli 0,5s i 2,5s. Tak samo zakres wycinanego fragmentu może mieć ułamkowe sekundy.
Na wszelki wypadek czas niech ma też alternatywnie godziny albo odczytuje czas w stylu 115:05:500.
Bo składowym plikiem może być też przygotowany wcześniej godzinny plik.
Po wskazaniu pliku audio sprawdzenie parametrów i błędów.
Po wskazaniu pliku txt sprawdzenie czy nie ma błędów, np zły zakres czasowy w którejś lini, zdublowana nazwa pliku.
To mamy plik duży plik zrobiony z fragmentów we wskazanym folderze.
NIE MAM pomysłu jak:
a) Jak rozwiązać sprawę z plikami składowymi pobieranymi do tworzenia dużego pliku. Bo mogą być w różnych folderach. Dlatego dałem przycisk
„Wskaż folder główny z plikami audio”
A program musi chyba sam przeszukać podfoldery. Będę się starał aby każdy pliczek miał inną nazwę ale w razie zdublowania trzeba zarezerwować.
b) Nie wiem jak rozwiązać problem długości pobieranego małego pliku. Bo plik może mieć 5s i fakt ja mogę potrzebować od 00:01:500 do 00:04:500 z tego pliku.
Ale w większości przypadków będzie potrzeba od 00:00:000 do końca.
Chyba że jako czas końcowy „Full”.
Jestem otwarty na sugestie.
Będą jeszcze dwie funkcje ale to zależy od wyceny.