C5W3A2 Triggerword detection Error in create_training_example_test

When I Test my code for the graded function UNQ_C4 create_training_example I get an Error at step 3:

AttributeError Traceback (most recent call last)
in
17 print(“\033[92m All tests passed!”)
18
—> 19 create_training_example_test(create_training_example)

in create_training_example_test(target)
2 def create_training_example_test(target):
3 np.random.seed(18)
----> 4 x, y = target(backgrounds[0], activates, negatives, 1375)
5
6 assert type(x) == np.ndarray, “Wrong type for x”

in create_training_example(background, activates, negatives, Ty)
37 for random_activate in random_activates: # @KEEP
38 # Insert the audio clip on the background
—> 39 background, segment_time = insert_audio_clip(background, random_activates, previous_segments)
40 # Retrieve segment_start and segment_end from segment_time
41 segment_start, segment_end = segment_time

in insert_audio_clip(background, audio_clip, previous_segments)
40 ### END CODE HERE ###
41 # Step 4: Superpose audio segment and background
—> 42 new_background = background.overlay(audio_clip, position = segment_time[0])
43 else:
44 #print(“Timeouted”)

/opt/conda/lib/python3.7/site-packages/pydub/audio_segment.py in overlay(self, seg, position, loop, times, gain_during_overlay)
1151 output = StringIO()
1152
→ 1153 seg1, seg2 = AudioSegment._sync(self, seg)
1154 sample_width = seg1.sample_width
1155 spawn = seg1._spawn

/opt/conda/lib/python3.7/site-packages/pydub/audio_segment.py in _sync(cls, segs)
434 @classmethod
435 def _sync(cls, *segs):
→ 436 channels = max(seg.channels for seg in segs)
437 frame_rate = max(seg.frame_rate for seg in segs)
438 sample_width = max(seg.sample_width for seg in segs)

/opt/conda/lib/python3.7/site-packages/pydub/audio_segment.py in (.0)
434 @classmethod
435 def _sync(cls, *segs):
→ 436 channels = max(seg.channels for seg in segs)
437 frame_rate = max(seg.frame_rate for seg in segs)
438 sample_width = max(seg.sample_width for seg in segs)

AttributeError: ‘list’ object has no attribute 'channels’*

And I do not understand what is wrong with my code here

background should be an instance of AudioSegment:

for background in backgrounds:
    print(type(background))

<class 'pydub.audio_segment.AudioSegment'>
<class 'pydub.audio_segment.AudioSegment'>

I suspect the error may be in your insert_audio_clip() or is_overlapping() functions.

I checked the other functions but I do not see any mistake (and all test passed)
when I print(type(background)) I get the correct class:

  • <class ‘pydub.audio_segment.AudioSegment’>

SoI still have no idea were my code is buggy

Okay now I found my bug I typed
insert_audio_clip(background, random_activates, previous_segments)
instead of
insert_audio_clip(background, random_activate, previous_segments)

@Peter_Grabner, I’ve submitted a ticket to change the notebook so the two variable names aren’t so similar. Time spent finding that bug could have been spent on learning something useful instead.