commit
64bf51fc6b
@ -0,0 +1,2 @@
|
||||
*/target/
|
||||
*/__pycache__/
|
@ -0,0 +1,67 @@
|
||||
import os
|
||||
import subprocess
|
||||
|
||||
SPEED_FACTOR=1
|
||||
LOW_BASE_FREQ=1000
|
||||
HIGH_BASE_FREQ=1050
|
||||
SECTION_DIFF=-200
|
||||
|
||||
## ADVANCED CONFIG
|
||||
SAMPLE_RATE=10000
|
||||
## END OF CONFIG
|
||||
|
||||
example_new="1 0@1.33 1@3.3 0@3.5 1@3.6 0@3.8"
|
||||
|
||||
def get_args(args):
|
||||
a = args.split("@")
|
||||
return (a[0], float(a[1]))
|
||||
|
||||
def convert(syn):
|
||||
first_state = syn[0]
|
||||
slist = syn.split(" ")[1:]
|
||||
tarr = list()
|
||||
tarr.append((first_state,))
|
||||
time_offset = 0
|
||||
for ti in range(len(slist)):
|
||||
state, time = get_args(slist[ti])
|
||||
tarr[ti] = (tarr[ti][0], time-time_offset)
|
||||
time_offset = time
|
||||
tarr.append((state,))
|
||||
tarr[len(tarr)-1] = (tarr[len(tarr)-1][0], 100)
|
||||
return tarr
|
||||
|
||||
def create_commands(example):
|
||||
return [f"sox -r 10000 -n _tmp_exmp.wav synth {example[i][1]} sine {1000 + (i*50)}" for i in range(len(example))]
|
||||
|
||||
print(create_commands(convert(example_new)))
|
||||
exit(1)
|
||||
|
||||
LBF=str(LOW_BASE_FREQ)
|
||||
HBF=str(HIGH_BASE_FREQ)
|
||||
|
||||
METRONOME_CLOCK=MC=f"sox -r {str(SAMPLE_RATE)} -n metronome.wav synth .005 sine 4000".split(" ")
|
||||
|
||||
SPEED_FACTOR=SF=SPEED_FACTOR**-1
|
||||
|
||||
SINE_LINE = ((f"{LBF} {SF} {HBF} {SF} ") * 10).strip(" ")
|
||||
|
||||
def add_metronome(file_name):
|
||||
if not os.path.exists("metronome.wav"):
|
||||
subprocess.call(MC)
|
||||
subprocess.run(["sox", "--combine", "merge", f"{file_name}", "metronome.wav", f"{file_name}_met.wav"])
|
||||
subprocess.run(["mv", f"{file_name}_met.wav", f"{file_name}"])
|
||||
|
||||
def create_tones(tone_list, final_name):
|
||||
split_line = SINE_LINE.split(" ")
|
||||
idex = range(0, len(split_line), 2)
|
||||
|
||||
for i in idex:
|
||||
print(f"sox -r 10000 -n _tmp_output_{str(i)}.wav synth {split_line[i+1]} sine {split_line[i]}")
|
||||
subprocess.run(["sox", "-r", "10000", "-n", f"_tmp_output_{str(i)}.wav", "synth", split_line[i+1], "sine", split_line[i]])
|
||||
add_metronome(f"_tmp_output_{str(i)}.wav")
|
||||
|
||||
files = [f"_tmp_output_{str(i)}_met.wav" for i in idex]
|
||||
subprocess.call(["sox", *files, f"{final_name}.wav"])
|
||||
#subprocess.call(["rm", "_tmp_output_*"])
|
||||
|
||||
create_tones(SINE_LINE, "final")
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1 @@
|
||||
|
Binary file not shown.
Binary file not shown.
Loading…
Reference in new issue