Giter Site home page Giter Site logo

audiobookcutter's Introduction

Mi is az AudioBookCutter?

Röviden egy olyan program, amely képes hangoskönyveket (igazából minden mp3 fájformátumú) fájlt elvágni a felhasználó által megjelölt helyen. Jelöléseket tehetünk a megnyitott audiofájl kívánt pontjaiba, majd a program ezen markereken elvágja azt.

Egy C#-ban írott, és Windows Forms-al implementált szoftver, amely az ffmpeg könyvtár segítségével végzi el a vágásokat.

Több infó a dokumentumokban.

Használata

0. FFmpeg

  • Győződjünk meg róla, hogy az FFmpeg.exe egy mappában van az AudioBookCutter.exe-vel
  • Ha nincs, akkor töltsük le, csomagoljuk ki, majd az FFmpeg bin mappájából másoljuk ki az FFmpeg.exe-t az AudioBookCutter mappájába

1. Hanganyag megnyitása

  • Fájl > "Hanganyagok megnyitása...", vagy CTRL + O billentyűkombináció
  • Több fájl megnyitása esetén a fájlokat sorrendben kell kiválasztani!
  • Tipp, ha a fájlok névszerinti sorrendben vannak: egyszer kattintsünk rá az első fájlra (hogy ki legyen jelölve), majd keressük meg az utolsót, majd arra SHIFT billentyűvel együtt kattintsunk. Az összes fájl sorrendben lesz kijelölve és beimportálva.

1a. Hang lejátszása

  • Az audio lejátszás elindíthatjuk a Play gombbal, vagy a SPACE billenytűvel.
  • A lejátszást megállíthatjuk az adott helyzetben a Pause gombbal, vagy szintén a SPACE billentyűvel.
  • A lejátszást teljesen megállíthatjuk a Stop gombbal, vagy az S billentyűvel.
  • Ha már helyeztünk fel markereket, akkor azok szerint előre ugorhatunk a lejátszásban az "Ugrás a következő markerhez" gombbal, vagy a K billentyűvel.

2. Markerek hozzáadása

  • Markert hozzáadhatunk a seeker aktuális pozíciójához a "Marker a jelenlegi pozícióba" gombbal, vagy CTRL + N billentyűkombinációval
  • Manuálisan is elhelyezhetünk markert, ha a "Marker ehhez az időhoz" gomb alá beírjuk a kívánt értéket. Az érték órájára fókuszálhatunk a H billentyűvel, onnantól pedig a percre, másodperce, milliszekundumra a TAB billentyűvel tudunk továbblépni. (Sorban) Az értékek beírása után a "Marker ehhez az időhoz" gombbal, vagy M billentyűvel helyezhetjük le a markert.
  • Alapértelmezetten, ha több hanganyagot nyitunk meg, a program mergeli, és abban helyezhetünk el markert. Ám a fájlok listájában, melyre az F billenytűvel fókuszálhatunk, kiválaszhatjuk melyik fájlban szeretnénk markert elhelyezni. A listában a fel és le gombokkal navigálhatunk.
  • Ez által relatívan is tudunk markert elhelyezni, pl: 1.mp3, 2.mp3, 3.mp3 fájl mergelve: kiválasztjuk a 2.mp3-at, majd abban elhelyezünk egy markert 10 másodperchez. A marker a mergel fájlban relatívan fog megjelenni, és úgy elmentődni.

2a. Markerek szerkesztése

  • A kiválasztott markert törölhetjük a "Marker törlése" gombbal, vagy a DELETE billentyűkombinációval.

2b. Markerek kezelése

  • A felhelyezett markereket elmenthetjük a Fájl > Marker mentése menüpont kiválasztásával. Itt kétféle opciónk van: ms-ben elmenteni, ami a preferált opció, és ehhez tartozik a CTRL + S billentyűkombináció.
  • Az elmentett markereket beimportálhatjuk a Fájl > Markerek megnyitása opcióval.

3. Vágás

  • Ha felhelyeztünk minden markert amit szerettünk volna, akkor a "Vágás" gombbal, vagy a CTRL + C billentyűkombinációval indíthatjuk el a vágást a megnyitott hanganyagon.
  • Egy felugró ablakban kiválaszhatjuk a menteni kivánt fájlok helyét és összegző nevét.

What is AudioBookCutter?

It can be used to cut any audiobooks (any mp3 format file, for that matter) at one, or at multiple user-placed timestamps. We can place markers at any given point in the opened audio file, and it will be cut there.

It's written in C# using Windows Forms, while for cutting it is using the ffmpeg library.

CREDITS

FFmpeg - https://ffmpeg.org/ - for merging and cutting audio

NAudio - https://github.com/naudio/NAudio - for audio playback and audio wave rendering

Serilog - https://serilog.net/ - for logging

audiobookcutter's People

Contributors

kotn3l avatar

Watchers

 avatar  avatar

audiobookcutter's Issues

Update documents

New features were implemented which are not mentioned in the documents, some were discarded.

Dokumentációk

Eltervezett dokumentumok készítése (lehet változik)

  • Funkcionális specifikáció

  • Rendszerterv

  • Forrógombok

  • Teszt

Improve saving/loading markers

Currently when saving markers milliseconds are converted to frames. This was implemented because .cue files are using frames. (1 second = 75 frames) However converting milliseconds (1 second = 1000 milliseconds) to frames some markers WILL loose their original value due to converting back when opening them.

There should be an option to save (and open) markers as they are, without conversion.

Putting markers down in merged files by file

When a file is merged, it is treated as one file. The goal is to treat it as multiple files put together:

  1. we should be able to choose in which section we want the marker to be placed
  2. the sections are relative to each other (the marker placement should be entered relative to the file (section) itself)
  3. when a marker is placed it is automatically calculated where it belongs in the merged file even though it was entered in a section (placing a marker in the merged file will also remain an option)

Wave renders once again if window is moved

I thought this was fixed, but nope. If the wave renders once and you move the window (not even resize) it will re-render. This only occurs once, after that it works as it should.

FFmpeg not cutting accurately

This is a minor issue, and happens because the codec is just copied. It could be fixed by reencoding the cut files, but that adds a lot of time. Might not worth replacing codec copy with reencoding.

Solution is to further optimise cutting points: not to cut by directly at the end of chapters, but rather 1-2 seconds after.

Reencoding could be easily implemented, but from what I've gathered, it doesn't really fix the issue.

Readme.md

Uploading Readme.md for easier understanding of this project. This file can (and probably will) be modified throughout the development of this software.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.